You are not logged in.
Hi,
I have ROS installed on my arch (it involves hundreds of packages from AUR) using pacaur.
There's a problem which often appears and it is quite annoying which is that whenever boost is upgraded, all dependant AUR packages
are broken and require recompile.
I'm thinking that it would be better to make these AUR packages depend on a specific boost-libs version so that when the system is upgraded and a new boost-libs is available, at least I will get a warning and know I'm about to break the system (then, I can hold off the upgrade until I decide I want to spend my time recompiling all packages). The problem is that this would require keeping all relevant AUR packages updated to depend on current boost version.
A better way would be to write a PKGBUILD so that a given dependency requires the the currently installed version of the corresponding package (e.g. if I have boost 1.59 installed, when I make the package the package will now have a =1.59 dependency). This would be a really good feature to have. Is this somehow possible currently? Is there any interest in this feature?
Best,
Matias
Offline
If you just want a warning, you could put it in IgnorePkg:
$ sudo pacman -Syu
:: Synchronizing package databases...
...
:: Starting full system upgrade...
warning: ttf-inconsolata: ignoring package upgrade (20090215-5 => 20151221.480630d-1)
...
The downside is that the warning can be missed if eg you use VerbosePkgLists and there are a lot of packages to be upgraded. But it's bold and colored if you use Color.
But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner
Offline
But the package does not depend on any particular version, so why should it state it does?
Sometimes I seem a bit harsh — don’t get offended too easily!
Offline
A better way would be to write a PKGBUILD so that a given dependency requires the the currently installed version of the corresponding package (e.g. if I have boost 1.59 installed, when I make the package the package will now have a =1.59 dependency). This would be a really good feature to have. Is this somehow possible currently? Is there any interest in this feature?
It's possible, but a huge PITA. When doing this, upgrading boost would require removing all AUR packages with that dependency, upgrading the system, then reinstalling said packages.
Offline
That might be a nice suggestion for things pacman could track, which version of a dependent library a package was compiled against. Then it could warn when something needs to be recompiled. Doesn't gentoo's package manager offer something like this?
If quantum mechanics hasn't profoundly shocked you, you haven't understood it yet.
Niels Bohr
Offline
A better way would be to write a PKGBUILD so that a given dependency requires the the currently installed version of the corresponding package (e.g. if I have boost 1.59 installed, when I make the package the package will now have a =1.59 dependency). This would be a really good feature to have. Is this somehow possible currently? Is there any interest in this feature?
You could have your packages depend on a .so file, then makepkg tries to automatically append the version (see PKGBUILD(5) about depends array).
It's possible, but a huge PITA. When doing this, upgrading boost would require removing all AUR packages with that dependency, upgrading the system, then reinstalling said packages.
Well, that'd be one way of doing it. Another would be to simply use a custom/local repo, so when you see boost has been updated, you recompile every packages with the new version (all done in a clean chroot ofc) and add them to your local repo, then you can simply do a sysupgrade that will update everything.
Offline