Date: Wed, 09 Apr 2008 12:37:51 -0500 From: Paul Dokas <dokas@oitsec.umn.edu> To: gnome@FreeBSD.org Subject: cyclic dependency hell Message-ID: <47FCFEEF.7020208@oitsec.umn.edu>
next in thread | raw e-mail | index | archive | help
Does anyone know if there's a way to completely rebuild the ports dependency tree without having to do a `pkg_delete -a`? My ports have become seriously messed up after the last round of gnome updates. I'm pretty sure that this all stems from something that is clearly my fault (I didn't follow UPDATING wrt tracker) but this shouldn't be this difficult to fix. First a little background, I neglected to read UPDATING for tracker. As a result, I ended up with something like this: % pkg_info | fgrep tracker tracker-0.6.6_1 tracker-client-0.6.6_2 tracker-gnome-0.6.6_2 tracker-libtrackergtk-0.6.6_2 `pkg_info -L tracker-0.6.6_1` claimed to have no files. It took a `pkg_delete -f tracker-0.6.6_1` to remove it (this was probably my first mistake). From there portupgrade refused to run and said to do a `pkgdb -F`. When I did this I duplicated this lovely error condition: http://lists.freebsd.org/pipermail/freebsd-ports/2007-September/043617.html I let it run to completion (probably my second error). This is when the real fun started. portupgrade won't run (it said to run pkgdb -F). pkgdb -F started claiming that there were cyclic dependencies. So, a little googling later, I find that `make all-depends-list` in a port's directory will tell me which ports are dependencies and I start breaking loops. After a while I noticed that pkgdb -F claimed a loop for which the involved packages also claim to actually depend upon each other. Something is now seriously mangled. Here's my last attempt to fix this: # mv INDEX-7.db INDEX-7.db.old # portsdb -U Updating the ports index ... Generating INDEX.tmp - please wait..Warning: Duplicate INDEX entry: apr-gdbm-db42-1.2.8_3 Warning: Duplicate INDEX entry: mod_rpaf-ap2-0.6 Done. done # portsdb -u [Updating the portsdb <format:bdb_btree> in /usr/ports ... - 18300 port entries found .........1000.........2000.........3000.........4000.........5000.........6000.........7000.........8000.........9000.........10000.........11000.........12000.........13000.........14000.........15000.........16000.........17000.........18000... ..... done] # rm /var/db/pkg/pkgdb.db remove /var/db/pkg/pkgdb.db? y # pkgdb -F ---> Checking the package registry database [Rebuilding the pkgdb <format:bdb_btree> in /var/db/pkg ... - 1213 packages found (-0 +1213) ....................................................................................................100....................................................................................................200....................................................................................................300....................................................................................................400....................................................................................................500....................................................................................................600....................................................................................................700....................................................................................................800....................................................................................................900............................................................... .....................................1000....................................................................................................1100....................................................................................................1200............. done] Cyclic dependencies: nautilus-cd-burner-2.22.0_2 -> deskbar-applet-2.22.0.1 -> gnome-media-2.22.0 -> (nautilus-cd-burner-2.22.0_2) Unlink which dependency? (? to help): And according to `make all-depends-list` on each those, there really is a dependency loop. So, here I am pondering `pkg-delete -a`... Can anyone rescue me from leaping off of this building? I have a hard time imagining that there is no way to get the dependencies back into working order short of starting over. Paul -- Paul Dokas dokas at oitsec.umn.edu ====================================================================== Don Juan Matus: "an enigma wrapped in mystery wrapped in a tortilla."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47FCFEEF.7020208>