You are not logged in.
Hi all,
I am trying to clean up my system by moving installed packages into my own meta-packages that I would then install on all of my machines to have the same software available everywhere.
I set up my own repository and added it to
/etc/pacman.conf
. So far so good.
When it comes to AUR packages, pacman would obviously not know how to get them, so I thought yay, trizen, ... would be able to resolve them. However, they don't.
Is there a AUR helper that can resolve AUR dependencies for non-AUR packages? I tried to find a flag for this but could not find anything. (Depending on your view, this might even be considered a security vulnerability, so not sure if this would be supported at all.)
Does somebody know how to deal with this issue or have a workaround?
I thought about building the AUR packages once and adding them to my custom repository, however, I would prefer to build them locally on each machine.
Cheers,
Daniel
For example:
setup-academia
is my meta package that I host in my own repo.
zoom
is the AUR package on which
setup-academia
depends.
yay -S setup-academia
resolving dependencies...
warning: cannot resolve "zoom", a dependency of "setup-academia"
:: The following package cannot be upgraded due to unresolvable dependencies:
setup-academia
...
Offline
I thought about building the AUR packages once and adding them to my custom repository, however, I would prefer to build them locally on each machine.
Then why have a custom repository at all? You want some things pre-built and some things not? Why?
Online
#!/bin/sh
builddir=/tmp/aur
mkdir -p $builddir
pacman -Sp $(expac -S %D $@) 2>&1 >/dev/null \
| cut -d' ' -f5 \
| while read aurpkg; do
git clone https://aur.archlinux.org/${aurpkg}.git ${builddir}/${aurpkg}
cd ${builddir}/${aurpkg}
makepkg -si --asdeps
done
pacman -S $@
Keep in mind the assumption here that pkgname==pkgbase. This assumption has been adequate for my use of the AUR, but there are exceptions. To "fix" this assumption, replace the git clone command as desired.
(usage: pass this script a list of your metapackages that you want to install)
Note this was mostly done because I was bored. Meta packages for your use case are just a really bad idea (they'd be a great idea if you built the AUR packages once and added them to your repo). For your use, just get a list, then on each new system:
$AURHELPER -S < /path/to/pkg.list
Or if you really want to use your meta packages still:
$AURHELPER -S --asdeps < /path/to/pkg.list
pacman -D --asexplicit $YourMeta1 $YourMeta2 $YourMeta3
Last edited by Trilby (2023-05-11 17:41:54)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline