Fedora Merge Review: psutils http://cvs.fedora.redhat.com/viewcvs/devel/psutils/ Initial Owner: mbacovsk
1) use macros. replace /usr/bin with %{_bindir}and /usr/lib with %{_libdir} 2)you can even write defattr as defattr(-,root,root,-) 3)buildroot is wrong make it similar to given at http://fedoraproject.org/wiki/Packaging/Guidelines#head-b4fdd45fa76cbf54c885ef0836361319ab962473 4)rpmlint gave me psutils.i386: E: tag-not-utf8 %changelog psutils.i386: W: invalid-license distributable psutils.i386: W: no-url-tag psutils.i386: E: only-non-binary-in-usr-lib psutils.src: E: non-utf8-spec-file /tmp/psutils-1.17-27.fc9.src.rpm.4019/psutils.spec psutils.src:48: E: hardcoded-library-path in /usr/lib/psutils psutils.src:141: W: macro-in-%changelog attr psutils.src: E: tag-not-utf8 %changelog psutils.src: W: invalid-license distributable psutils.src: W: no-url-tag
Created attachment 291696 [details] Modified SPEC Only you need to add correct License tag here which I think is "Freely redistributable without restriction"
I found out this bug is waiting on me. Since I'm no longer maintainer of psutils, I changed the needinfo requestee to the current one.
few initial notes: - I've found the homepage at http://www.tardis.ed.ac.uk/~ajcd/psutils/ and downloadable archive as ftp://ftp.knackered.org/pub/psutils/psutils-p17.tar.gz, so the URL and Source tags can be filled - I see a licensing problem with the md??_0.ps files that should be copyrighted by Apple per the author The spec file looks good overall.
OK, the "URL" and "Source" links can be added. About the licensing problem: I e-mailed the author of the package, whether he has some more information about this. The files are used in "fixmacps" utility, which fixes PostScript files generated on Mac computers. If the license will still be a problem, we will have to exclude this utility and these two files from the package. p.s. I have uploaded http://people.fedoraproject.org/~dnovotny/f/psutils.spec with the latest changes (currently added "URL" and "Source")
(In reply to comment #5) > OK, the "URL" and "Source" links can be added. > > About the licensing problem: I e-mailed the author of the package, whether he > has some more information about this. The files are used in "fixmacps" utility, > which fixes PostScript files generated on Mac computers. > > If the license will still be a problem, we will have to exclude this utility > and these two files from the package. Only Fedora Legal can give the definitive answer, but in my opinion we are not allowed to distribute such files and they have to removed even from the source archive.
Best guess is that these postscript files were taken from LaserPrep prologs (see: http://www.cam.ctan.org/tex-archive/graphics/psfig/unsupported/macdemo/). Either way, we don't have permission to redistribute them. They need to be removed, even from the source archive. This should not be a problem, because only very old versions of Mac OS have problems with generating proper files (it was literally solved almost 20 years ago), and there should be almost no files which need this specific utility anymore. Keeping FE-Legal in place until these files are removed.
Created attachment 386836 [details] a script to remove the copyrighted files from the tarball This script can be used to turn the original upstream tarball into a "copyright-safe" version. The makefile needs to be patched for the build process to work without the files, I will attach the patch too.
Created attachment 386837 [details] patch for the Makefile a patch for the Makefile to work with the copyright-safe tarball I will include the files in the srpm and make a new build with this change
built psutils-1.17-34.fc13 with these changes http://koji.fedoraproject.org/koji/taskinfo?taskID=1945834 spec is on http://people.fedoraproject.org/~dnovotny/f/psutils.spec
Daniel, it would be better if your script renamed the tarball to be something like: psutils-p17-clean.tar.gz As it is, your Source line implies that it is using the upstream tarball, which is not correct. I would change it like this: # We cannot use the upstream tarball because it contains non-free files. # To generate a clean tarball, run the psutils-remove-copyrighted-files script. # Source: ftp://ftp.knackered.org/pub/psutils/psutils-p17.tar.gz Source0: psutils-p17-clean.tar.gz
With that said, the files are no longer present in the rawhide SRPM, so I'm lifting FE-Legal here.
(In reply to comment #11): OK, made this change in rawhide http://koji.fedoraproject.org/koji/taskinfo?taskID=2131737 spec is on http://people.fedoraproject.org/~dnovotny/f/psutils.spec
before we close this old merge review, I think there are 2 issues that should be resolved: - you should use the wildcard style for man pages in %files, instead of %{_mandir}/man1/epsffit.1.gz use %{_mandir}/man1/epsffit.1*, the compression is done by rpmbuild itself and when the algorithm changes, the spec file won't require a change - I don't think is is necessary to hard Require: perl in the perl subpackage, perl (the interpreter) will be brought in with the automagically added dependencies
Some remarks from the perspective of a perl-packager: * These 2 "#!/usr/bin/env perl" need to be replaced with %{__perl} (/usr/bin/perl) in %prep or %build: psutils-1.23/extractres:#!/usr/bin/env perl psutils-1.23/psjoin:#!/usr/bin/env perl * These BRs: are missing: BR: perl(File::Basename) BR: perl(Getopt::Long) BR: perl(strict) BR: perl(warnings)
Another remark: What is the reason for the the -*perl vs. <main> split? /usr/bin/psjoin is a perl-script and is part of the <main> package, and is not part of the *-perl sub-package. It's at least one reason for the main package to pull-in perl and several perl modules, which means having a *-perl subpackage is rather pointless dependency-wise: # rpm -q --requires -p results_psutils/1.23/2.fc21/psutils-1.23-2.fc21.x86_64.rpm ... perl(Getopt::Long) perl(strict) perl(warnings) ... # rpm -q --requires -p results_psutils/1.23/2.fc21/psutils- ... perl-1.23-2.fc21.noarch.rpm /usr/bin/env perl perl(File::Basename) perl(Getopt::Long) perl(strict) perl(warnings) ...
If I had to guess, I'd say someone was trying to make a package split to minimize dependency footprint in the default install. They clearly didn't achieve it though or they did at one point and perl crept back in.
(In reply to Tom "spot" Callaway from comment #17) > If I had to guess, I'd say someone was trying to make a package split to > minimize dependency footprint in the default install. Yep, seems so: commit bd352b89ba9c6872eba5afa83fa21fe1c0ce6039 Author: Adam Jackson <ajax> Date: Wed Jul 22 19:11:59 2009 +0000 - Split perl scripts to a subpackage. > They clearly didn't > achieve it though or they did at one point and perl crept back in. Apparently the latter. psjoin was added by this commit, which causes perl to creep-in: commit d3e42a7fc02b8777678f0f9bd0fa8697e6479908 Author: Jiri Popelka <jpopelka> Date: Tue Oct 22 17:17:04 2013 +0200 new upstream (version 1.21) IMO, this split contradicts end-user usability and therefore should be dropped.
Created attachment 884104 [details] Proposed packaging fixes OK to apply this patch? I intend to apply it unless the nominal maintainer objects within the next 24 hours. It is supposed to fix the perl-related and hardcoded man/*.gz issues, but for now leaves the package-split issue alone.
(In reply to Ralf Corsepius from comment #19) > OK to apply this patch? I intend to apply it unless the nominal maintainer > objects within the next 24 hours. No response, patch applied to rawhide, now: http://koji.fedoraproject.org/koji/taskinfo?taskID=6723014 Still an open issue: The dysfunctional *-perl split.
Trying to get the current maintainer involved. I just realized, this package seems to have changed maintainer, with this bug apparently not having been reassigned to the current maintainer. Jiri, please respond to the dysfunctional *-perl split.
(In reply to Ralf Corsepius from comment #18) > psjoin was added by this commit, which causes perl to creep-in: > Author: Jiri Popelka > new upstream (version 1.21) Yes, putting psjoin in main package has been my mistake, which should be fixed with http://pkgs.fedoraproject.org/cgit/psutils.git/commit/?id=0b49e8d7f49a4e56115c8a44f26a9fd319266857 > IMO, this split contradicts end-user usability and therefore should be > dropped. No idea why ajax made that split, so I'll leave it as it is for now.
Mass reassigning all merge reviews to their component. For more details, see this FESCO ticket: https://fedorahosted.org/fesco/ticket/1269 If you don't know what merge reviews are about, please see: https://fedoraproject.org/wiki/Merge_Reviews How to handle this bug is left to the discretion of the package maintainer.
IFAICT the only leftover problem here was that psutils main package was requiring perl, which should be fixed now, so I'm closing this BZ. # rpm -q --requires psutils | grep perl # <nothing>