Now that you have tested your new package thoroughly, you want to release it to a public archive to share it.
Once you become an official developer, [78] you can upload the package to the Debian archive. [79] You can do this manually, but it's easier to use the existing automated tools, like dupload(1) or dput(1). We'll describe how it's done with dupload. [80]
首先需要设置 dupload 的配置文件。你既可以编辑系统级的
/etc/dupload.conf 文件,也可以使用自己的
~/.dupload.conf 文件覆盖一些需要修改的设置。
你可以阅读 dupload.conf(5) man 手册页来了解各选项的含义。
The $default_host option 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 one.
[81]
While connected to the Internet, you can upload your package as follows:
$ dupload gentoo_0.9.12-1_i386.changes
dupload checks that the SHA1/SHA256 file checksums match
those listed in the .changes file. If they do not
match, it will warn you to rebuild it as described in 第 6.1 节 “完整的(重)构建” so it can be properly uploaded.
If you encounter an upload problem at ftp://ftp.upload.debian.org/pub/UploadQueue/, you can
fix this by manually uploading a GPG-signed *.commands
file to there with ftp. [82] For example, using hello.commands:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Uploader: Foo Bar <Foo.Bar@example.org> Commands: rm hello_1.0-1_i386.deb mv hello_1.0-1.dsx hello_1.0-1.dsc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) [...] -----END PGP SIGNATURE-----
When you first upload the package to the archive, you need to include the
original orig.tar.gz source, too. If the Debian
revision number of this package is neither 1 nor
0, you must provide the
dpkg-buildpackage option -sa.
For the dpkg-buildpackage command:
$ dpkg-buildpackage -sa
For the debuild command:
$ debuild -sa
For the pdebuild command:
$ pdebuild --debbuildopts -sa
On the other hand, the -sd option will force the
exclusion of the original orig.tar.gz source.
If you created multiple entries in debian/changelog by
skipping uploads, you must create a proper *_.changes
file which includes all changes from the last upload. This can be done by
specifying the dpkg-buildpackage option
-v with the version, e.g.,
.
1.2
For the dpkg-buildpackage command:
$ dpkg-buildpackage -v1.2
For the debuild command:
$ debuild -v1.2
For the pdebuild command:
$ pdebuild --debbuildopts "-v1.2"
[78] See 第 1.1 节 “Debian 的社会驱动力”.
[79] There are publicly accessible archives such as http://mentors.debian.net/ which work almost the same way as the Debian archive and provide an upload area for non-DDs. You can set up an equivalent archive by yourself using the tools listed at http://wiki.debian.org/HowToSetupADebianRepository. So this section is useful for non-DDs, too.
[80]
The dput package seems to come with
more features and to be becoming more popular than the dupload package. It uses the file
/etc/dput for its global configuration and the file
~/.dput.cf for per-user configuration. It supports
Ubuntu-related services out-of-the-box, too.
[82] See ftp://ftp.upload.debian.org/pub/UploadQueue/README. Alternatively, you can use the
dcut command from the dput package.