ros-infrastructure / jenkins_scripts

Scripts used on the build farm
5 stars 9 forks source link

devel job assumes that the rosdep keys are for apt #51

Closed wjwwood closed 10 years ago

wjwwood commented 11 years ago

See:

http://lists.ros.org/pipermail/ros-release/2013-September/004210.html

From the error:

In folder /tmp/test_repositories/src_repository, found packages roslint
Install test and run dependencies of repo list: python-pylint, python-cpplint
Executing command 'apt-get install --yes pylint cpplint'
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package cpplint
/!\  Failed to execute command '[u'apt-get', u'install', u'--yes', u'pylint', u'cpplint']' with return code 100
Failed to execute command '[u'apt-get', u'install', u'--yes', u'pylint', u'cpplint']' with return code 100
jack-oquin commented 11 years ago

I understand why the Ubuntu package release cannot depend on PIP packages.

Shouldn't rosdep docs explain that PIP distribution is not fully supported?

tfoote commented 11 years ago

There's nothing in rosdep which doesn't support pip. It's only the debian build pipeline which doesn't support pip. This is just a bad invocation of rosdep where it asks for the dependencies but doesn't check what type they are.

Conceivably we could setup another packaging pipeline, (say for Fedora), and then it would require a full set of rpm based dependencies in the same way that the debian pipeline requires all apt based dependencies.

jack-oquin commented 11 years ago

Yes, rosdep works fine with PIP.

Somewhere there is a disconnect. Users can use PIP to resolve rosdep dependencies, but then they can't release such packages via bloom.

Maybe bloom and its docs should warn people?

wjwwood commented 11 years ago

bloom is probably annoyingly too late, as you will have already released your package. Unfortunately it is also the first place that you indicate to our tools that you intend to release for debian.

jack-oquin commented 11 years ago

I suppose rosdep could warn that while PIP works fine from the command line, it is not supported by the distro package release tools.

wjwwood commented 11 years ago

I don't think rosdep should care at all about this. It isn't rosdep's job to inform users about packaging... It is just as often used to help support building source packages.

I think the right place is just in the "releasing a package" documentation, which has crept into the bloom documentation. bloom should refuse to run the debian generate on a package with a pip rule, but it should be mentioned in the docs before that point.

jack-oquin commented 11 years ago

That seems fine to me.

tfoote commented 11 years ago

I agree that the correct place for this to error is in the debian generator inside bloom. Of course a helper script and explicit instructions in the release process would be helpful too.

On Mon, Sep 16, 2013 at 10:55 AM, William Woodall notifications@github.comwrote:

I don't think rosdep should care at all about this. It isn't rosdep's job to inform users about packaging... It is just as often used to help support building source packages.

I think the right place is just in the "releasing a package" documentation, which has crept into the bloom documentation. bloom should refuse to run the debian generate on a package with a pip rule, but it should be mentioned in the docs before that point.

— Reply to this email directly or view it on GitHubhttps://github.com/ros-infrastructure/jenkins_scripts/issues/51#issuecomment-24530155 .

dirk-thomas commented 10 years ago

Closing since a ticket has been filled somewhere else.