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

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: