You are not logged in.

#1 2018-02-05 10:24:16

krukai
Member
Registered: 2017-07-04
Posts: 2

Detect breaking of locally compiled AUR packages

This is pretty much a revival of this post.

I have installed and locally built the packages required by the meta package ros-lunar-desktop (AUR) through pacaur. In total, these are a little over 200 AUR packages.
Now, whenever a dependency is upgraded through pacman, I eventually get an error like this when using some ROS component:

rviz: error while loading shared libraries: libyaml-cpp.so.0.5: cannot open shared object file: No such file or directory

I could simply rebuild ros-lunar-rviz now, and be on the lookout for yaml-cpp upgrades. However, there are around a half a dozen such libraries that ROS components depend on seeing frequent updates. Furthermore, there are over 200 components that I theoretically would have to check. I cannot even say for certain which of these are crucial to me, so there is little hope in reducing that number.

As a result, my current work-around is to re-install ros-lunar-desktop in its entirety whenever I notice something breaking. This process takes a few hours (also, poor SSD), and it might as well happen that I have to repeat it a day later.
I am hoping that there is some way to track or detect which subset of packages require rebuilding, as I am certain that most of the time, only a fraction of these 200 packages need to be rebuilt.

My fear is that the only sensible way to deal with this is changing how the ROS AUR packages are handled and maintained. Perhaps the source approach is just not feasible here?


Cheers!

Offline

#2 2018-02-05 10:54:36

progandy
Member
Registered: 2012-05-17
Posts: 5,193

Re: Detect breaking of locally compiled AUR packages

Well, you can walk all libraries and executables of your AUR packages with ldd, and then print a list of the packages to rebuild.


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#3 2018-02-05 11:00:55

ooo
Member
Registered: 2013-04-10
Posts: 1,638

Re: Detect breaking of locally compiled AUR packages

https://aur.archlinux.org/packages/findbrokenpkgs/

IIUC lddd from devtools package does pretty much the same thing

Offline

#4 2018-02-05 11:07:07

demaio
Member
From: Germany
Registered: 2012-09-02
Posts: 101
Website

Re: Detect breaking of locally compiled AUR packages

I have not tried it, but in addition to ooo's post, this also sounds like it does what you want: https://aur.archlinux.org/packages/repkg/

Offline

#5 2018-02-05 18:33:53

jasonwryan
Anarchist
From: .nz
Registered: 2009-05-09
Posts: 30,424
Website

Re: Detect breaking of locally compiled AUR packages

Moving to AUR Issues...


Arch + dwm   •   Mercurial repos  •   Surfraw

Registered Linux User #482438

Offline

#6 2018-02-05 21:16:13

Spyhawk
Member
Registered: 2006-07-07
Posts: 485

Re: Detect breaking of locally compiled AUR packages

Just a few days ago, a patch landed on the aur-dev mailing list to expand the AUR RPC. The main objective is the same as yours: to detect AUR packages that need to be rebuilt after a pacman upgrade.

It'll take some time before this feature becomes available, but scripts and/or AUR helpers will soon be able to do exactly what you need here.

Last edited by Spyhawk (2018-02-05 21:20:35)

Offline

#7 2018-02-05 23:55:58

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,529
Website

Re: Detect breaking of locally compiled AUR packages

Spyhawk that is actually slightly more general.  The task of this thread is not to find all packages in the AUR that depend on a given repo package - rather only the ones installed on the local system that do.  The latter is *much* *much* easier.

pactree -ru $pkg | grep -Ff <(pacman -Qqm)

This could be done with a list of packages in place of $pkg too.  But really if this is post-update with a list of repo packages that were updated, I'd probably use comm instead on that list of files, and a pactree list from the locally installed packages.

The problem, though, is this isn't actually sufficient for the question in this thread.  Just because a dependency has been updated doesn't mean the AUR package needs a rebuild.  This (and the aur-dev suggestion) would have far far too many false positives.

Last edited by Trilby (2018-02-05 23:57:08)


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

Board footer

Powered by FluxBB