-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deb dependency does not specify version #11
Comments
👍 this should be specified in the As we usually only release a compatible version (at least same major) in a ROS distribution, we dont always define it explicitly in the package.xml. In the case of cartographer we actualy bumped the version significantly since the first melodic release so it should be specified.
This "shouldn't" be necessary as they are hosted in the same repository and that bloom (the ROS releasing utility) enforces all packages in the same source repository to have the same version number. Though it doesn't hurt to add it for people building parts from source and have mismatching versions of the dependencies already installed. I opened cartographer-project/cartographer_ros#892 to address this |
We have discussed to build deb with explicit package version dependencies.
ros-infrastructure/bloom#414 (comment)
But at that time, the conclusion was the overhead is larger than
convenience.
I had similar issue recently at different package, so if you think we'd
better to re-try to
convince bloom maintainer to support this feature, I can help.
ros-perception/image_pipeline#333 (comment)
…--
◉ Kei Okada
2018-06-07 17:29 GMT+09:00 Mikael Arguedas <[email protected]>:
👍 this should be specified in the package.xml. You can see an example
here https://github.com/ros/pluginlib/blob/b0299cfe88c0bbe742a859b9f38b36
4a9bd271fe/package.xml#L26
As we usually only release a compatible version (at least same major) in a
ROS distribution, we dont always define it explicitly in the package.xml.
In the case of cartographer we actualy bumped the version significantly
since the first melodic release so it should be specified.
This is also the case for the packages ros-melodic-cartographer-ros-msgs
and ros-melodic-cartographer-rviz.
This "shouldn't" be necessary as they are hosted in the same repository
and that bloom (the ROS releasing utility) enforces all packages in the
same source repository to have the same version number. Though it doesn't
hurt to add it for people building parts from source and have mismatching
versions of the dependencies already installed.
I opened cartographer-project/cartographer_ros#892
<cartographer-project/cartographer_ros#892> to
address this
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#11 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAeG3NBsTKPKTaULqfaOcK2Hx5C2vk0tks5t6OSAgaJpZM4Ud7qp>
.
|
Thanks @k-okada for these pointers! The assumption "the buildfarm rebuilds downstream when a new version of a dependency comes out" that is true today, but may change in the future once the buildfarm implements and leverages the "compatibility" feature of package format 3: ros-infrastructure/rep#138. At that point it may be worth bringing it up to the bloom/ros_buildfarm maintainers 👍 |
May be I misunderstand something, but @gaschler 's original problem is ..
The only solution is to run |
In that case I would suggest to use It just seem that the explicit dependency at bloom time may go against the compatibility approach.
I thinks that's where the compatibility approach comes in. If I say (as the maintainer of (let me now if this is unclear, this "simple" example gets hard to follow I am aware) |
That good to know, I usually do not use upgrade with argument. But
Maybe I'm too nervous, but this really threaten me....
Thank you for clear explanation, I did not know about compatibility approach and that seems useful.
In this case, how about 'bar >= 1.0.0' in its control file? That would not force unnecessary upgrade bar |
Sorry that was an oversight on my part because in the environment I was using all the out of date packages were dependencies of the one I wanted to install. This seems to upgrade everything and installs the new package on top... so this doesn't buy anything compare to an
Yes I think that would be the desired outcome 👍 |
Yes I think that would be the desired outcome 👍
thanks , and if this is ok, I think write "bar >= 1.0.0" in control file,
based on `version_gte` of packagae.xml might be useful, that was my
original proposal at bloom.
…--
◉ Kei Okada
2018-06-07 22:28 GMT+09:00 Mikael Arguedas <[email protected]>:
That good to know, I usually do not use upgrade with argument. But
Sorry that was an oversight on my part because in the environment I was
using all the out of date packages were dependencies of the one I wanted to
install. This seems to upgrade *everything* and installs the new package
on top... so this doesn't buy anything compare to an apt upgrade.
In this case, how about 'bar >= 1.0.0' in its control file? That would not
force unnecessary upgrade bar
Yes I think that would be the desired outcome 👍
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#11 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAeG3OFSGJnrRFb_0lOCAPybguOY3FrVks5t6SppgaJpZM4Ud7qp>
.
|
I believe bloom already does it for package.xml that specify And the corresponding Depends in the control file:
This includes the version requirement: ros-melodic-roscpp-traits (>= 0.3.17) Not sure when it was added to bloom though.. |
Oh, I did not know I have to add to the |
The attribute All dependency tags will accept that attribute so you can just add it to the |
As I believe this has been addressed in cartographer-project/cartographer_ros#892 I'm closing this issue. Feel free to comment here if it's not the case and we can reopen it |
The deb package ros-melodic-cartographer-ros does not depend on a specific version of ros-melodic-cartographer, but it will only run with the same major version.
This is also the case for the packages ros-melodic-cartographer-ros-msgs and ros-melodic-cartographer-rviz.
(See control file in http://repositories.ros.org/ubuntu/testing/pool/main/r/ros-melodic-cartographer-ros/ros-melodic-cartographer-ros_1.0.0-0bionic.debian.tar.xz)
I am not sure if version dependencies are commonly specified in ROS packages.
Of course,
sudo apt-get upgrade
will update all these packages to the latest version, and it will just work.The text was updated successfully, but these errors were encountered: