[arch-general] ABS and pacman
Hello, I've just had a minor hiccup, because one of the packages updated in my pacman -Syu this morning substituted a version I had tweaked the ABS way. Nothing serious, as I say, and wholly my fault, but yet I was wondering: Would it be possible/make sense to have pacman inform us whenever it is going to substitute a package that has been ABS'd? Manolo --
On Tue, Sep 25, 2012 at 8:09 PM, Manolo Martínez <manolo@austrohungaro.com> wrote:
Hello,
I've just had a minor hiccup, because one of the packages updated in my pacman -Syu this morning substituted a version I had tweaked the ABS way.
Nothing serious, as I say, and wholly my fault, but yet I was wondering: Would it be possible/make sense to have pacman inform us whenever it is going to substitute a package that has been ABS'd?
Manolo
Why not put your tweaked packages in 'IgnorePkg' in pacman.conf?
On 09/25/12 at 08:16pm, Karol Blazewicz wrote:
On Tue, Sep 25, 2012 at 8:09 PM, Manolo Martínez <manolo@austrohungaro.com> wrote:
Would it be possible/make sense to have pacman inform us whenever it is going to substitute a package that has been ABS'd?
Why not put your tweaked packages in 'IgnorePkg' in pacman.conf?
Many times these tweaks are temporary and, indeed, newer versions make them unnecessary. It can definitely be done as you suggest, but I think it'd be in the spirit of the help provided by, e.g., .pacsave and .pacnew files, to have pacman issue a warning. --
Many times these tweaks are temporary and, indeed, newer versions make them unnecessary. It can definitely be done as you suggest, but I think it'd be in the spirit of the help provided by, e.g., .pacsave and .pacnew files, to have pacman issue a warning. --
Pacman doesn't really have a way of looking at an installed package and knowing that it's been modified from the default repo package (as far as I know ...). Absent a new patch to add such functionality, Karol's suggestion of IgnorePkg is the best idea and also provides the warning you seek when performing a full update, in the form of warning: package_foo: ignoring package upgrade (1.0.0-1 => 1.1.0-1) This warning lets you know that something you're ignoring has been updated, and you should take steps based on the reason you ignored it; IgnorePkg does not interfere with a 'pacman -U' operation, and if specifically told to install an ignored package from repos via 'pacman -S package_foo' will ask for confirmation. --ZekeS
On Wed, Sep 26, 2012 at 3:48 AM, Zeke Sulastin <zekesulastin@gmail.com> wrote:
Many times these tweaks are temporary and, indeed, newer versions make them unnecessary. It can definitely be done as you suggest, but I think it'd be in the spirit of the help provided by, e.g., .pacsave and .pacnew files, to have pacman issue a warning. --
Pacman doesn't really have a way of looking at an installed package and knowing that it's been modified from the default repo package (as far as I know ...). Absent a new patch to add such functionality, Karol's suggestion of IgnorePkg is the best idea and also provides the warning you seek when performing a full update, in the form of
Well, anything that's been locally built should have you set as the package maintainer, so the first sentence is not really true. Not that this fact by itself is particularly useful, lacking the necessary changes to pacman.
On Tue, Sep 25, 2012 at 8:34 PM, Manolo Martínez <manolo@austrohungaro.com> wrote:
On 09/25/12 at 08:16pm, Karol Blazewicz wrote:
On Tue, Sep 25, 2012 at 8:09 PM, Manolo Martínez <manolo@austrohungaro.com> wrote:
Would it be possible/make sense to have pacman inform us whenever it is going to substitute a package that has been ABS'd?
Why not put your tweaked packages in 'IgnorePkg' in pacman.conf?
Many times these tweaks are temporary and, indeed, newer versions make them unnecessary. It can definitely be done as you suggest, but I think it'd be in the spirit of the help provided by, e.g., .pacsave and .pacnew files, to have pacman issue a warning. --
AFAICT, ABS is not something Arch devs care all that much about and 'IgnorePkg' serves as an universal warning generator ;P You can create a script that checks the package updates and notifies you if any of the packages you compiled yourself is going to be updated. It's enough to set yourself as the packager in /etc/makepkg.conf (mine is 'karol') and see if any of packages output by comm -23 <(expac "%n %p" -Q | awk '$2 == "karol" { print $1}') <(pacman -Qqm|sort) is mentioned in the output of 'pacman -Qqu' As 'pacman -Qqu' doesn't care about AUR packages, we can abbreviate comm -23 <(expac "%n %p" -Q | awk '$2 == "karol" { print $1}') <(pacman -Qqm|sort) to expac "%n %p" -Q | awk '$2 == "karol" { print $1}' The first command prints just packages from the repos, the second one (the shorter one) prints also packages from the AUR, but it doesn't matter here. If you want to automate it in a safe way, try something like http://www.andreascarpino.it/blog/posts/hey-youve-n-outofdated-packages-part... Update your fake pacman db: ------------------- #!/bin/bash fakedb=/dev/shm/fakepacdb realdb=/var/lib/pacman [[ ! -d $fakedb ]] && { mkdir -p "$fakedb/sync" || exit 1; } [[ ! -L $fakedb/local ]] && { ln -s "$realdb/local" "$fakedb" || exit 2; } exec fakeroot pacman --dbpath "$fakedb" -Sy ------------------- Packages you've built via ABS that are about to be updated: ------------------- #!/bin/bash fakedb=/dev/shm/fakepacdb mypkgs=$(comm -12 <(pacman --dbpath "$fakedb" -Qqu) <(expac "%n %p" - Q | awk '$2 == "karol" { print $1}')) echo "Warning: $mypkgs need to be rebuilt." ------------------- $mypkgs can be empty of course.
On Tue, Sep 25, 2012 at 02:34:37PM -0400, Manolo Martínez wrote:
On 09/25/12 at 08:16pm, Karol Blazewicz wrote:
On Tue, Sep 25, 2012 at 8:09 PM, Manolo Martínez <manolo@austrohungaro.com> wrote:
Would it be possible/make sense to have pacman inform us whenever it is going to substitute a package that has been ABS'd?
Why not put your tweaked packages in 'IgnorePkg' in pacman.conf?
Many times these tweaks are temporary and, indeed, newer versions make them unnecessary. It can definitely be done as you suggest, but I think it'd be in the spirit of the help provided by, e.g., .pacsave and .pacnew files, to have pacman issue a warning. --
Patches to pacman are always welcome -- Daniel Wallace Archlinux Trusted User (gtmanfred) Georgia Institute of Technology
On Tue, Sep 25, 2012 at 02:09:59PM -0400, Manolo Martínez wrote:
Hello,
I've just had a minor hiccup, because one of the packages updated in my pacman -Syu this morning substituted a version I had tweaked the ABS way.
Nothing serious, as I say, and wholly my fault, but yet I was wondering: Would it be possible/make sense to have pacman inform us whenever it is going to substitute a package that has been ABS'd?
I put my local packages under a group "custom_packages" and add IgnoreGroup = custom_packages in pacman.conf Whenever there's an update available, pacman notifies me as others have mentioned. Then I go to the arch git repo for the package, see the changes and decide if i need to add those changes to my package. For example yesterday mutt was updated due to a bug, but since that bug doesn't affect me, i didn't upgrade my custom mutt package.
Thanks everyone for the illuminating responses. IgnorePackage and IgnoreGroup seem to be what I need, after all. Cheers, Manolo On 09/26/12 at 09:10am, gt wrote:
On Tue, Sep 25, 2012 at 02:09:59PM -0400, Manolo Martínez wrote:
Hello,
I've just had a minor hiccup, because one of the packages updated in my pacman -Syu this morning substituted a version I had tweaked the ABS way.
Nothing serious, as I say, and wholly my fault, but yet I was wondering: Would it be possible/make sense to have pacman inform us whenever it is going to substitute a package that has been ABS'd?
I put my local packages under a group "custom_packages" and add IgnoreGroup = custom_packages in pacman.conf
Whenever there's an update available, pacman notifies me as others have mentioned.
Then I go to the arch git repo for the package, see the changes and decide if i need to add those changes to my package.
For example yesterday mutt was updated due to a bug, but since that bug doesn't affect me, i didn't upgrade my custom mutt package.
--
participants (6)
-
Daniel Wallace
-
gt
-
Karol Blazewicz
-
Manolo Martínez
-
Oon-Ee Ng
-
Zeke Sulastin