You are not logged in.

#1 2007-05-24 06:02:10

funkyou
Member
From: Berlin, DE
Registered: 2006-03-19
Posts: 848
Website

pacman does not update reverse dependencies

Hi there,

i just stumbled over a weird pacman problem. Lets see...

Take a look at this output. As you can see, arts depends on libaudio.so.2 which is provided by nas:

$ ldd /opt/kde/bin/artsd
        linux-gate.so.1 =>  (0xb7fc2000)
        libsoundserver_idl.so.1 => /opt/kde/lib/libsoundserver_idl.so.1 (0xb7f65000)
        libkmedia2_idl.so.1 => /opt/kde/lib/libkmedia2_idl.so.1 (0xb7f27000)
        libartsflow.so.1 => /opt/kde/lib/libartsflow.so.1 (0xb7e23000)
        libmcop_mt.so.1 => /opt/kde/lib/libmcop_mt.so.1 (0xb7e1f000)
        libartsflow_idl.so.1 => /opt/kde/lib/libartsflow_idl.so.1 (0xb7d77000)
        libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0xb7d36000)
        libasound.so.2 => /usr/lib/libasound.so.2 (0xb7c75000)
        libaudio.so.2 => /usr/lib/libaudio.so.2 (0xb7c60000)
        libXt.so.6 => /usr/lib/libXt.so.6 (0xb7c11000)
        libesd.so.0 => /usr/lib/libesd.so.0 (0xb7c09000)
        libjack.so.0 => /usr/lib/libjack.so.0 (0xb7bef000)
        libmcop.so.1 => /opt/kde/lib/libmcop.so.1 (0xb7b55000)
        libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0xb7b4e000)
        libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0xb7a50000)
        libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb7a27000)
        libogg.so.0 => /usr/lib/libogg.so.0 (0xb7a22000)
        libmad.so.0 => /usr/lib/libmad.so.0 (0xb7a0b000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7a08000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7a04000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb7a00000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb796e000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7957000)
        librt.so.1 => /lib/librt.so.1 (0xb794d000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7869000)
        libm.so.6 => /lib/libm.so.6 (0xb7844000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb7839000)
        libc.so.6 => /lib/libc.so.6 (0xb770e000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb770a000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0xb7702000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0xb76ea000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb75fd000)
        /lib/ld-linux.so.2 (0xb7fc3000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb75f7000)

The package also has nas in its dependencies:

pacman -Qi kdemod-arts
Name                 : kdemod-arts
Version              : 1.5.7-2
URL                  : http://www.arts-project.org
Lizenz               : GPL
Gruppen              : kdemod
Stellt bereit        : arts
Hängt ab von         : kdemod-kde-common  jack-audio-connection-kit  audiofile  alsa-lib
                        qt-enhanced  libmad  libvorbis  glib2  esd  nas
Entfernt             : Nichts
Benötigt von         : kdemod-kdelibs
Konflikt mit         : arts
Installationsgröße   : 5274,11 K
Packer               : Jan Mette <spam-o-mat@nickname.berlin.de>
Architektur          : i686
Erstellt am          : Sat May 19 16:18:48 2007 UTC
Bauart               : Unbekannt
Installiert am       : Thu May 24 05:35:55 2007 UTC
Installationsgrund   : Ausdrücklich installiert
Installations-Skript : Nein
Beschreibung         : KDE analog realtime synthesizer (kdemod)

I made new package without the nas dependency (specified --without-nas when configuring and removed the dependency from the PKGBUILD). When updating the package, everything seems to be ok:

sudo pacman -Syu
:: Synchronisiere Paketdatenbanken...
 current ist aktuell
 extra ist aktuell
 community ist aktuell
 funkyou ist aktuell
 kdemod ist aktuell
:: Starte komplette Systemaktualisierung...
Löse Abhängigkeiten auf... Fertig.
Suche nach Zwischen-Konflikten... Fertig.

Pakete: kdemod-arts-1.5.7-3

Gesamte Paketgröße                     : 1,28 MB
Gesamtgröße der installierten Pakete   : 5,14 MB

