Bug 1298251

Summary: Review Request: shrinkpdf - Simple wrapper around Ghostscript to shrink PDFs
Product: [Fedora] Fedora Reporter: Raphael Groner <projects.rg>
Component: Package ReviewAssignee: Petr Pisar <ppisar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: package-review, ppisar
Target Milestone: ---Flags: ppisar: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: Trivial
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-15 02:53:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Raphael Groner 2016-01-13 15:29:46 UTC
Spec URL: https://raphgro.fedorapeople.org/review/util/shrinkpdf.spec
SRPM URL: https://raphgro.fedorapeople.org/review/util/shrinkpdf-0-1.fc23.src.rpm
Description: Simple wrapper around Ghostscript to shrink PDFs
Fedora Account System Username: raphgro

Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=12534764

Comment 1 Upstream Release Monitoring 2016-01-13 15:31:17 UTC
raphgro's scratch build of shrinkpdf-0-1.fc23.src.rpm for rawhide completed http://koji.fedoraproject.org/koji/taskinfo?taskID=12534764

Comment 2 Petr Pisar 2016-02-02 15:37:03 UTC
URL and Source0 links are usable. Ok.
Source is original (SHA-256: d68561bd674847d6b73961af571adf5720c9b525720afc399c3f7324d7af638f). Ok.
The summary is Ok.

TODO: I would improve the description a little bit. I would spell "filesize" as two words "file size". I think the second sentence "Inspired by some code found in an OpenOffice Python script (I think)" is irrelevant and I would remove it. Also I think "72dpi" is spelled wrongly. I'd write it as "72 DPI".

License verified from shrinkpdf.sh. Ok.
No compiled code. noarch BuildArch is Ok.

FIX: Run-require "coreutils" because the script executes "cp", "wc", and "cut" programs.

FIX: Build-require "coreutils" (shrinkpdf.spec:30).

$ rpmlint shrinkpdf.spec ../SRPMS/shrinkpdf-0-1.fc24.src.rpm ../RPMS/noarch/shrinkpdf-0-1.fc24.noarch.rpm 
shrinkpdf.src: W: spelling-error %description -l en_US filesize -> file size, file-size, fissile
shrinkpdf.src: W: spelling-error %description -l en_US lossy -> loss, glossy, flossy
shrinkpdf.src: W: spelling-error %description -l en_US recompression -> decompression, re compression, re-compression
shrinkpdf.src: W: spelling-error %description -l en_US downsampling -> down sampling, down-sampling, oversampling
shrinkpdf.noarch: W: spelling-error %description -l en_US filesize -> file size, file-size, fissile
shrinkpdf.noarch: W: spelling-error %description -l en_US lossy -> loss, glossy, flossy
shrinkpdf.noarch: W: spelling-error %description -l en_US recompression -> decompression, re compression, re-compression
shrinkpdf.noarch: W: spelling-error %description -l en_US downsampling -> down sampling, down-sampling, oversampling
shrinkpdf.noarch: W: no-documentation
shrinkpdf.noarch: W: no-manual-page-for-binary shrinkpdf
2 packages and 1 specfiles checked; 0 errors, 10 warnings.

FIX: Correct the "filesize" spelling.

$ rpm -q -lv -p ../RPMS/noarch/shrinkpdf-0-1.fc24.noarch.rpm 
-rwxr-xr-x    1 root    root                     2979 Feb  2 16:17 /usr/bin/shrinkpdf
File permission and layout is Ok.

$ rpm -q --requires -p ../RPMS/noarch/shrinkpdf-0-1.fc24.noarch.rpm | sort -f | uniq -c
      1 /bin/sh
      1 ghostscript-core
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsXz) <= 5.2-1
FIX: Run-require "coreutils".

$ rpm -q --provides -p ../RPMS/noarch/shrinkpdf-0-1.fc24.noarch.rpm | sort -f | uniq -c
      1 shrinkpdf = 0-1.fc24
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/noarch/shrinkpdf-0-1.fc24.noarch.rpm 
Binary dependencies resolvable. Ok.

