You are not logged in.

#1 2010-03-16 22:43:48

PC
Member
Registered: 2010-03-16
Posts: 3

Better dependency checking in pacman

I'm often quite unhappy when I install some software and then getting errors like the following everywhere else:

error while loading shared libraries: libjpeg.so.7: cannot open shared object file: No such file or directory

Ok, it usually means that I need to upgrade the whole system. But not only some packages could not be rebuilt in official repositories yet, but also this mistake can ocasionally lead to broken pacman (or ssh, or any other vital component of the system).

I guess it can be fixed. And I have two ideas how to fix that.

First way is to extend dependency checking. In perfect world all packages should write in their dependencies maximum version of package that is needed for this particular package. But almost always we don't know future. It could be fixed by downloading an additional file for already installed package, which says that this particular version of package is not compatible with versions of dependency starting from specified. That dependencies might then be used just like native dependencies of that package. These additional dependencies can be tracked both by hand and automatically (using ldd, namcap, whatever).

Second way is add freebsd-like dependencies on files for packages. So when packages are removed (upgraded) pacman could check if somebody relies on this file.
Probably file list could be maintained by makepkg using something like ldd internally. But may be file dependencies could be used not only for dynamic libraries.

Any thoughts?

Offline

#2 2010-03-17 00:59:31

flamelab
Member
From: Athens, Hellas (Greece)
Registered: 2007-12-26
Posts: 2,160

Re: Better dependency checking in pacman

There is no package on the repositories that hasn't been rebuilt upon libjpeg7 or even 8 (we are on 8 now).

Offline

#3 2010-03-17 01:30:40

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

Re: Better dependency checking in pacman

That pacman-dev mailing list is where these discussions are best to take place.  That way the people who actually do pacman development will see it.

Saying that, there have been plenty of discussions already.  Search the archives.  And in truth, pacman can already do that if we wanted, but Arch requires you to fully update your system.  Partial updates are not good...

Offline

#4 2010-03-17 03:05:23

.:B:.
Forum Fellow
Registered: 2006-11-26
Posts: 5,819
Website

Re: Better dependency checking in pacman

I think Arch dependency checking is just fine as it its?

As Allan said (and you admit in your own post), you're not doing a full update. Basically, you're creating your own problem.


Got Leenucks? :: Arch: Power in simplicity :: Get Counted! Registered Linux User #392717 :: Blog thingy

Offline

#5 2010-03-17 07:22:50

PC
Member
Registered: 2010-03-16
Posts: 3

Re: Better dependency checking in pacman

But there are plenty of problems:

1. I want to setup a new little program. Am I supposed to wait to a full system upgrade?
2. There are no drivers for ATI video for current xorg server now. Do I need to add ALL dependencies of old catalyst to IgnorePkg recursively? Or I need to add xorg-server only and hope nothing will break?
3. Am I supposed to rebuild all packages from AUR after upgrade?
4. Seems there are lots of topics with such mistakes in this forum.

Offline

#6 2010-03-17 07:49:09

toffyrn
Member
Registered: 2008-10-07
Posts: 221

Re: Better dependency checking in pacman

I do a "-Syu" regularly, and I havent seen any problems for a long time now! smile

Both pacman and Devs are doing a great job. Its not their fault that ATI dont give proper support and user-built packages dont work.

Offline

#7 2010-03-17 07:58:24

tomk
Forum Fellow
From: Ireland
Registered: 2004-07-21
Posts: 9,839

Re: Better dependency checking in pacman

1. Yes. Not a big deal for the typical Arch user, as regular system updates are recommended.
2. Yes. IgnorePkg is for any packages that you want to exclude from regular updates.
3. Not all packages - all affected packages e.g. if you upgrade libjpeg, rebuild all AUR packages that are built against it.
4. Agreed, there were quite a few threads, but invariably they were instances of #1 and/or #3 above.

Offline

Board footer

Powered by FluxBB