Bug#380583: ITP: debcache -- python module to maintain and serve a cache of Debian packages
Owner: "Adeodato Simó" <firstname.lastname@example.org>
* Package name : debcache
Version : N/A
Upstream Author : Adeodato Simó <email@example.com>
* URL (bzr branch): http://people.debian.org/~adeodato/code/debian/debcache
* License : MIT
Programming Lang: Python
Description : python module to maintain and serve a cache of Debian packages
debcache is another caching solution for Debian packages and other files found
in Debian mirrors. It consists on a Python module with classes that implement
the creation and maintenance of the cache in a transport-agnostic way, on top
of which different front-ends and even user-end applications can be implemented.
This package includes the following front-ends:
* a standalone proxy to serve HTTP requests (like apt-proxy) [TODO]
* a fast mod_python handler that lets Apache serve all the static files
* a command-line client to pre-fetch packages based on the existing ones [TODO]
The module also implements various cleanup mechanisms, including deletion of
no longer referenced files, expiration based on age, and by number of versions
(global or per distribution). [TODO]
Other features include support for downloading Packages files via pdiff (like
apt itself does), and denying clients access to those diffs by default.
* * *
(The story: a year ago or so, and after repeated unhappiness with
apt-proxy and apt-cacher, I wrote my first implementation of a caching
system for Debian packages, in Ruby, which has been doing the job for
over a year, both at home and work.
Recently I became unhappy with it as well, and tried to like approx,
which was really easy even despite the lack of pdiff support (#367475),
but not so much after discovering it would delete source packages from
the cache (#374736), and really impossible after some hours of banging
my head against OCaml repeteadly trying to fix that bug myself.
Since updating my Ruby stuff to support pdiffs really made me shiver,
and since I knew of a pdiff implementation in Python by Florian Weimer,
I found myself one night putting some code together, and using it some
days after. It is still uncomplete, but as of today, SORTAWORKSFORME.)
Adeodato Simó dato at net.com.org.es
Debian Developer adeodato at debian.org
Beauty, brains, availability, personality: pick any two.