OpenCSW Bug Tracker


Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0004301 [pkg_get] regular use minor always 2010-02-23 04:49 2010-03-12 16:00
Reporter flod View Status public  
Assigned To bonivart
Priority normal Resolution no change required  
Status closed  
Summary 0004301: pkgutil -u stops exits with unresolvable dependencies in the catalog
Description If any of the installed packages has an unresolvable in the catalog, pkgutil -u will exit with:
Package <name> not in catalog...exiting.

Systems can now only be updated manually with
pkgutil -u <package>
Additional Information See bug 4282 for an actual example in the opencsw repository.
Tags No tags attached.
Attached Files

- Relationships

-  Notes
(0007491)
bonivart (developer)
2010-02-23 09:15

Yes, it's impossible to resolve the dependency chain if the catalog is broken. What do you suggest I do? The system can not work without its dependencies anyway so what's the point of going forward even though a problem has been detected?

What we do in these cases (0004282) is to get the package fixed. I think I know who this might belong to, I will poke him. :-)
(0007497)
bonivart (developer)
2010-02-23 15:26

I just saw someone try to install this with pkg-get and they ended up with a broken system since it uninstalled the CSWpysetuptools before discovering that CSWpydistutils is not available and then crashing.

I think it's better to know in advance that the operation can not succeed.
(0007498)
bonivart (developer)
2010-02-23 15:27

See previous notes.
(0007503)
flod (reporter)
2010-02-23 15:52

(1) It's clear that the dependencies for the problematic package can not be resolved. The update for this package should be aborted.

(2) For me it would make more sense to skip packages with unresolvable dependencies (instead of exiting before updating the sane packages). But this might depend on any policies for the opencsw catalog as a whole. If the whole catalog is considered problematic/buggy with an unresolvable dependency than it makes sense to me, to stop updating at all.

(3) I have no idea how the dependencies are resolved any way. If it is not possible to nicely skip a package, I would leave it as it is.

(4) Maybe it makes more sense to check the integrity of the catalog on the server side. Is it possible to check for unresolvable dependencies before updating packages in the repository or when rebuilding the catalog?
(0007509)
bonivart (developer)
2010-02-23 17:45

I think key here is what you're saying in (4), to produce a correct catalog (and hopefully correct packages to go with it :-). The problem has been to introduce modern ways of producing the catalog and quality checking of said catalog. Finally, there seems to be some progress with quality checking at least and my chkcat utility (from CSWpkgutilplus) is supposed to be used. Unfortunately it only says warning about a missing dependency, it should have error status and it's been fixed so running it with the -e (erroronly) option on the current catalog clearly shows us our problem:

$ chkcat -e /var/opt/csw/pkgutil/catalog.ftp.df.lth.se_pub_csw_current_i386_5.10
ERROR! Dependency CSWpydistutils of package CSWpysetuptools is missing.

When I get this fixed version into service we will no longer produce catalogs with these kinds of problems.
(0007570)
bonivart (developer)
2010-03-03 11:16

This is a mix of intended behavior (in pkgutil) and fixes needed earlier in the chain (quality catalogs). I have helped OpenCSW with a better catalog checking utility so hopefully our catalogs will improve.


Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker