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


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

Установка Debian SDK

su -c "apt-get install devscripts build-essential"

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

Взгляните на содержимое файла dsc из веб-браузера по адресу http://packages.debian.org/sid/mame, или выполните:

dget -u http://ftp.de.debian.org/debian/pool/non-free/m/mame/mame_0.142-1.dsc

Заметьте, что -u заставляет dget не проверять подпись пакета с исходным кодом. Если у вас установлен пакет debian-keyring, то в этом случае вы можете использовать ключ -x вместо проверки подписи. Используйте команду dpkg-source -x mame_0.142-1.dsc чтобы игрнорировать проблемы с подписью и в любом случае распаковать исходный код.

Установите зависимости найденные из debian/control

cd mame-0.142
grep Build-Depends debian/control
Build-Depends: debhelper (>= 8), libexpat1-dev, libsdl1.2-dev, zlib1g-dev, libxinerama-dev, libgconf2-dev, libgtk2.0-dev, libsdl-ttf2.0-dev
su -c "apt-get install debhelper libexpat1-dev libsdl1.2-dev zlib1g-dev libxinerama-dev libgconf2-dev libgtk2.0-dev libsdl-ttf2.0-dev"

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

dch -l~bpo70+ -Dwheezy-backports "Rebuild for wheezy-backports."

Напишите что-нибудь вроде "my first backport" и сохраните изменения в файле.

Это действие добавит что-то подобное ~bpo70+ к номеру версии пакета. Тильда ~ делает пакет уступающим в версии, что должно обеспечить обновление надлежащего пакета до следующей версии в Debian.

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

fakeroot debian/rules binary

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

dpkg-buildpackage -us -uc

Установите и получайте удовольствие !

su -c "dpkg -i ../mame_0.142-1_amd64.deb"