Глава 9. Отправка пакета

# Глава 9. Отправка пакета

The rewrite of this tutorial document with updated contents and more practical examples is available as Guide for Debian Maintainers. Please use this new tutorial as the primary tutorial document.

Debian now requires source-only uploads for normal upload. So this page is outdated.

Теперь, после тщательного тестирования вашего нового пакета, вы хотите отправить его в публичный архив для использования.

## 9.1. Отправка в архив Debian

После того, как вы станете официальным разработчиком [82], то сможете отправлять пакеты в архив Debian [83]. Вы можете делать это вручную, но легче воспользоваться существующими инструментами автоматизации, такими как dupload(1) или dput(1). Здесь будет рассказано как это сделать с помощью dupload [84].

Сначала, вам нужно настроить конфигурационный файл для dupload. Вы можете отредактировать системный файл `/etc/dupload.conf`, либо создать свой собственный файл `~/.dupload.conf`, указав те настройки, которые нужно изменить.

Описание каждого параметра приведено в справочной странице dupload.conf(5).

Параметр `$default_host` определяет, какая из очередей отправки будет использована по умолчанию. Первичной является `anonymous-ftp-master`, но возможно, что вы захотите использовать другую [85].

Соединившись с Интернетом, вы можете отправить свой пакет следующим образом:

    $ dupload gentoo_0.9.12-1_i386.changes

Команда dupload проверяет, что контрольные суммы SHA1/SHA256 ваших файлов совпадают с указанным в файле `.changes`. Если они не совпадают, она предложит пересобрать пакет (о том, как это правильно делать, смотрите раздел Раздел 6.1, «Полная (пере)сборка»).

Если при отправке в ftp://ftp.upload.debian.org/pub/UploadQueue/ возникли проблемы, то вы можете исправить их вручную загрузив туда файл `*.commands`, подписанный GPG, с помощью ftp [86]. Например, используя `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-----

## 9.2. Включение файла `orig.tar.gz` для отправки

При самой первой отправке пакета в архив, вам также потребуется добавить к нему файл с исходным кодом `orig.tar.gz`. Если номер редакции Debian для данной версии программы не равен `1` или `0`, то вам следует указать команде dpkg-buildpackage параметр `-sa`.

Для команды dpkg-buildpackage:

    $ dpkg-buildpackage -sa

Для команды debuild:

    $ debuild -sa

Для команды pdebuild:

    $ pdebuild --debbuildopts -sa

Противоположный по действию параметр `-sd` позволит исключить файл с исходным кодом `orig.tar.gz`.

## 9.3. Пропущенные отправки

If you created multiple entries in `debian/changelog` by skipping uploads, you must create a proper `*_.changes` file that includes all changes since the last upload. This can be done by specifying the dpkg-buildpackage option `-v` with the version, e.g., ``1.2``.

Для команды dpkg-buildpackage:

    $ dpkg-buildpackage -v1.2

Для команды debuild:

    $ debuild -v1.2

Для команды pdebuild:

    $ pdebuild --debbuildopts "-v1.2"

[82] Смотрите Раздел 1.1, «Социальная динамика Debian».

[83] Существуют публично доступные архивы, например http://mentors.debian.net/, которые работают почти также как архив Debian и предоставляют зону для отправки людям, не имеющим статуса разработчика Debian. Вы можете создать свой архив с помощью инструментов, перечисленных в http://wiki.debian.org/HowToSetupADebianRepository. Поэтому данный раздел также будет полезен не только разработчикам Debian.

[84] Сейчас, вероятно, пакет `dput` имеет больше возможностей и становится более популярным, чем `dupload`. Для его настройки используется системный файл `/etc/dput` и пользовательский `~/.dput.cf`. Также он поддерживается службами Ubuntu без дополнительной настройки.

[85] See Debian Developer's Reference 5.6, "Uploading a package".

[86] Смотрите ftp://ftp.upload.debian.org/pub/UploadQueue/README. Или же вы можете использовать команду dcut из пакета `dput`.

Глава 8. Обновление пакета |  | Приложение A. Углублённое пакетирование