==========
debinstall
==========

Tool to manipulate Debian package repositories.


Configuration
=============

Before creating repositories; please edit the /etc/debinstall/debinstallrc file.
Here are the description of the fields:

		[debinstall]
		group=<system group which packages will belong to>
		origin=<set an informative message>

		[create]
		destination=<where the remote repositories are>
		configurations=<where the configuration files are/var/lib/debinstall
		default_distribution=<the default distribution if option is missing>

		[upload]
		check_signature=<check gpg signature of the .changes files>
		checkers=<list of debian checkers as lintian, ...>

		[publish]
		sign_repo=<sign the repository by the publisher>
		keyid=<gpg id of the publisher>
		check_signature=<check gpg signature of the .changes files>
		checkers=<list of debian checkers as lintian, ...>

		[archive]
		archivedir=<not used>

Then, you need to invoke `ldi configure` to create initial directories. Then, if you change some values, please re-run this command and you have to clean up old directory yourself.

	% ldi configure

Basic Usage
===========

Now, you can add new repositories::

	% ldi create $REPOSITORY -d unstable,stable
	% ldi create $REPOSITORY -d hardy

Check the new repository with::

	% ldi list
	% ldi list $REPOSITORY

To upload new packages in incoming queue, use::

	% ldi upload $REPOSITORY <debian_changes_file>.changes

If you want to use a repository section different from distribution value, you can override with::

	% ldi upload -d $SECTION $REPOSITORY <debian_changes_file>.changes

Finally, the publisher can now send packages to the public repository with::

	% ldi publish $REPOSITORY

Or just refresh the repository index files (Packages*)::

	% ldi publish --refresh $REPOSITORY

Advanced Usage
==============

Nested repository
-----------------

In a repository, you can make usage of symbolic links to have inner repositories.

For example::

	ln -s <repository_1>/dists/unstable <repository_2>/dists/external

You have now a new virtual repository named "external" from <repository_1> bu using in sources.list::

	deb http://<repository_2>/dists/external/

Read `man ldi` and read documentation in doc/ for more information.