Installation fortsetzen? [J/n]
Prüfe Paketintegrität... Fertig.
Räume auf... Fertig.
(1/1) Pruefe auf Dateikonflikte                     [####################################] 100%
(1/1) Aktualisiere kdemod-arts                      [####################################] 100%

And arts dont need nas anymore:

$ ldd /opt/kde/bin/artsd
        linux-gate.so.1 =>  (0xb7efd000)
        libsoundserver_idl.so.1 => /opt/kde/lib/libsoundserver_idl.so.1 (0xb7ea0000)
        libkmedia2_idl.so.1 => /opt/kde/lib/libkmedia2_idl.so.1 (0xb7e62000)
        libartsflow.so.1 => /opt/kde/lib/libartsflow.so.1 (0xb7d60000)
        libmcop_mt.so.1 => /opt/kde/lib/libmcop_mt.so.1 (0xb7d5c000)
        libartsflow_idl.so.1 => /opt/kde/lib/libartsflow_idl.so.1 (0xb7cb4000)
        libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0xb7c73000)
        libasound.so.2 => /usr/lib/libasound.so.2 (0xb7bb2000)
        libjack.so.0 => /usr/lib/libjack.so.0 (0xb7b99000)
        libmcop.so.1 => /opt/kde/lib/libmcop.so.1 (0xb7aff000)
        libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0xb7af8000)
        libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0xb79f9000)
        libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb79d0000)
        libogg.so.0 => /usr/lib/libogg.so.0 (0xb79cb000)
        libmad.so.0 => /usr/lib/libmad.so.0 (0xb79b5000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb79b2000)
        libdl.so.2 => /lib/libdl.so.2 (0xb79ae000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb79a9000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7917000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7900000)
        librt.so.1 => /lib/librt.so.1 (0xb78f7000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7813000)
        libm.so.6 => /lib/libm.so.6 (0xb77ee000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb77e2000)
        libc.so.6 => /lib/libc.so.6 (0xb76b7000)
        /lib/ld-linux.so.2 (0xb7efe000)

Also the package doesnt need nas anymore:

pacman -Qi kdemod-arts
Name                 : kdemod-arts
Version              : 1.5.7-3
URL                  : http://www.arts-project.org
Lizenz               : GPL
Gruppen              : kdemod
Stellt bereit        : arts
Hängt ab von         : kdemod-kde-common>=3.5.7  jack-audio-connection-kit  audiofile
                        alsa-lib  qt-enhanced  libmad  libvorbis  glib2
Entfernt             : Nichts
Benötigt von         : kdemod-kdelibs
Konflikt mit         : arts
Installationsgröße   : 5262,15 K
Packer               : Jan Mette <spam-o-mat@nickname.berlin.de>
Architektur          : i686
Erstellt am          : Thu May 24 05:16:11 2007 UTC
Bauart               : Unbekannt
Installiert am       : Thu May 24 05:38:31 2007 UTC
Installationsgrund   : Ausdrücklich installiert
Installations-Skript : Nein
Beschreibung         : KDE analog realtime synthesizer (kdemod)

Now i want to remove nas:

sudo pacman -R nas
Prüfe Abhängigkeiten...
Fehler: Konnte Vorgang nicht vorbereiten (Kann Abhängigkeiten nicht erfüllen)
:: nas wird benötigt von kdemod-arts

But there is no more nas dependency in the package itself... I have uploaded the full pacman --debug output here. There is an error starting on line 131, but i do not understand it... It says that arts is needed by nas, but actually its the other way around: arts needs nas - or more precisely: the old and now updated package release of arts needed nas...

Ok i thought, maybe pacman does some sort of caching and rebooted the machine... After the reboot, i still cant remove nas:

$ sudo pacman -R nas
Prüfe Abhängigkeiten...
Fehler: Konnte Vorgang nicht vorbereiten (Kann Abhängigkeiten nicht erfüllen)
:: nas wird benötigt von kdemod-arts

Again, the package does not have nas as a dependency anymore:

$ pacman -Qi kdemod-arts
Name                 : kdemod-arts
Version              : 1.5.7-3
URL                  : http://www.arts-project.org
Lizenz               : GPL
Gruppen              : kdemod
Stellt bereit        : arts
Hängt ab von         : kdemod-kde-common>=3.5.7  jack-audio-connection-kit  audiofile
                        alsa-lib  qt-enhanced  libmad  libvorbis  glib2
Entfernt             : Nichts
Benötigt von         : kdemod-kdelibs
Konflikt mit         : arts
Installationsgröße   : 5262,15 K
Packer               : Jan Mette <spam-o-mat@nickname.berlin.de>
Architektur          : i686
Erstellt am          : Thu May 24 05:16:11 2007 UTC
Bauart               : Unbekannt
Installiert am       : Thu May 24 06:51:45 2007 UTC
Installationsgrund   : Ausdrücklich installiert
Installations-Skript : Nein
Beschreibung         : KDE analog realtime synthesizer (kdemod)

For the sake of completeness, here is my arts PKGBUILD:

_kdever=3.5.7
_mirror="ftp.fu-berlin.de/pub/unix/X11/gui/kde"
_origname=arts

pkgname=kdemod-$_origname
pkgdesc="KDE analog realtime synthesizer (kdemod)"
arch=(i686 x86_64)

pkgver=1.5.7
pkgrel=3

url="http://www.arts-project.org"
license="GPL"

provides=('arts')
conflicts=('arts')
groups=('kdemod')

depends=('kdemod-kde-common>=3.5.7' 'jack-audio-connection-kit' 'audiofile' 'alsa-lib' 'qt-enhanced' 'libmad' 'libvorbis' 'glib2')

source=(ftp://$_mirror/stable/$_kdever/src/$_origname-$pkgver.tar.bz2 \
    arts-3.5.7-qtmcop-notifications-on-demand.patch)

build() {

      [ "$QTDIR" = "" ] && source /etc/profile.d/qt.sh 
    [ "$KDEDIR" = "" ] && source /etc/profile.d/kde.sh

    cd $startdir/src/$_origname-$pkgver
    patch -Np0 -i $startdir/src/arts-3.5.7-qtmcop-notifications-on-demand.patch || return 1

      ./configure --prefix=/opt/kde --with-alsa --disable-dependency-tracking --disable-debug --enable-gcc-hidden-visibility --enable-final --with-jack --without-nas --without-esd --without-sgilibaudio --without-mas

      make || return 1

      make DESTDIR=$startdir/pkg install || return 1
}

It seems that pacman does not update the reverse dependency of nas <--> arts, because after upgrading arts i can still see the reverse dependency in the nas package:

