Bug 1249287 - Uneeded dependency of tcsh
Summary: Uneeded dependency of tcsh
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: dt
Version: 22
Hardware: x86_64
OS: Linux
low
low
Target Milestone: ---
Assignee: Ondrej Kozina
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-08-01 09:59 UTC by Sitsofe Wheeler
Modified: 2016-03-01 05:22 UTC (History)
3 users (show)

Fixed In Version: dt-18.32-3.fc22
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-02-29 22:22:05 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Sitsofe Wheeler 2015-08-01 09:59:03 UTC
Description of problem:
The dt has an unneeded dependency of tcsh because of example scripts.

Version-Release number of selected component (if applicable):
dt-18.32-1.fc22.x86_64

How reproducible:
Reproducible every time.

Steps to Reproduce:
1. Run
rpm -q --requires dt
2. Run
find /usr/share/dt | /usr/lib/rpm/find-requires

Actual results:
For 1.
/bin/csh
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
librt.so.1()(64bit)
librt.so.1(GLIBC_2.2.5)(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
rtld(GNU_HASH)

For 2.

/bin/csh

Expected results:
No /bin/csh line in either step.

Additional info:
Poking around it looks like files like /usr/share/dt/dt[atfrwcs] are what are triggering the automatic dependency. Could the output of the automatic dep find be adjusted to filter out /bin/csh ?

Comment 1 Ondrej Kozina 2015-08-03 07:11:54 UTC
Let's see if I can find a way how to bend the .spec file to not to add such dependency.

Comment 2 Sitsofe Wheeler 2015-08-03 17:47:48 UTC
I been thinking about this too. I'm taking a look at https://fedoraproject.org/wiki/PackagingDrafts/FilteringAutomaticDependencies and will post somehting if you don't get there first :-)

Comment 3 Sitsofe Wheeler 2015-08-03 18:11:47 UTC
How about this:

--- SPECS/dt.spec.old	2014-09-24 16:21:31.000000000 +0000
+++ SPECS/dt.spec	2015-08-03 18:08:44.150253653 +0000
@@ -34,6 +34,7 @@
 Available documentation is located in %{_defaultdocdir}/%{name}. Sample
 scripts and config data are installed in %{_datadir}/%{name}.
 
+%global __requires_exclude_from ^%{_datadir}/%{name}/.*$
 %prep
 %setup -q -n dt.v%{version}
 %patch0 -p1

(From http://www.rpm.org/wiki/PackagerDocs/DependencyGenerator )

Comment 4 Fedora Update System 2015-08-19 10:27:00 UTC
dt-18.32-3.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/dt-18.32-3.fc22

Comment 5 Ondrej Kozina 2015-08-19 10:28:22 UTC
Hi Sitsofe, I applied your patch. Thanks!

Comment 6 Sitsofe Wheeler 2015-08-20 05:40:53 UTC
Hi Ondrej!

After you applied this patch I started revisiting this issue.

First up I got the recommended location of __requires_exclude_from wrong. Apparently it should go "before %description, but after any other definitions" (https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering#Location_of_macro_invocation ).

Next I took a look at how git coped with this. Over in Bug #492490#c2 they talk about how they ship a lot of contributor scripts but strip off their execute permission so RPM doesn't search those files for dependencies. If only someone had mentioned that this might be another plan on the packaging wiki pages...

Finally I've now come to realise there's a lot more in the Scripts directory than the dt? scripts shipped (butterfly.ksh and DiskTests.ksh look useful) - does it make sense to ship more? If so should they be moved to /usr/share/doc/dt ? Doing a quick
locate /usr/share/\*.*sh | sort
shows some packages (git, socat, bash) shove example scripts in /usr/share/doc whereas other (git-core, vlc) put them in /usr/share/<package>/ .

Comment 7 Fedora Update System 2015-08-22 02:51:53 UTC
dt-18.32-3.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update dt'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/dt-18.32-3.fc22

Comment 8 Sitsofe Wheeler 2016-02-17 13:36:58 UTC
Could this be pushed to the main repository - I posted anonymous on bodhi...

Comment 9 Ondrej Kozina 2016-02-29 13:31:25 UTC
Hi Sitsofe, so I somehow messed with my notifications setting and didn't receive the message about it being eligible for stable. I'll look into it:( Also I'll revisit the patch for other Fedoras 23+ but will push it in f22 in current version.

Comment 10 Fedora Update System 2016-02-29 22:22:01 UTC
dt-18.32-3.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.

Comment 11 Sitsofe Wheeler 2016-03-01 05:22:39 UTC
Thanks Ondrej!


Note You need to log in before you can comment on or make changes to this bug.