Bug 858105 - Review Request: python-rosdep - ROS System Dependency Installer
Summary: Review Request: python-rosdep - ROS System Dependency Installer
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Ankur Sinha (FranciscoD)
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: ros-release
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-09-18 01:28 UTC by Rich Mattes
Modified: 2013-04-09 12:52 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-04-09 12:52:56 UTC
Type: ---
Embargoed:
sanjay.ankur: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Rich Mattes 2012-09-18 01:28:11 UTC
Spec URL: http://rmattes.fedorapeople.org/rospackages/rosdep/python-rosdep.spec
SRPM URL: http://rmattes.fedorapeople.org/rospackages/rosdep/python-rosdep-0.9.7-1.20120917git5e1ecef.fc17.src.rpm
Description: rosdep is a command-line tool for installing system dependencies. For end-users, rosdep helps you install system dependencies for software that
you are building from source. For developers, rosdep simplifies the problem
of installing system dependencies on different platforms. Instead of having to
figure out which Debian package on Ubuntu Oneiric contains Boost, you can just
specify a dependency on 'boost'.

Fedora Account System Username: rmattes

rpmlint:
$ rpmlint python-rosdep.spec ../RPMS/noarch/python-rosdep-0.9.7-1.20120917git5e1ecef.fc17.noarch.rpm 
python-rosdep.spec: W: invalid-url Source0: ros-rosdep-0.9.5-11-g5e1ecef.tar.gz
python-rosdep.noarch: W: no-manual-page-for-binary rosdep-gbp-brew
python-rosdep.noarch: W: no-manual-page-for-binary rosdep-source
1 packages and 1 specfiles checked; 0 errors, 3 warnings

There aren't any manpages provided for the binaries, and the source download instructions are given in the comments

Comment 1 Ankur Sinha (FranciscoD) 2012-09-21 04:20:14 UTC
Hello again!

I'll review this one too.

Thanks,
Warm regards,
Ankur

Comment 2 Ankur Sinha (FranciscoD) 2012-09-25 12:39:46 UTC
Review:

[+] OK
[-] NA
[?] Issue

[+] Package meets naming and packaging guidelines
[+] Spec file matches base package name.
[+] Spec has consistant macro usage.
[?] Meets Packaging Guidelines.
^^
The files that you're putting in %sysconfig: Shouldn't they be using the
%config(noreplace) macro etc? Guideline here: 
http://fedoraproject.org/wiki/Packaging:Guidelines#Configuration_files

Also, since you're owning everything under sysconfdir/ros, won't the file
you've ghosted get owned too? I'm not sure how the two macros intersect.

Mock says: DEBUG: warning: File listed twice: /etc/ros/rosdep/sources.list.d/20-default.list

Please make changes similar to python-rospkg:
- Build in build section
- Only install in install section
- Cosmetic changes to make the file section clearer would be nice too :)

[+] License
[+] License field in spec matches
[?] License file included in package
^^
Please file a bug upstream requesting them to ship a licence file. Not a
blocker

[+] Spec in American English
[+] Spec is legible.
[-] Sources match upstream md5sum:
Github checkout: NA

[+] Package is code or permissible content.
[-] Packages %doc files don't affect runtime.
Nothing in %doc

[+] Package compiles and builds on at least one arch.
Built in mock for rawhide x86_64

[+] Package has no duplicate files in %files.
[+] Package doesn't own any directories other packages own.
[+] Package owns all the directories it creates.
[+] No rpmlint output.
^^ 
Nothing worrisome

