[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#41091: Apt fails to install some packages



Le Mon, Jul 12, 1999 at 09:01:45PM -0600, Jason Gunthorpe écrivait:
> Well, in that case it would be more ideal to write a new apt-cache
> function. You give it a list of packages and it prints out a dependecy
> analyisis, you can then parse that to decide what to include. 
> 
> Even more sensible would be to just write your cd-fitting code using the
> APT library, it has all the information directly available. If you outline
> how you work it now I could probably write such a thing for you rather
> quickly.

Yes, that would be great ! Using apt-get enables me to do 2 things :
- detect easily all the dependent packages needed in order to
  make the CD consistent
- reject those where there is a real problem (dependency on a missing
  package for example)

The limit of the actual method is that some packages fails to be added
because apt-get fails to install them without more information ...

It would be great if you could write a function that would output something
like that :

$ apt-cache dep-tree sympa nasm-mode
Package: sympa
 Depends: mailtools
  Depends: libtime-date-perl
 Depends: libdigest-md5-perl
 Depends: libmime-perl
  Depends: libmime-base64-perl
 Depends: libmsgcat-perl
 Suggests: libnet-ldap-perl
  Depends: libconvert-ber-perl
 Suggests: libdbi-perl
 Recommends: sympa-doc
  Suggests:
Package: nasm-mode
 Depends: xemacs19-nomule, xemacs19-mule, ..., xemacs20-mule-canna

You should not list here dependencies that are already satisfied by
packages listed as installed in the status file.

Each line should only list one package when possible (ie when apt-get
can select one between more in a OR group). When there is a
virtual dependency, you should list all the packages that provides
the virtual package in question. I'll be able to use this information to
check if I have already included one of the listed packages...

Each space added (at the beginning) means one level deeper in the tree 
of course. All packages listed on a single line are supposed to be "ORed"
in the dependency line. It would be cool if we could control (with an
option) whether or not we want to travel through the Suggests and
Recommends line ... I don't need to see the Conflicts tree but you may
use this information to possibly reject some packages from an ORed group
if it conflicts with one of the package listed on the command line ...

Concerning unresolvable dependencies, you should list them, my program
will detect that it does need an non-existent package and it will not be
included.

And thank you very much for your proposal, at the beginning I wanted to
write something like that myself but I don't know C++ and had much
problems understanding the apt sources ...

Cheers,
-- 
Hertzog Raphaël >> 0C4CABF1 >> http://prope.insa-lyon.fr/~rhertzog/


Reply to: