Difference between revisions of "Debian Package Repositories"

From FreekiWiki
Jump to navigation Jump to search
(fix bug in dput.cf, other minor tweaks)
m (generate Release files by default)
Line 18: Line 18:
  
 
  [DEFAULT]
 
  [DEFAULT]
  architectures = all, i386, sparc, powerpc
+
  architectures = all, i386, powerpc
 
  archivedir = ~/public_html/debian/
 
  archivedir = ~/public_html/debian/
 
  use_dnotify = 0
 
  use_dnotify = 0
Line 27: Line 27:
 
  poll_time = 10
 
  poll_time = 10
 
  mail_log_level = NONE
 
  mail_log_level = NONE
 +
generate_release = 1
 +
release_origin = llama.freegeek.org
 
  [unstable]
 
  [unstable]
 
  [experimental]
 
  [experimental]
Line 57: Line 59:
 
the same as the target architecture of the package). i.e. i386
 
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
+
now that you've located a .changes file(note: any file referenced in the
[http://packages.debian.org/dput dput] to upload the packages into your
+
.changes file must be also be present in the same directory as the .changes
mini-dinstall repository (any file referenced in the .changes file must be also
+
file), you'll need to use the tool [http://packages.debian.org/dput dput] to
be present in the same directory as the .changes file):
+
upload the packages into your mini-dinstall repository:
  
  
Line 82: Line 84:
 
dput -u llama simple-cdd_0.2.0_i386.changes
 
dput -u llama simple-cdd_0.2.0_i386.changes
  
TODO: someday this document will also describe using
+
TODO: someday this document will also describe using [http://packages.debian.org/reprepro reprepro].
[http://packages.debian.org/reprepro reprepro].
 

Revision as of 15:01, 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 mini-dinstall.

this document assumes that you have an account on llama.freegeek.org, and that you have just built a debian package with debuild.

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, 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
generate_release = 1
release_origin = llama.freegeek.org
[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:

simple-cdd_0.2.0_i386.changes

SOURCE-NAME_VERSION_ARCHITECTURE.changes

SOURCE-NAME: the source package name. i.e. simple-cdd

VERSION: the version of the source package. i.e. 0.2.0

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(note: any file referenced in the .changes file must be also be present in the same directory as the .changes file), you'll need to use the tool dput to upload the packages into your mini-dinstall repository:


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

dput -u local simple-cdd_0.2.0_i386.changes

(you can leave off the -u if you are using gpg to sign your .changes file, which is a very good thing to do!)

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 = ssh llama.freegeek.org /usr/bin/mini-dinstall --batch

dput -u llama simple-cdd_0.2.0_i386.changes

TODO: someday this document will also describe using reprepro.