[ankur@ankur SRPMS]$ rpmlint ./python-rosdep-0.9.7-1.20120917git5e1ecef.fc17.src.rpm ../SPECS/python-rosdep.spec /var/lib/mock/fedora-rawhide-x86_64/result/*.rpm
python-rosdep.src: W: invalid-url Source0: ros-rosdep-0.9.5-11-g5e1ecef.tar.gz
../SPECS/python-rosdep.spec: W: invalid-url Source0:
ros-rosdep-0.9.5-11-g5e1ecef.tar.gz
python-rosdep.noarch: W: no-manual-page-for-binary rosdep-gbp-brew
python-rosdep.noarch: W: no-manual-page-for-binary rosdep-source
python-rosdep.src: W: invalid-url Source0: ros-rosdep-0.9.5-11-g5e1ecef.tar.gz
3 packages and 1 specfiles checked; 0 errors, 5 warnings.
[ankur@ankur SRPMS]$

[-] final provides and requires are sane:
[ankur@ankur result]$ review-req-check
== python-rosdep-0.9.7-1.20120917git5e1ecef.fc19.noarch.rpm ==
Provides:
python-rosdep = 0.9.7-1.20120917git5e1ecef.fc19

Requires:
/usr/bin/python
python(abi) = 2.7

== python-rosdep-0.9.7-1.20120917git5e1ecef.fc19.src.rpm ==
Provides:

Requires:
python-devel
python-setuptools-devel
python-sphinx


SHOULD Items:

[+] Should build in mock.
[+] Should build on all supported archs
[-] Should function as described.
[-] Should have sane scriptlets.
[-] Should have subpackages require base package with fully versioned depend.
[+] Should have dist tag
[+] Should package latest version
[-] check for outstanding bugs on package. (For core merge reviews)

Issues:

1. Please make the cosmetic changes
2. Please check if the %config(noreplace) macro needs to be used
3. Please check the play between the ghost and dir ownership. Looks okay, since
rpmlint didn't say anything either. Do confirm though.

Small issues. Nothing major. Please make the changes and the package is ready
to go!


Thanks, 
Warm regards,
Ankur

Comment 3 Rich Mattes 2012-10-28 18:48:02 UTC
Spec URL: http://rmattes.fedorapeople.org/rospackages/rosdep/python-rosdep.spec
SRPM URL: http://rmattes.fedorapeople.org/rospackages/rosdep/python-rosdep-0.10.7-1.20121028gita9d29d2.fc17.src.rpm

Updated to address the above concerns, and to use the ros-release package.

The file 20-sources.list doesn't get installed by RPM, it gets written by rosdep when you call rosdep init.  So we can't use config noreplace since it's not being installed as a config file.  We do want to get rid of it when rosdep is uninstalled though, so i created a ghost file that tells RPM that the file is still part of the package, but doesn't get installed at the same time as the rest of the package.  I think this is the correct way to accomplish this.

I also filed a bug upstream about the missing license file at https://github.com/ros/rosdep/issues/29

Comment 4 Ankur Sinha (FranciscoD) 2013-02-16 09:17:34 UTC
Hi Rich,

I'm sorry for the delay. The package looks good to me. Nothing in rpmlint now:

[ankur@dhcppc1  SRPMS]$ rpmlint ./python-rosdep-0.10.7-1.20121028gita9d29d2.fc18.src.rpm /var/lib/mock/fedora-rawhide-x86_64/result/*.rpm ../SPECS/python-rosdep.spec
python-rosdep.src: W: invalid-url Source0: ros-rosdep-0.10.7-0-ga9d29d2.tar.gz
python-rosdep.noarch: W: no-manual-page-for-binary rosdep-gbp-brew
python-rosdep.noarch: W: no-manual-page-for-binary rosdep-source
python-rosdep.src: W: invalid-url Source0: ros-rosdep-0.10.7-0-ga9d29d2.tar.gz
../SPECS/python-rosdep.spec: W: invalid-url Source0: ros-rosdep-0.10.7-0-ga9d29d2.tar.gz
3 packages and 1 specfiles checked; 0 errors, 5 warnings.
[ankur@dhcppc1  SRPMS]$

XXX APPROVED XXX 

Thanks,
Warm regards,
Ankur

Comment 5 Rich Mattes 2013-02-16 16:16:16 UTC
New Package SCM Request
=======================
Package Name: python-rosdep
Short Description: ROS System Dependency Installer
Owners: rmattes
Branches: f17 f18 el6
InitialCC:

Comment 6 Gwyn Ciesla 2013-02-16 18:45:38 UTC
Git done (by process-git-requests).


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