Difference between revisions of "Debian Package Repositories"

From FreekiWiki
Jump to navigation Jump to search
(skeleton of package repository howto)
 
(describe using mini-dinstall and dput)
Line 1: Line 1:
explain the use of mini-dinstall and reprepro.
+
How to set up a debian package repository
  
installing into user web pages on llama.
+
several tools are useful for building package repositories.  the simplest and
 +
most limited are:
 +
 
 +
dpkg-scanpackages from the [http://packages.debian.org/ dpkg-dev] package
 +
 
 +
apt-ftparchive from the [http://packages.debian.org/ apt-utils] package
 +
 
 +
this document discusses using [http://packages.debian.org/mini-dinstall
 +
mini-dinstall].
 +
 
 +
this document assumes that you have an account on llama.freegeek.org.
 +
 
 +
first thing you need is a .mini-dinstall.conf in your home directory on
 +
llama.freegeek.org, here's an example(based almost entirely on
 +
/usr/share/doc/mini-dinstall/examples/mini-dinstall.conf.walters):
 +
 
 +
[DEFAULT]
 +
architectures = all, i386, sparc, powerpc
 +
archivedir = ~/public_html/debian/
 +
use_dnotify = 0
 +
verify_sigs = 0
 +
extra_keyrings = ~/.gnupg/pubring.gpg
 +
mail_on_success = 0
 +
archive_style = flat
 +
poll_time = 10
 +
 
 +
mail_log_level = NONE
 +
 
 +
[unstable]
 +
 
 +
[experimental]
 +
 
 +
now run mini-dinstall to initialize the repository:
 +
 
 +
mini-dinstall --batch
 +
 
 +
 
 +
you should now be able to browse to http://llama.freegeek.org/~USERNAME/debian
 +
 
 +
but you'll see that the Packages files in unstable and experimental are empty.
 +
 
 +
to install something into your repository, you need to grab the .changes file
 +
produced from running debuild (part of the
 +
[http://packages.debian.org/devscripts devscripts] package).
 +
 
 +
it's usually in the directory just above where you built the package(..), and
 +
named something like:
 +
 
 +
libwww-mediawiki-client-perl_0.27-0+vagrant.1_i386.changes
 +
 
 +
SOURCE-NAME_VERSION_ARCHITECTURE.changes
 +
 
 +
SOURCE-NAME: the source package name. i.e. libwww-media-wiki-client-perl
 +
 
 +
VERSION: the version of the source package. i.e. 0.27-0+vagrant.1
 +
 
 +
ARCHITECTURE: the architecture these packages were built on (not necessarily
 +
the same as the target architecture of the package). i.e. i386
 +
 
 +
now that you've located a .changes file, you'll need to use the tool
 +
[http://packages.debian.org/dput dput] to add upload the packages into your
 +
mini-dinstall repository:
 +
 
 +
if you built the packages on llama.freegeek.org, it's quite simple:
 +
 
 +
dput local libwww-mediawiki-client-perl_0.27-0+vagrant.1_i386.changes
 +
 
 +
if you built the packages on another machine, you'll need to define a
 +
~/.dput.rc file for llama.freegeek.org, on the machine you're uploading from:
 +
 
 +
[llama]
 +
method = scp
 +
fqdn = llama.freegeek.org
 +
incoming = /home/vagrant/public_html/debian/mini-dinstall/incoming
 +
#run_dinstall = 0
 +
post_upload_command = /usr/bin/mini-dinstall --batch
 +
 
 +
dput llama libwww-mediawiki-client-perl_0.27-0+vagrant.1_i386.changes
 +
 
 +
TODO: someday this document will also describe using
 +
[http://packages.debian.org/reprepro reprepro].

Revision as of 12:10, 28 July 2005

How to set up a debian package repository

several tools are useful for building package repositories. the simplest and most limited are:

dpkg-scanpackages from the dpkg-dev package

apt-ftparchive from the apt-utils package

this document discusses using [http://packages.debian.org/mini-dinstall mini-dinstall].

this document assumes that you have an account on llama.freegeek.org.

first thing you need is a .mini-dinstall.conf in your home directory on llama.freegeek.org, here's an example(based almost entirely on /usr/share/doc/mini-dinstall/examples/mini-dinstall.conf.walters):

[DEFAULT]
architectures = all, i386, sparc, powerpc
archivedir = ~/public_html/debian/
use_dnotify = 0
verify_sigs = 0
extra_keyrings = ~/.gnupg/pubring.gpg
mail_on_success = 0
archive_style = flat
poll_time = 10
mail_log_level = NONE
[unstable]
[experimental]

now run mini-dinstall to initialize the repository:

mini-dinstall --batch


you should now be able to browse to http://llama.freegeek.org/~USERNAME/debian

but you'll see that the Packages files in unstable and experimental are empty.

to install something into your repository, you need to grab the .changes file produced from running debuild (part of the devscripts package).

it's usually in the directory just above where you built the package(..), and named something like:

libwww-mediawiki-client-perl_0.27-0+vagrant.1_i386.changes

SOURCE-NAME_VERSION_ARCHITECTURE.changes

SOURCE-NAME: the source package name. i.e. libwww-media-wiki-client-perl

VERSION: the version of the source package. i.e. 0.27-0+vagrant.1

ARCHITECTURE: the architecture these packages were built on (not necessarily the same as the target architecture of the package). i.e. i386

now that you've located a .changes file, you'll need to use the tool dput to add upload the packages into your mini-dinstall repository:

if you built the packages on llama.freegeek.org, it's quite simple:

dput local libwww-mediawiki-client-perl_0.27-0+vagrant.1_i386.changes

if you built the packages on another machine, you'll need to define a ~/.dput.rc file for llama.freegeek.org, on the machine you're uploading from:

[llama]
method = scp
fqdn = llama.freegeek.org
incoming = /home/vagrant/public_html/debian/mini-dinstall/incoming
#run_dinstall = 0
post_upload_command = /usr/bin/mini-dinstall --batch

dput llama libwww-mediawiki-client-perl_0.27-0+vagrant.1_i386.changes

TODO: someday this document will also describe using reprepro.