[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ 下一页 ]


Debian新维护人员手册
第 8 章 - 上传软件包


现在你已经完整地测试过你的新软件包了,你可以开始Debian新维护者申请的过 程,http://www.debian.org/devel/join/newmaint讲述了这个过程。


8.1 上传到Debian档案库

一旦你成为正式的开发人员,你就可以上传软件包到Debian文档中了。你可以手 工做这件事情,但如果使用一些已经提供的自动化工具(比如dupload(1)dput(1)),这个过 程将会变得更容易。我们将仔细描述如何使用dupload来完成这一任务。

首先你必需设定dupload的配制文件。你可以修改会影响整个系统的文件/etc/dupload.conf,或者是创建一个属于你自己的文件~/.dupload.conf,来覆盖系统文件中一些你希望修改的部分。把下面的 内容添加到文件中去:

       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;

当然,要把我的个人设置改成你的,再阅读一下dupload.conf(5)的手册,搞懂这里的每一个选项是什么意思。

设定$default_host选项是最有窍门的——它会自动检查缺省情况下究竟使用哪一个 上传序列。“anonymous-ftp-master”是一个主序列,但很有可能你会希望能够使 用另外一个更快的。要了解关于上传序列(queues)的更多内容,请阅读位于/usr/share/doc/developers-reference/ch-pkgs.en-us.iso-8859-1.html#s-upload的开发人员参考中“Uploading a package”一节。

然后连接到你的Internet服务提供商,并且运行下面的命令:

       dupload gentoo_0.9.12-1_i386.changes

dupload会检查文件的MD5校验码是否和.changes文件中的相同,正因为 此,它才会象在完整的rebuild, 第 6.1 节中所述警告你重新构建软件包, 只有这样它才能正常上传软件包。

如果你在ftp://ftp-master.debian.org/pub/UploadQueue/上传时遇到问题,可以通过用ftp程序手动上传以gnupg签名的*.commands文件到ftp://ftp-master.debian.org/pub/UploadQueue/来解决这个问题。 [3] 例如,使用hello.commands:

     -----BEGIN PGP SIGNED MESSAGE-----
     
     Uploader: Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de>
     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 上传到私有的档案库

如果你想要创建一个私有的档案库,并以开发者的身份简单使用dupload -t target_name命令将其放在URL="http://people.debian.org/~account_name"中, 你需要在/etc/dupload.conf文件中加入:

     # 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!'";

这里,APT档案库是使用一个快速但写的不太好的脚本通过远程SSH来完成的。dpkg-scanpackagesdpkg-scansources需要的覆盖文件都使 用了/dev/null。非Debian开发者可以使用这一技术在他自己的Web站 点上放置他自己的包。你也可以使用apt-ftparchive或其它脚本来创 建APT档案库。


[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ 下一页 ]


Debian新维护人员手册

version 1.2.3, 2005年4月3日.

Josip Rodin joy-mg@debian.org
中文版翻译:李凌 lilingv@gmail.com
中文版翻译:郑原真 ycheng@slat.org