Bug 711762 - Review Request: osc - openSUSE Build Service Commander
Summary: Review Request: osc - openSUSE Build Service Commander
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Haïkel Guémar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 711764
TreeView+ depends on / blocked
 
Reported: 2011-06-08 12:27 UTC by Jerome Soyer
Modified: 2011-09-20 02:32 UTC (History)
4 users (show)

Fixed In Version: osc-0.132.4-1.el6
Clone Of:
Environment:
Last Closed: 2011-08-19 21:55:05 UTC
Type: ---
Embargoed:
karlthered: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Jerome Soyer 2011-06-08 12:27:25 UTC
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.

Comment 1 Haïkel Guémar 2011-06-08 13:38:52 UTC
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.

Comment 2 Jerome Soyer 2011-06-08 14:35:47 UTC
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

Comment 3 Haïkel Guémar 2011-06-08 15:30:43 UTC
* 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.

Comment 4 Jerome Soyer 2011-06-08 22:08:55 UTC
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)

Comment 5 Haïkel Guémar 2011-06-09 05:19:36 UTC
$ 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.

Comment 6 Haïkel Guémar 2011-06-09 07:55:12 UTC
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)

Comment 7 Jerome Soyer 2011-06-09 08:30:48 UTC
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

Comment 8 Jerome Soyer 2011-06-14 12:13:40 UTC
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

Comment 9 Haïkel Guémar 2011-06-14 14:48:42 UTC
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.

Comment 10 Jerome Soyer 2011-06-15 07:29:23 UTC
New Package SCM Request
=======================
Package Name: osc
Short Description: openSUSE Build Service Commander
Owners: saispo
Branches: f14 f15 el5 el6
InitialCC: saispo

Comment 11 Gwyn Ciesla 2011-06-15 12:03:24 UTC
Git done (by process-git-requests).

Comment 12 Fedora Update System 2011-08-16 13:21:34 UTC
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

Comment 13 Fedora Update System 2011-08-16 13:36:39 UTC
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

Comment 14 Fedora Update System 2011-08-16 13:47:04 UTC
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

Comment 15 Fedora Update System 2011-08-16 21:09:14 UTC
osc-0.132.4-1.el6 has been pushed to the Fedora EPEL 6 testing repository.

Comment 16 Fedora Update System 2011-08-19 21:54:59 UTC
osc-0.132.4-1.fc15 has been pushed to the Fedora 15 stable repository.

Comment 17 Fedora Update System 2011-09-19 23:00:26 UTC
osc-0.132.4-1.fc14 has been pushed to the Fedora 14 stable repository.

Comment 18 Fedora Update System 2011-09-20 02:31:54 UTC
osc-0.132.4-1.el6 has been pushed to the Fedora EPEL 6 stable repository.


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