[arch-general] Advanced pacman dependency functions
Alessio 'mOLOk' Bolognino
themolok.ml at gmail.com
Sat Dec 22 12:40:30 EST 2007
On Sat 2007-12-22 12:52 , bardo wrote:
> Hi all.
>
> I was looking for a way to do a couple of things with pacman that may
> be useful, mainly for package maintainers. Maybe they can already be
> done and I just didn't find out how. I used to use pt-deptree, but it
> hasn't been working for quite some time now.
>
> The first one is finding all the packages that directly depend on a
> specific package, even if they're not installed. This came to my mind
> considering those upgrades which break other software, like x264 and
> tcl/tk (8.5 has just been released): it could be a lot easier to test
> if all packages work properly with the new version or if it is
> necessary to rebuild them.
Something like this? (proof of concept)
---------------------------------8<------------------------------------
foo() {
checkdep=$1
pkgbuild=$2
unset depends makedepends
source $pkgbuild
for dep in ${depends[@]} ${makedepends[@]}; do
dep_s=$(echo $dep | sed 's|=.*$||' | sed 's|>.*$||' \
| sed 's|<.*$||')
if [[ "$dep_s" == "$checkdep" ]]; then
echo $pkgbuild
fi
done
}
find_dep=$1
for pkg in `find /var/abs -name PKGBUILD`; do
foo $find_dep $pkg
done
---------------------------------8<------------------------------------
> Second, I often find myself looking for package dependencies along the
> tree, because I need to know, given two packages, if one of the two
> depends on the other or not. This is good when I'm deciding which
> dependencies should be put in a package, becuase the cycle
> edit-makepkg-namcap is sometimes impractical when the package has a
> lot of dependencies.
I think I didn't understand what you need here.
Can you provide a real example where this is useful?
--
Alessio 'mOLOk' Bolognino
Arch Linux Trusted User
Please send personal email to themolok at gmail.com
Public Key http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xFE0270FB
GPG Key ID = 1024D / FE0270FB 2007-04-11
Key Fingerprint = 9AF8 9011 F271 450D 59CF 2D7D 96C9 8F2A FE02 70FB
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://archlinux.org/pipermail/arch-general/attachments/20071222/38677a89/attachment.pgp>
More information about the arch-general
mailing list