Bug 834551

Summary: Review Request: poppler-sharp C sharp Bindings for Poppler
Product: [Fedora] Fedora Reporter: Ismael Olea <ismael>
Component: Package ReviewAssignee: Mario Blättermann <mario.blaettermann>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: claudiorodrigo, htl10, mail, mario.blaettermann, notting, package-review
Target Milestone: ---Flags: mario.blaettermann: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-07-19 10:24:51 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:
Bug Depends On:    
Bug Blocks: 834552    

Description Ismael Olea 2012-06-22 11:24:13 UTC
Spec URL: http://olea.org/tmp/pdfmod/poppler-sharp.spec
SRPM URL: http://olea.org/tmp/pdfmod/poppler-sharp-0.0.3-1.fc17.src.rpm
Description: Generates managed bindings for Poppler using the GAPI tools

Fedora Account System Username: olea

Comment 1 Ismael Olea 2012-06-22 11:26:57 UTC
*** Bug 607405 has been marked as a duplicate of this bug. ***

Comment 2 Fabian Affolter 2012-06-30 11:57:06 UTC
rpmlint says:

[fab@laptop11 SRPMS]$ rpmlint poppler-sharp-0.0.3-1.fc17.src.rpm 
poppler-sharp.src: I: enchant-dictionary-not-found es
poppler-sharp.src:56: W: libdir-macro-in-noarch-package (main package) %{_libdir}/%{name}/%{name}.dll*
poppler-sharp.src:60: W: libdir-macro-in-noarch-package devel %{_libdir}/pkgconfig/%{name}.pc
poppler-sharp.src:10: W: mixed-use-of-spaces-and-tabs (spaces: line 10, tab: line 1)
1 packages and 0 specfiles checked; 0 errors, 3 warnings.

