Spec URL: http://fedorapeople.org/~saispo/osc.spec SRPM URL: http://fedorapeople.org/~saispo/osc-0.132.0-1.fc15.src.rpm Description: Hi ! I just finished packaging up yolk, and i would appreciate a review so that i can get it into Fedora ! osc is a commandline client for the openSUSE Build Service. See http://en.opensuse.org/openSUSE:OSC , as well as http://en.opensuse.org/openSUSE:Build_Service_Tutorial for a general introduction.
osc (python noarch package) MUST: rpmlint must be run on src.rpm and rpm. KO $ rpmlint -iv /home/haikel/rpmbuild/SRPMS/osc-0.132.0-1.fc14.src.rpm osc.src: I: checking osc.src: W: spelling-error Summary(en_US) openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.src: W: summary-not-capitalized C openSUSE Build Service Commander Summary doesn't begin with a capital letter. osc.src: W: spelling-error %description -l en_US Commandline -> Command line, Command-line, Commanding The value of this tag appears to be misspelled. Please double-check. osc.src: W: spelling-error %description -l en_US openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.src: I: checking-url http://www.gitorious.org/opensuse/osc (timeout 10 seconds) osc.src:62: W: libdir-macro-in-noarch-package (main package) %dir %{_prefix}/%{_lib}/osc 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. osc.src:63: W: libdir-macro-in-noarch-package (main package) %{_prefix}/%{_lib}/osc/complete 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. osc.src:15: W: mixed-use-of-spaces-and-tabs (spaces: line 6, tab: line 15) The specfile mixes use of spaces and tabs for indentation, which is a cosmetic annoyance. Use either spaces or tabs for indentation, not both. osc.src: W: invalid-url Source0: osc-0.132.0.tar.gz The value should be a valid, public HTTP, HTTPS, or FTP URL. 1 packages and 0 specfiles checked; 0 errors, 8 warnings. $ rpmlint -iv /home/haikel/rpmbuild/RPMS/noarch/osc-0.132.0-1.fc14.noarch.rpm osc.noarch: I: checking osc.noarch: W: spelling-error Summary(en_US) openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.noarch: W: summary-not-capitalized C openSUSE Build Service Commander Summary doesn't begin with a capital letter. osc.noarch: W: spelling-error %description -l en_US Commandline -> Command line, Command-line, Commanding The value of this tag appears to be misspelled. Please double-check. osc.noarch: W: spelling-error %description -l en_US openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.noarch: I: checking-url http://www.gitorious.org/opensuse/osc (timeout 10 seconds) osc.noarch: W: no-manual-page-for-binary osc-wrapper.py Each executable in standard binary directories should have a man page. osc.noarch: W: no-manual-page-for-binary osc_hotshot.py Each executable in standard binary directories should have a man page. 1 packages and 0 specfiles checked; 0 errors, 6 warnings. ==> Must be fixed: * summary warning * libdir-macro-in-noarch-package: since complete is a shell script, it should be installed in %{_prefix}/lib * mixed-use-of-spaces-and-tabs * how did you generate the tarball ? did you download it from somewhere, did you rename gitorious generated tarball ? MUST: package named accordingly to package naming guidelines. OK osc is mostly a command-line tool and does not provide a module usable by third-party. MUST: spec file name match %{name}. OK MUST: package meets packaging guidelines. MUST: package must be licensed under a fedora-compliant license. OK (GPLv2+) MUST: license field in package spec match actual license. OK MUST: spec is in legible american english. OK MUST sources provided match upstream's. KO provided sources sha1sum: 6264436693397fca89d517f34c4ed737223f3b78 upstream sources sha1sum: 70ef54c03310ff1fca37e048467f0b3f5c20f604 MUST: package successfully compiles on at least one primary architecture (all of them). OK MUST: all build dependencies are listed in BR (mock compliant). OK MUST: package must own all directories it creates. OK MUST: package does not list a file more than once in %files section. OK MUST: permissions are properly set. OK MUST: package consistenly use macros. OK MUST: package contains permissable content. OK MUST: package does not own directories owned by other packages. OK MUST: all filenames in package are valid UTF-8 (fixed by the reviewee in current spec). OK SHOULD: mock builds were done for fedora 14/15/devel on all primary architectures (x86/x86_64) OK SHOULD: the module provided works) OK SHOULD: man pages are provided (warnings about them are here irrelevant). Remarks: a quick grep about import show me that you should add at least the following R: * python-lxml * python-urlgrabber * fuse-python I don't understand the touch in %prep right after the encoding fixup, if it's useless, just remove it. If all points mentionned above are fixed, it has good chances to be approved quickly.
I upload a new spec with this correction : - Update to 0.132.1 - Fix tab/space in SPEC file - Add comment and command for tarball creation - Fix libdir-macro-in-noarch-package - Add missing Requires: * python-lxml * python-urlgrabber * fuse-python Spec URL : http://fedorapeople.org/~saispo/osc.spec SRPMS URL : http://fedorapeople.org/~saispo/osc-0.132.1-1.fc15.src.rpm
* i generated a tarball following your instructions in spec, the checksum still differs but i didn't find any difference using diff $ sha1sum generated/osc-132.1.tar.gz 2a1069b422292141740a4d0ba839a3bd9e6ec6c8 $ sha1sum osc-0.132.1.tar.gz ae399f2aeb9108ab5b998731f3473362f2153cd7 $ diff -Naur generated/osc-0.132.1 osc-0.132.1/ <no output> * rpmlint $ rpmlint -iv osc-0.132.1-1.fc15.src.rpm osc.src: I: checking osc.src: W: spelling-error Summary(en_US) openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.src: W: spelling-error %description -l en_US Commandline -> Command line, Command-line, Commanding The value of this tag appears to be misspelled. Please double-check. osc.src: W: spelling-error %description -l en_US openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.src: I: checking-url http://www.gitorious.org/opensuse/osc (timeout 10 seconds) osc.src:65: W: libdir-macro-in-noarch-package (main package) %{_libdir}/osc/complete 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. osc.src: W: invalid-url Source0: osc-0.132.1.tar.gz The value should be a valid, public HTTP, HTTPS, or FTP URL. 1 packages and 0 specfiles checked; 0 errors, 5 warnings. $ rpmlint -iv /home/haikel/rpmbuild/RPMS/noarch/osc-0.132.1-1.fc15.noarch.rpm osc.noarch: I: checking osc.noarch: W: spelling-error Summary(en_US) openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.noarch: W: spelling-error %description -l en_US Commandline -> Command line, Command-line, Commanding The value of this tag appears to be misspelled. Please double-check. osc.noarch: W: spelling-error %description -l en_US openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.noarch: I: checking-url http://www.gitorious.org/opensuse/osc (timeout 10 seconds) osc.noarch: W: no-manual-page-for-binary osc-wrapper.py Each executable in standard binary directories should have a man page. osc.noarch: W: no-manual-page-for-binary osc_hotshot.py Each executable in standard binary directories should have a man page. 1 packages and 0 specfiles checked; 0 errors, 5 warnings. ==> you probably misunderstood me about the /usr/lib64/osc/complete, since it's a non-arch dependent shell script, you should install it in /usr/lib/osc/complete (to be multilib compliant). Besides it won't break anything since shell completion configuration file will search autocompletion helpers in both /usr/lib{,64}/osc/complete * still builds in mock as soon as you fix the completion helper location, i'll approve this package.
Spec URL : http://fedorapeople.org/~saispo/osc.spec SRPMS URL : http://fedorapeople.org/~saispo/osc-0.132.1-2.fc15.src.rpm Fixed Spec and SRPMS for a non-arch dependent shell script (multilib compliant)
$ rpmlint -iv osc-0.132.1-2.fc15.src.rpm osc.src: I: checking osc.src: W: spelling-error Summary(en_US) openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.src: W: spelling-error %description -l en_US Commandline -> Command line, Command-line, Commandment The value of this tag appears to be misspelled. Please double-check. osc.src: W: spelling-error %description -l en_US openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.src: I: checking-url http://www.gitorious.org/opensuse/osc (timeout 10 seconds) osc.src:51: E: hardcoded-library-path in %{_prefix}/lib/osc A library path is hardcoded to one of the following paths: /lib, /usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}. osc.src:52: E: hardcoded-library-path in %{_prefix}/lib/osc/complete A library path is hardcoded to one of the following paths: /lib, /usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}. osc.src:65: E: hardcoded-library-path in %{_prefix}/lib/osc/complete A library path is hardcoded to one of the following paths: /lib, /usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}. osc.src: W: invalid-url Source0: osc-0.132.1.tar.gz The value should be a valid, public HTTP, HTTPS, or FTP URL. 1 packages and 0 specfiles checked; 3 errors, 4 warnings. $ rpmlint -iv osc-0.132.1-2.fc15.noarch.rpm osc.noarch: I: checking osc.noarch: W: spelling-error Summary(en_US) openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.noarch: W: spelling-error %description -l en_US Commandline -> Command line, Command-line, Commandment The value of this tag appears to be misspelled. Please double-check. osc.noarch: W: spelling-error %description -l en_US openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.noarch: I: checking-url http://www.gitorious.org/opensuse/osc (timeout 10 seconds) osc.noarch: W: no-manual-page-for-binary osc-wrapper.py Each executable in standard binary directories should have a man page. osc.noarch: W: no-manual-page-for-binary osc_hotshot.py Each executable in standard binary directories should have a man page. 1 packages and 0 specfiles checked; 0 errors, 5 warnings. ==> rpmlint output is ok (don't worry about the hardcoded-library-path error for reasons stated above) package builds in mock and is functional.
in #711764 YanChuan noticed accurately that /usr/share is a better location for arch-independent file than /usr/lib. Sorry for the inconvenience (my fault)
New upload with your advices : Spec URL : http://fedorapeople.org/~saispo/osc.spec SRPMS URL : http://fedorapeople.org/~saispo/osc-0.132.1-3.fc15.src.rpm
New upload with reverting the location for helpers (for more information, a thread about FHS is on the devel ML) Spec URL : http://fedorapeople.org/~saispo/osc.spec SRPMS URL : http://fedorapeople.org/~saispo/osc-0.132.1-2.fc15.src.rpm
package builds fine in mock (f15/devel on all primary arch) rpmlint output is ok: $ rpmlint -iv /var/lib/mock/fedora-15-x86_64/result/osc-0.132.1-2.fc15.src.rpm osc.src: I: checking osc.src: W: spelling-error Summary(en_US) openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.src: W: spelling-error %description -l en_US Commandline -> Command line, Command-line, Commanding The value of this tag appears to be misspelled. Please double-check. osc.src: W: spelling-error %description -l en_US openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.src: I: checking-url http://www.gitorious.org/opensuse/osc (timeout 10 seconds) osc.src:50: E: hardcoded-library-path in %{_prefix}/lib/osc A library path is hardcoded to one of the following paths: /lib, /usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}. osc.src:51: E: hardcoded-library-path in %{_prefix}/lib/osc/complete A library path is hardcoded to one of the following paths: /lib, /usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}. osc.src:62: E: hardcoded-library-path in %{_prefix}/lib/osc/complete A library path is hardcoded to one of the following paths: /lib, /usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}. osc.src: W: invalid-url Source0: osc-0.132.1.tar.gz The value should be a valid, public HTTP, HTTPS, or FTP URL. 1 packages and 0 specfiles checked; 3 errors, 4 warnings. $ rpmlint -iv /var/lib/mock/fedora-15-x86_64/result/osc-0.132.1-2.fc15.noarch.rpm osc.noarch: I: checking osc.noarch: W: spelling-error Summary(en_US) openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.noarch: W: spelling-error %description -l en_US Commandline -> Command line, Command-line, Commanding The value of this tag appears to be misspelled. Please double-check. osc.noarch: W: spelling-error %description -l en_US openSUSE -> opens Use, open SUSE, open-SUSE The value of this tag appears to be misspelled. Please double-check. osc.noarch: I: checking-url http://www.gitorious.org/opensuse/osc (timeout 10 seconds) osc.noarch: W: no-manual-page-for-binary osc-wrapper.py Each executable in standard binary directories should have a man page. osc.noarch: W: no-manual-page-for-binary osc_hotshot.py Each executable in standard binary directories should have a man page. 1 packages and 0 specfiles checked; 0 errors, 5 warnings. About helper scripts, fedora preferred location is /usr/libexec though it's not in FHS (current proposal: http://bugs.freestandards.org/show_bug.cgi?id=718) and upstream won't fix it until then. The moment being, /usr/{lib,share} are **tolerated** locations (rpm, systemd, dracut, PackageKit, some system-config-* tools are in the same case). I'll remind you to be attentive on that topic. Except that particular issue, everything else is fine. I give you my blessing to import this package into fedora packages collection.
New Package SCM Request ======================= Package Name: osc Short Description: openSUSE Build Service Commander Owners: saispo Branches: f14 f15 el5 el6 InitialCC: saispo
Git done (by process-git-requests).
osc-0.132.4-1.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/osc-0.132.4-1.fc15
osc-0.132.4-1.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/osc-0.132.4-1.fc14
osc-0.132.4-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/osc-0.132.4-1.el6
osc-0.132.4-1.el6 has been pushed to the Fedora EPEL 6 testing repository.
osc-0.132.4-1.fc15 has been pushed to the Fedora 15 stable repository.
osc-0.132.4-1.fc14 has been pushed to the Fedora 14 stable repository.
osc-0.132.4-1.el6 has been pushed to the Fedora EPEL 6 stable repository.