Time for a Python "distribution" ? was:Not enough Python library development

Bruce Sass bsass at freenet.edmonton.ab.ca
Sat Jul 7 17:23:57 EDT 2001


On 6 Jul 2001, Andrew Kuchling wrote:
> Bruce Sass's suggestion of using the Debian package manager is a good
> one, because apt really provides exactly what we need.  Unfortunately
> porting it to Windows or Mac is probably hard, so we could just steal
> its interface (which seems similar to pyppm's) and reimplement it in
> pure Python.

Thanks.

For anyone wondering what apt-get is, what it does, and why it could
ever be considered...

from the man page:
apt - Advanced Package Tool
...
APT is a management system for software packages.

[Note: It is not for .deb-s or Debian, but for "packages".
 If a task can be broken up into Debian specific and general parts,
 that is how they will do it.]

apt-get ultimately depends on:
libstdc++-libc6.2-2.so.3
libm.so.6
libc.so.6

what apt-get needs externally to work:
- URL to an archive
- a get "method" (it comes with: cdrom, copy, file, ftp, gzip,
  http, rsh, and ssh, as separate executables)
- a package manager

apt-get does not (but you may have expected it to):
- present a list of available packages
- display stats of installed packages
- know anything about where files are stored on the fs
- actually fetch packages via some protocol
- actually install or remove packages from the system

apt-get handles:
- dependency calculations (real and virtual packages, which may have
  Pre-Depends, Depends, Provides, Recommends, Suggests, and Conflicts
  attributes as required)
- managing the fetching and installation of package(s) (which archive
  to use, which verion to get, what order to do it in)
- some utility functions (print URIs only, download but don't install,
  only fetch part of a source packages, stick with a specific
  version or distribution, etc.)
- third-party additions (e.g., apt-localepurge, to automatically
  remove all those foreign language files you never use)

I do not see anything that says, "Linux only".

The package manager would need to be a wrapper around whatever is
native to the system (that would be totally new code); and if Debian's
archive structure (a pool of packages, with named distributions being
a subset of the pool) is OK... it may be an uneventful port...
but, hey, what do I know I've never ported an app.

You can start to determine the feasibility yourself by looking at...

	http://packages.debian.org/unstable/base/apt.html

...including links to the source and dependencies
(and their sources, etc.).

You can see what apt-related stuff has already been developed by using
one of the forms at packages.debian.org and searching on "apt".


- Bruce







More information about the Python-list mailing list