Re: Program for creating and managing APT repositories
Florent Rougon <f.rougon@free.fr> writes:
> Hello,
>
> I am not quite sure it is the best place to post this, but anyway.
>
> I wrote a Python script to create and manage APT repositories which has
> the following features:
I think reprepro obsoletes your efforts. I think it already covers all
your needs and much more.
> - supports repositories with a structure almost identical to that of
> the Debian archive, with distributions, the main/contrib/non-free
> sections and package pools (the only difference being that I thought
> the structure pool/p/packagename/<files> was overkill for
> reasonably-sized distributions, and therefore used
> pool/packagename/<files> instead);
>
> - can create and sign the master Release file for a distribution,
> which allows APT 0.6 and later to trust (authenticate) the
> repository after checking the GnuPG signature of the master Release
> file;
>
> - rudimentary command-line interface to remove packages from the
> Sources[.gz,.bz2] and Packages[.gz,.bz2] files;
Reprepro handles all that for you just fine. It also keeps sources in
the archive as long as debs build from it are there (e.g. GPL requires
this) [provided you import sources at all] and removes old versions
when newer ones are added.
Reprepro can also mirror/merge existing repositories into the local
one. I have debian + security in main/contrib/non-free and my own
packages in an extra section local.
> - can automatically replicate the repositories to one or several local
> or remote locations (for the remote case: with scp and ssh[1]).
If you replicate a repository with reprepro (i.e. use a file:// url)
it will use hardlinks where possible. I find that a very usefull
feature to preserve diskspace. For remote replication I just run
reprepro update on the remote site and it updates its mirror.
> That's it. It is adequate to my way of working, and I'd be happy if it
> could be useful to someone else.
>
> The program is documented at http://people.debian.org/~frn/fmdr.txt
> and can be downloaded at http://people.debian.org/~frn/fmdr
>
> Happy hacking.
>
>
> [1] ssh is needed because scp blindly follows symbolic links.
Use rsync.
MfG
Goswin
Reply to: