[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ next ]



Debian New Maintainers' Guide
Chapter 8 - Uploading the package


Now that you have tested your new package thoroughly, you will be ready to start the Debian new maintainer application process, as described at http://www.debian.org/devel/join/newmaint


8.1 Uploading to the Debian archive

Once you become an official developer, you'll need to upload the package to the Debian archive. You can do this manually, but it's easier to use the provided automated tools, like dupload(1) or dput(1). We'll describe how it's done with dupload.

First you have to set up dupload's config file. You can either edit the system-wide /etc/dupload.conf file, or have your own ~/.dupload.conf file override the few things you want to change. Put something like this in the file:

       package config;
     
       $default_host = "anonymous-ftp-master";
     
       $cfg{'anonymous-ftp-master'} = {
             fqdn => "ftp-master.debian.org",
             method => "ftp",
             incoming => "/pub/UploadQueue/",
             # files pass on to dinstall on ftp-master which sends emails itself
             dinstall_runs => 1,
       };
     
       1;

You can read the dupload.conf(5) manual page to understand what each of these options means.

The $default_host option is the trickiest one -- it determines which of the upload queues will be used by default. "anonymous-ftp-master" is the primary one, but it's possible that you will want to use another, faster one. For more information about the upload queues, read the Developers' Reference, section "Uploading a package", at /usr/share/doc/developers-reference/ch-pkgs.en-us.iso-8859-1.html#s-upload

Then connect to your Internet provider, and issue this command:

       dupload gentoo_0.9.12-1_i386.changes

dupload checks that the MD5 checksums of the files match those from the .changes file, so it will warn you to rebuild it as described in Complete rebuild, Section 6.1 so it can properly upload.

If you encounter an upload problem at ftp://ftp-master.debian.org/pub/UploadQueue/, you can fix this by manually uploading gnupg signed *.commands file to ftp://ftp-master.debian.org/pub/UploadQueue/ with ftp. [3] For example, use hello.commands:

     -----BEGIN PGP SIGNED MESSAGE-----
     
     Uploader: Roman Hodek <[email protected]>
     Commands: 
      rm hello_1.0-1_i386.deb
      mv hello_1.0-1.dsx hello_1.0-1.dsc
     
     -----BEGIN PGP SIGNATURE-----
     Version: 2.6.3ia
     
     iQCVAwUBNFiQSXVhJ0HiWnvJAQG58AP+IDJVeSWmDvzMUphScg1EK0mvChgnuD7h
     BRiVQubXkB2DphLJW5UUSRnjw1iuFcYwH/lFpNpl7XP95LkLX3iFza9qItw4k2/q
     tvylZkmIA9jxCyv/YB6zZCbHmbvUnL473eLRoxlnYZd3JFaCZMJ86B0Ph4GFNPAf
     Z4jxNrgh7Bc=
     =pH94
     -----END PGP SIGNATURE-----

8.2 Uploading to a private archive

If you want to create a personal package archive at URL="http://people.debian.org/~account_name" as a developer with simple invocation of dupload -t target_name, you should add the following to /etc/dupload.conf file:

     # Developer account
     $cfg{'target_name'} = {
             fqdn => "people.debian.org",
             method => "scpb",
             incoming => "/home/account_name/public_html/package/",
             # I do not need to announce
             dinstall_runs => 1,
     };
     $cfg{'target_name'}{preupload}{'changes'} = "
             echo 'mkdir -p public_html/package' | ssh people.debian.org  2>/dev/null ; 
             echo 'Package directory created!'";
     
     $cfg{'target_name'}{postupload}{'changes'} = "
             echo 'cd public_html/package ;
             dpkg-scanpackages . /dev/null >Packages || true ;
             dpkg-scansources . /dev/null >Sources || true ;
             gzip -c Packages >Packages.gz ;
             gzip -c Sources >Sources.gz ' | ssh people.debian.org  2>/dev/null ;
             echo 'Package archive created!'";

Here, the APT archive is built with a quick and dirty remote shell execution with SSH. The override files required by dpkg-scanpackages and dpkg-scansources are given as /dev/null. This technique can be used by a non Debian Developer to host his packages on his personal web site. Alternatively you can use apt-ftparchive or other scripts to create an APT archive.


[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ next ]


Debian New Maintainers' Guide


version 1.2.11, 12 January 2007.

Josip Rodin [email protected]