You are not logged in.

#1 2012-11-14 10:45:43

andreyv
Member
From: Riga, Latvia
Registered: 2012-11-02
Posts: 29

Pacman didn't ask to change/upgrade a package that was renamed

I had a package named "libkeybinder" installed on my system. Today I noticed that there was no such package in the repositories anymore — it seems to have moved to "libkeybinder2". But when I ran full system upgrade with "yaourt -Syua", I didn't get any notification of this, and the old package remained on the system.

Is this a bug/error or is this generally allowable? Now I can't be sure that there are no other similarly outdated packages on my system.

Offline

#2 2012-11-14 10:52:48

loafer
Member
From: the pub
Registered: 2009-04-14
Posts: 1,683

Re: Pacman didn't ask to change/upgrade a package that was renamed

I think libkeybinder was in the AUR rather than the repos and has now been moved to [community] as libkeybinder2.  AUR packages are the responsibility of the user.

Your title says pacman but you actually apear to be using the yaourt wrapper to carry out system upgrades.


All men have stood for freedom...
For freedom is the man that will turn the world upside down.
Gerrard Winstanley.

Offline

#3 2012-11-14 11:00:30

WorMzy
Forum Moderator
From: Scotland
Registered: 2010-06-16
Posts: 5,137

Re: Pacman didn't ask to change/upgrade a package that was renamed

Normally, whenever a package is renamed like this, packages that depended on the old package are updated to depend on the new package. So when you update package foo, which used to depend on package bar, but now depends on bar2, bar2 will be installed, and pacman will inform you that package bar will be removed (due to file conflicts).

'libkeybinder2' (and it's python2 bindings) is a community package which isn't a dependency for anything in the official repos other than terminator. I suspect that there may be a few AUR packages that depend on it though, and these will need to be updated too.

If you've explicitly installed the old-named package, but don't have any packages that depend on it, then it will just stagnate until you manually intervene.


Sakura:-
Mobo: ASUS P8Z77-V PRO // Processor: Intel Core i7-3770K 3.4GHz // GFX: nVidia GeForce GTX 970 Ti // RAM: 32GB (4x 8GB) Corsair DDR3 (@ 2133MHz) // Storage: 1x 3TB Seagate SATAII 5x 1TB Samsung SATAII, 2x 120GB Corsair SSD

Offline

#4 2012-11-14 11:16:34

andreyv
Member
From: Riga, Latvia
Registered: 2012-11-02
Posts: 29

Re: Pacman didn't ask to change/upgrade a package that was renamed

WorMzy wrote:

If you've explicitly installed the old-named package, but don't have any packages that depend on it, then it will just stagnate until you manually intervene.

That's what I've feared. Is there a good way to detect such packages? I can see only "pacman/yaourt -Qm", but this also lists all packages installed from AUR.

Offline

#5 2012-11-14 11:36:00

WorMzy
Forum Moderator
From: Scotland
Registered: 2010-06-16
Posts: 5,137

Re: Pacman didn't ask to change/upgrade a package that was renamed

I've cobbled together a bash loop to check this, but I've no doubt there's more sophisticated ways of finding out.

for i in $(yaourt -Qqm); do
  yaourt -Sia "$i" &>/dev/null || echo $i    
done

Requires yaourt, obviously. Basically searches the AUR for "local" packages, and prints out the name of any packages that can't be found.

Last edited by WorMzy (2012-11-14 11:37:07)


Sakura:-
Mobo: ASUS P8Z77-V PRO // Processor: Intel Core i7-3770K 3.4GHz // GFX: nVidia GeForce GTX 970 Ti // RAM: 32GB (4x 8GB) Corsair DDR3 (@ 2133MHz) // Storage: 1x 3TB Seagate SATAII 5x 1TB Samsung SATAII, 2x 120GB Corsair SSD

Offline

#6 2012-11-14 11:47:06

falconindy
Developer
From: New York, USA
Registered: 2009-10-22
Posts: 4,092
Website

Re: Pacman didn't ask to change/upgrade a package that was renamed

The replace mechanism is dependent on the new package declaring replaces=(oldpkg) in the PKGBUILD. It shouldn't be requisite under normal circumstances that you update the dependencies of all preexistent packages.

Offline

#7 2012-11-14 11:51:18

andreyv
Member
From: Riga, Latvia
Registered: 2012-11-02
Posts: 29

Re: Pacman didn't ask to change/upgrade a package that was renamed

WorMzy wrote:

I've cobbled together a bash loop to check this, but I've no doubt there's more sophisticated ways of finding out.

for i in $(yaourt -Qqm); do
  yaourt -Sia "$i" &>/dev/null || echo $i    
done

Requires yaourt, obviously. Basically searches the AUR for "local" packages, and prints out the name of any packages that can't be found.

This works. Thanks! With the help of this command I've found that "powertop2" has also been moved/deleted.

Offline

#8 2012-11-19 09:56:52

andreyv
Member
From: Riga, Latvia
Registered: 2012-11-02
Posts: 29

Re: Pacman didn't ask to change/upgrade a package that was renamed

It turns out that there is indeed a simpler and much faster command to list local packages not found in AUR:

yaourt -Qma | grep local

Offline

#9 2012-11-19 23:36:46

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 5,661

Re: Pacman didn't ask to change/upgrade a package that was renamed

What happens in the case of packages such as consolekit? Will this eventually get removed by pacman or am I supposed to remove it?

Actually, I notice that it shows as "explicitly installed" for some reason so would that be why I still have it?


How To Ask Questions The Smart Way | Help Vampires

Arch Linux | x86_64 | GPT | EFI boot | grub2 | systemd | LVM2 on LUKS
Lenovo x121e | Intel(R) Core(TM) i3-2367M CPU @ 1.40GHz GenuineIntel | Intel Centrino Wireless-N 1000 | US keyboard with Euro | 320G 7200 RPM Seagate HDD

Offline

#10 2012-11-20 09:13:35

andreyv
Member
From: Riga, Latvia
Registered: 2012-11-02
Posts: 29

Re: Pacman didn't ask to change/upgrade a package that was renamed

Yes, you would have to remove it manually.

Offline

Board footer

Powered by FluxBB