Comment 3 Ismael Olea 2012-07-03 10:35:29 UTC
(In reply to comment #2)
> rpmlint says:
> 
> [fab@laptop11 SRPMS]$ rpmlint poppler-sharp-0.0.3-1.fc17.src.rpm 
> poppler-sharp.src: I: enchant-dictionary-not-found es
> poppler-sharp.src:56: W: libdir-macro-in-noarch-package (main package)
> %{_libdir}/%{name}/%{name}.dll*
> poppler-sharp.src:60: W: libdir-macro-in-noarch-package devel
> %{_libdir}/pkgconfig/%{name}.pc

These can be disregarded acording to https://fedoraproject.org/wiki/Packaging/Mono#rpmlint_and_mono_packages

Comment 4 Mario Blättermann 2012-07-08 16:50:15 UTC
Koji scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4225537

$ rpmlint -i -v *
poppler-sharp.noarch: I: checking
poppler-sharp.noarch: I: enchant-dictionary-not-found es

poppler-sharp.noarch: W: incoherent-version-in-changelog 0.0.2-2 ['0.0.3-1.fc17', '0.0.3-1']
The latest entry in %changelog contains a version identifier that is not
coherent with the epoch:version-release tuple of the package.

>That's not right. Rpmlint cannot detect this correctly, because former versions of this package doesn't use the %{dist} macro. But please add your full name to the changelog entry.

poppler-sharp.noarch: I: checking-url http://www.github.com/jacintos/poppler-sharp (timeout 10 seconds)
poppler-sharp.noarch: W: only-non-binary-in-usr-lib
There are only non binary files in /usr/lib so they should be in /usr/share.

>Ignorable, it's a Mono package.

poppler-sharp.src: I: checking
poppler-sharp.src: I: checking-url http://www.github.com/jacintos/poppler-sharp (timeout 10 seconds)
poppler-sharp.src:56: W: libdir-macro-in-noarch-package (main package) %{_libdir}/%{name}/%{name}.dll*
The %{_libdir} or %{_lib} macro was found in a noarch package in a section
that gets included in binary packages.  This is most likely an error because
these macros are expanded on the build host and their values vary between
architectures, probably resulting in a package that does not work properly on
all architectures at runtime. Investigate whether the package is really
architecture independent or if some other dir/macro should be instead.

poppler-sharp.src:60: W: libdir-macro-in-noarch-package devel %{_libdir}/pkgconfig/%{name}.pc
The %{_libdir} or %{_lib} macro was found in a noarch package in a section
that gets included in binary packages.  This is most likely an error because
these macros are expanded on the build host and their values vary between
architectures, probably resulting in a package that does not work properly on
all architectures at runtime. Investigate whether the package is really
architecture independent or if some other dir/macro should be instead.

>Also ignorable, according to your link to the exception from the guidelines.

poppler-sharp.src:10: W: mixed-use-of-spaces-and-tabs (spaces: line 10, tab: line 1)
The specfile mixes use of spaces and tabs for indentation, which is a cosmetic
annoyance.  Use either spaces or tabs for indentation, not both.

>Would be better to use spaces generally. Please fix that to make rpmlint somewhat happier.

poppler-sharp.src: I: checking-url http://github.com/downloads/jacintos/poppler-sharp/poppler-sharp-0.0.3.tar.gz (timeout 10 seconds)
poppler-sharp-devel.noarch: I: checking
poppler-sharp-devel.noarch: I: checking-url http://www.github.com/jacintos/poppler-sharp (timeout 10 seconds)
poppler-sharp-devel.noarch: W: no-documentation
The package contains no documentation (README, doc, etc). You have to include
documentation files.

>No. There's no other documentation than the license declaration itself. It's not your task to write docs.

poppler-sharp.spec:51: W: libdir-macro-in-noarch-package (main package) %{_libdir}/%{name}/%{name}.dll*
The %{_libdir} or %{_lib} macro was found in a noarch package in a section
that gets included in binary packages.  This is most likely an error because
these macros are expanded on the build host and their values vary between
architectures, probably resulting in a package that does not work properly on
all architectures at runtime. Investigate whether the package is really
architecture independent or if some other dir/macro should be instead.

poppler-sharp.spec:54: W: libdir-macro-in-noarch-package devel %{_libdir}/pkgconfig/%{name}.pc
The %{_libdir} or %{_lib} macro was found in a noarch package in a section
that gets included in binary packages.  This is most likely an error because
these macros are expanded on the build host and their values vary between
architectures, probably resulting in a package that does not work properly on
all architectures at runtime. Investigate whether the package is really
architecture independent or if some other dir/macro should be instead.

>See above.

poppler-sharp.spec: I: checking-url http://github.com/downloads/jacintos/poppler-sharp/poppler-sharp-0.0.3.tar.gz (timeout 10 seconds)
3 packages and 1 specfiles checked; 0 errors, 8 warnings.



After you have fixed the issues (spaces/tabs and your name in changelog) I will do a full review.

Comment 6 Mario Blättermann 2012-07-08 18:09:55 UTC
New scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4225825

Rpmlint is quiet enough now to recognize it as silent.


---------------------------------
key:

[+] OK
[.] OK, not applicable
[X] needs work
---------------------------------

[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}.
[+] MUST: The package must meet the Packaging Guidelines.
[+] MUST: The package must be licensed with a Fedora approved license.
    GPLv2+
[+] MUST: The License field in the package spec file must match the actual
license.
[+] MUST: The file containing the text of the license(s) for the package must
be included in %doc.
[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source.
    $ md5sum *
    9baa914b36e3275f2821bfbc571a221f  poppler-sharp-0.0.3.tar.gz
    9baa914b36e3275f2821bfbc571a221f  poppler-sharp-0.0.3.tar.gz.packaged

[+] MUST: The package MUST successfully compile and build into binary rpms on
at least one primary architecture.
- See Koji build above.
[.] MUST: If the package does not successfully compile, build or work on an
architecture, ...
[+] MUST: All build dependencies must be listed in BuildRequires.
[.] MUST: The spec file MUST handle locales properly.
[.] MUST: If a package installs files below %{_datadir}/icons, the icon cache
must be updated.
[.] MUST: Packages storing shared library files (not just symlinks) must call
ldconfig in %post and %postun.
[.] MUST: Packages must NOT bundle copies of system libraries.
[.] MUST: If the package is designed to be relocatable, ...
[+] MUST: A package must own all directories that it creates. 
[+] MUST: A Fedora package must not list a file more than once in %files.
[+] MUST: Permissions on files must be set properly.
[+] MUST: Packages must not provide RPM dependency information when that
information is not global in nature, or are otherwise handled.
[.] MUST: When filtering automatically generated RPM dependency information,
the filtering system implemented by Fedora must be used.
[+] MUST: Each package must consistently use macros.
[+] MUST: The package must contain code, or permissable content.
[.] MUST: Large documentation files must go in a -doc subpackage.
[+] MUST: Files in %doc must not affect the runtime of the application.
[.] MUST: Header files must be in a -devel package.
[.] MUST: Static libraries must be in a -static package.
[.] MUST: If a package contains library files with a suffix (e.g.
libfoo.so.1.1), ...
[+] MUST: devel packages must require the base package using a fully versioned
dependency.
[.] MUST: Packages must NOT contain any .la libtool archives.
[+] MUST: Packages containing GUI applications must include a %{name}.desktop
file
[.] MUST: .desktop files must be properly installed with desktop-file-install
in the %install section.
[+] MUST: Packages must not own files or directories already owned by other
packages.
[+] MUST: All filenames in rpm packages must be valid UTF-8.

[.] SHOULD: If the source package does not include license text(s) as a
    separate file from upstream, the packager SHOULD query upstream...

[+] SHOULD: Timestamps of files should be preserved.
[+] SHOULD: The reviewer should test that the package builds in mock.
    See Koji build above (which uses mock anyway)
[+] SHOULD: The reviewer should test that the package functions as described.
    Unable to test it currently. Once pdfmod is approved, I will do this.

[+] SHOULD: If scriptlets are used, those scriptlets must be sane.
[.] SHOULD: Usually, subpackages other than devel should require the base
package using a fully versioned dependency.
[.] SHOULD: pkgconfig(.pc) files should be placed in a -devel pkg.
[.] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin,
/usr/bin, or /usr/sbin ...
[.] SHOULD: Your package should contain man pages for binaries/scripts.

--------------------------------------

PACKAGE APPROVED

--------------------------------------

Comment 7 Ismael Olea 2012-07-08 18:21:07 UTC
thanks!

Comment 8 Ismael Olea 2012-07-08 18:22:14 UTC
New Package SCM Request
=======================
Package Name: poppler-sharp
Short Description: C sharp Bindings for Poppler
Owners: olea
Branches: devel f17 f16
InitialCC:

Comment 9 Kevin Fenzi 2012-07-10 22:39:56 UTC
Git done (by process-git-requests).