Translations: English - Español - Français - Italiano - Português (Brasil) - Русский
Давайте возьмем в качестве примера пакет mame, который существует в sid/experimental, но не в стабильном выпуске. Если пакет, который вы ищете, не доступен в Sid, но доступен в Ubuntu PPA, Вы можете взглянуть на Создание пакета из PPA.
Нам не стоит использовать привилегии суперпользователя root, кроме первого и последнего шагов.
Другой метод бэкпортирования пакетов sid в testing или stable описан в данной секции, на странице Debian Unstable в Wiki.
Contents
- Установка Debian утилит пакетирования
- Поиск доступных версий в архиве Debian
- Загрузка файла .dsc из ветки sid
- Поиск и Установка отсутствующих сборочных зависимостей, найденых в файле debian/control
- Пометим в changelog номер ревизии бэкпорта
- Тестируем пакет на предмет успешной сборки
- Собираем пакет, без подписывания пакета с использованием GPG
- Устанавливаем и наслаждаемся !
- Смотрите также
Установка 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