Package builds in F24 (http://koji.fedoraproject.org/koji/taskinfo?taskID=12788562). Ok.

Otherwise the package is in line with Fedora packaging guidelines.

Please correct all `FIX' items, consider fixing `TODO' items, and provide a new 
spec file.
Resolution: Package NOT approved.

Comment 3 Raphael Groner 2016-02-02 21:01:37 UTC
Hi Petr,

thanks for your hints. I do not see any blockers. Please approve the package.

Spelling errors
They do not harm with packaging in general, therefore marked as warnings.

coreutils
That package can be assumed to be installed in every working system. Otherwise, we would have to add iit as dependency to every other packages as well. It's always present in a fresh mock build environment and so also on koji.

Comment 4 Petr Pisar 2016-02-03 10:03:19 UTC
(In reply to Raphael Groner from comment #3)
> thanks for your hints. I do not see any blockers. Please approve the package.
> 
Good package is also mark of the reviewer and I will no pass package with these simple to fix mistakes. Please correct the issues I marked as `FIX' and then I will approve this package.

> Spelling errors
> They do not harm with packaging in general, therefore marked as warnings.
>
Though if spotted they should be fixed. Especially the "filesize" is not an English word.
 
> coreutils
> That package can be assumed to be installed in every working system.
> Otherwise, we would have to add iit as dependency to every other packages as
> well. It's always present in a fresh mock build environment and so also on
> koji.

We have to add it to every package that needs it. <https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#BuildRequires_2>. There is no exceptions list anymore.

Comment 5 Raphael Groner 2016-02-03 10:59:27 UTC
Fixed. Links are the same for SPEC and SRPM.

Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=12800827

Comment 6 Upstream Release Monitoring 2016-02-03 11:00:23 UTC
raphgro's scratch build of shrinkpdf-0-1.fc23.src.rpm for rawhide completed http://koji.fedoraproject.org/koji/taskinfo?taskID=12800827

Comment 7 Petr Pisar 2016-02-03 13:44:39 UTC
Spec file changes:

$ diff -u shrinkpdf.spec{.old,}
--- shrinkpdf.spec.old  2016-01-13 16:29:09.000000000 +0100
+++ shrinkpdf.spec      2016-02-03 11:58:37.000000000 +0100
@@ -12,13 +12,13 @@
 BuildArch:      noarch

 Requires:       ghostscript-core
+Requires:       coreutils

 %description
 A simple wrapper around Ghostscript to shrink PDFs (as in reduce
-filesize) under Linux. Inspired by some code found in an OpenOffice
-Python script (I think). The script feeds a PDF through Ghostscript,
-which performs lossy recompression by such methods as downsampling
-the images to 72dpi. The result should be (but not always is) a much
+file size) under Linux. The script feeds a PDF through Ghostscript,
+which performs lossy recompression by such methods own as downsampling
+the images to 72 DPI. The result should be (but not always is) a much
 smaller file.


> TODO: I would improve the description a little bit. I would spell "filesize"
> as two words "file size". I think the second sentence "Inspired by some code
> found in an OpenOffice Python script (I think)" is irrelevant and I would
> remove it. Also I think "72dpi" is spelled wrongly. I'd write it as "72 DPI".

TODO: I think an "own" word slipped into your text this time.

> FIX: Build-require "coreutils" (shrinkpdf.spec:30).
Not addressed. Please add the build-require.

> FIX: Run-require "coreutils" because the script executes "cp", "wc", and
> "cut" programs.
$ rpm -q --requires -p ../RPMS/noarch/shrinkpdf-0-1.fc24.noarch.rpm | sort -f | uniq -c
      1 /bin/sh
      1 coreutils
      1 ghostscript-core
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsXz) <= 5.2-1
Binary requires are Ok.

Package builds in F24 (http://koji.fedoraproject.org/koji/taskinfo?taskID=12802729). Ok.

Please add build-dependency on coreutils before building the package.
Resolution: Package APPROVED.

Comment 8 Raphael Groner 2016-02-03 15:40:51 UTC
(In reply to Petr Pisar from comment #7)
> > FIX: Build-require "coreutils" (shrinkpdf.spec:30).
> Not addressed. Please add the build-require.

No. As bash (and mock installing bash, see below) depends on coreutils' functionality and rpm package depends on it, we can guess a functional build environment when rpm is installed by rpmbuild.
https://lists.fedoraproject.org/pipermail/devel/2015-June/211423.html


Thanks for the review!

Comment 9 Gwyn Ciesla 2016-02-03 17:44:01 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/shrinkpdf

Comment 10 Fedora Update System 2016-02-03 21:03:16 UTC
shrinkpdf-0-1.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-98f34222a4

Comment 11 Fedora Update System 2016-02-05 01:24:28 UTC
shrinkpdf-0-1.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-98f34222a4

Comment 12 Fedora Update System 2016-02-15 02:53:44 UTC
shrinkpdf-0-1.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.