Translation(s): English - Français - Italiano - Русский


Давайте возьмем в качестве примера пакет mame, который существует в sid/experimental, но не в стабильном выпуске. Если пакет, который вы ищете, не доступен в Sid, но доступен в Ubuntu PPA, Вы можете взглянуть на Создание пакета из PPA.

Нам не стоит использовать привилегии суперпользователя root, кроме первого и последнего шагов.

Другой метод бэкпортирования пакетов sid в testing или stable описан в данной секции, на странице Debian Unstable в Wiki.

Установка Debian утилит пакетирования

sudo apt-get install packaging-dev debian-keyring devscripts equivs

Поиск доступных версий в архиве Debian

rmadison mame --architecture amd64
 mame | 0.146-5 | wheezy/non-free       | amd64
 mame | 0.146-5 | jessie/non-free       | amd64
 mame | 0.146-5 | sid/non-free          | amd64
 mame | 0.148-1 | experimental/non-free | amd64

Загрузка файла .dsc из ветки sid

Из веб-браузера на странице http://packages.debian.org/sid/mame, найдите ссылку на dsc файл и скопируйте ссылку.

dget -x http://ftp.ru.debian.org/debian/pool/non-free/m/mame/mame_0.148-1.dsc

Примечание: Если приведенная выше команда сообщает вам, что директория ~/.gnupg не найдена, то запустите gpg -k для инициализации директории GnuPG, затем повторите попытку.

Поиск и Установка отсутствующих сборочных зависимостей, найденых в файле debian/control

cd mame-0.148
sudo mk-build-deps --install --remove

Это установит пакет с именем mame-build-deps, у которого будут в зависимостях нужные пакеты для сборки. Если вы удалите этот пакет позже, то оставшиеся пакеты по зависимостям от этого пакета будут помечены "automatically installed and no longer needed" и их можно будет очистить/удалить командой apt-get autoremove.

Пометим в changelog номер ревизии бэкпорта

dch --local ~bpo80+ --distribution jessie-backports "Rebuild for jessie-backports."

Это добавит что-то подобное ~bpo80+ к номеру версии пакета. Тильда ~ делает пакет уступающим в версии, что должно обеспечить обновление надлежащего пакета до следующей версии в Debian (т.е. ваш пакет будет заменен на официальный пакет Debian).

Тестируем пакет на предмет успешной сборки

fakeroot debian/rules binary

Если это завершиться ошибкой с отсутствующим файлом, то команда apt-file может быть полезна для выявления требуемых зависимостей.

Собираем пакет, без подписывания пакета с использованием GPG

dpkg-buildpackage -us -uc

Устанавливаем и наслаждаемся !

sudo dpkg -i ../mame_0.148-1_amd64.deb

Смотрите также