$ pacman -Qi nas
Name                 : nas
Version              : 1.8b-2
URL                  : http://radscan.com/nas.html
Lizenz               : Nichts
Gruppen              : Nichts
Stellt bereit        : Nichts
Hängt ab von         : libxaw
Entfernt             : Nichts
Benötigt von         : kdemod-arts
Konflikt mit         : Nichts
Installationsgröße   : 1543,60 K
Packer               : Arch Linux (http://www.archlinux.org)
Architektur          : i686
Erstellt am          : Mon Apr  9 08:33:09 2007 UTC
Bauart               : Unbekannt
Installiert am       : Thu May 24 06:51:14 2007 UTC
Installationsgrund   : Ausdrücklich installiert
Installations-Skript : Nein
Beschreibung         : Network Audio System is a network transparent, client/server audio
                       transport system

Last edited by funkyou (2007-05-24 07:29:20)


want a modular and tweaked KDE for arch? try kdemod

Offline

#2 2007-05-24 06:46:23

shining
Pacman Developer
Registered: 2006-05-10
Posts: 2,043

Re: pacman does not update reverse dependencies

You said it didn't work before the reboot and worked after, but you didn't use the same command.
You said you used only -R before and -Rd after.


pacman roulette : pacman -S $(pacman -Slq | LANG=C sort -R | head -n $((RANDOM % 10)))

Offline

#3 2007-05-24 07:03:12

funkyou
Member
From: Berlin, DE
Registered: 2006-03-19
Posts: 848
Website

Re: pacman does not update reverse dependencies

Sorry, internal early morning malfunction on my side wink

I just reverted arts to the old version with nas dependency, repeated the whole thing and updated my post... It seems that the nas dependency is kept by pacman somewhere...


want a modular and tweaked KDE for arch? try kdemod

Offline

#4 2007-05-24 07:14:59

shining
Pacman Developer
Registered: 2006-05-10
Posts: 2,043

Re: pacman does not update reverse dependencies

Oh I see, it looks like the reverse dependency isn't updated.
In pacman -Qi nas , don't you see : Benötigt von         : kdemod-arts
both before and after updating kdemod-arts ?
If so, that's where the dependency is kept smile


pacman roulette : pacman -S $(pacman -Slq | LANG=C sort -R | head -n $((RANDOM % 10)))

Offline

#5 2007-05-24 07:18:29

AndyRTR
Developer
From: Magdeburg/Germany
Registered: 2005-10-07
Posts: 1,641

Re: pacman does not update reverse dependencies

if you think it's a pacman bug then file a report in flyspray so that it won't get lost!

Offline

#6 2007-05-24 07:18:31

funkyou
Member
From: Berlin, DE
Registered: 2006-03-19
Posts: 848
Website

Re: pacman does not update reverse dependencies

Yes, you are right... The reverse dependency is not updated...

Post updated again and a bug has been filed...

Last edited by funkyou (2007-05-24 07:28:53)


want a modular and tweaked KDE for arch? try kdemod

Offline

#7 2012-10-30 15:12:00

lavajoe
Member
From: Colorado, USA
Registered: 2012-10-10
Posts: 4
Website

Re: pacman does not update reverse dependencies

I know this is an old post, but I am curious if the problem got resolved, since the filed bug (https://bugs.archlinux.org/task/7253) was marked as a duplicate of another bug that was not about this particular issue, but rather about keeping track of which package initially pulled in a given package.

It seems to me that the Required By field needs to correctly reflect which packages on the system *currently* require the package, or true orphans could appear as dependencies, and the system could become increasingly cluttered.

I can do some experimenting to see if this issue was ever fixed, but perhaps someone out there knows?

Offline

#8 2012-10-30 15:55:45

fsckd
Forum Fellow
Registered: 2009-06-15
Posts: 4,173

Re: pacman does not update reverse dependencies

moderator note: This is a necro-bump. I will leave this open in case a developer wants to answer.

Experiment, that will get you an answer faster. smile


aur S & M :: forum rules :: Community Ethos
Resources for Women, POC, LGBT*, and allies

Offline

#9 2012-10-30 16:05:22

lavajoe
Member
From: Colorado, USA
Registered: 2012-10-10
Posts: 4
Website

Re: pacman does not update reverse dependencies

lavajoe wrote:

I know this is an old post, but I am curious if the problem got resolved, since the filed bug (https://bugs.archlinux.org/task/7253) was marked as a duplicate of another bug that was not about this particular issue, but rather about keeping track of which package initially pulled in a given package.

It seems to me that the Required By field needs to correctly reflect which packages on the system *currently* require the package, or true orphans could appear as dependencies, and the system could become increasingly cluttered.

I can do some experimenting to see if this issue was ever fixed, but perhaps someone out there knows?

OK, I did an experiment with two AUR packages, in which one depended on the other.  As expected, "Required By" on the dependency showed the parent.  I then removed the dependency, remade the parent package, and re-installed the parent.  Now the "Required By" on the dependency showed "None", as expected.  So it looks like the issue is gone.

Offline

#10 2012-10-30 16:07:55

lavajoe
Member
From: Colorado, USA
Registered: 2012-10-10
Posts: 4
Website

Re: pacman does not update reverse dependencies

fsckd wrote:

moderator note: This is a necro-bump. I will leave this open in case a developer wants to answer.

Experiment, that will get you an answer faster. smile

Yep, agreed, and I just did.  smile

Now, since both of my packages were AUR packages, not sure it's an apples-to-apples comparison (in the original post, the dependency was in a repo), so any dev comments are welcome...

Offline

#11 2012-10-30 22:08:52

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,487
Website

Re: pacman does not update reverse dependencies

pacman now calculates the Required By by scanning the database rather than attempting to keep track of it manually.  So I presume this would be fixed.

Offline

#12 2012-10-30 23:25:02

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

Re: pacman does not update reverse dependencies

And it only took him 5 and a half years to fix it! wink

*ducks*

Last edited by Trilby (2012-10-30 23:25:13)


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

Board footer

Powered by FluxBB