2009/10/8 Carl Meyer <c...@meyerloewen.net>:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hey all,
>
> I propose adding a bit to the PEP 376 metadata that indicates whether a
> package was installed by user request or as a dependency of another
> package. This would allow (un)installer tools to intelligently remove
> orphaned dependencies, if they so choose. There might be questions about
> the details of such an uninstaller feature, but I'm not intending to
> discuss that here. The metadata itself is simple enough to track, and
> seems like it ought to be included for its future usefulness.
>
> I propose adding a metadata file REQUIRED within the .egg-info
> directory. The presence of this file indicates that the user
> specifically required this distribution. The absence of the file
> indicates that the distribution was installed as a dependency. The
> contents of the file are not used.

Debian's Apt has this capability, see
https://wiki.ubuntu.com/PackageDependencyManagement . It keeps a
separate file to track the manually installed packages, and the flag
is named "Auto-Installed". REQUIRED is an ambiguous name -- is it
required by other packages, or wanted by user for any reason (and that
is the case)?

>
> For the API, I propose adding a "required" property to the Distribution
> class, which would be True or False based on the presence or absence of
> the REQUIRED file.
>
> I've added a demo implementation to a fork of Tarek's pep376 repo on
> bitbucket: http://bitbucket.org/carljm/pep376/changeset/0c8002e65cb7/
>
> Thoughts?
>
> Carl
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to