Преди около година обясних как създаване на пакети за Archlinux. Е, днес ще обясня как да ги създавам от пакети дебютантка, използваните в Debian / Mint / Ubuntu / и др.
Тази статия възникна след четене на въпрос от потребителя във форума jorgegc защото не можах да инсталирам пакет от AUR, главно защото е остарял и използва версия прекратено на PKGBUILD (за щастие вече съм правил пакети по този начин), ще обясня и как да правя пакети от програми, които се нуждаят 32-битови библиотекиНа затворен код o вече съставен и че има различни пакети за изтегляне.
Основата за PKGBUILD е същата, само с няколко промени.
Първата промяна ще бъде използването на изречение ако elif от Баш
if [ "${CARCH}" = 'x86_64' ]; then
ARCH='amd64'
md5sums=('192a0a222893d59d95f00c34f3c8a674')
depends=('openal' 'lib32-openal')
elif [ "${CARCH}" = 'i686' ]; then
ARCH='i386'
md5sums=('047c670443124193c5cc3dd54da99925')
depends=('openal')
fi
source=("http://www.unaurl.com/files/${name}.$ARCH.deb")
В този пример е дефинирана променлива, която по-късно ще бъде използвана за промяна на URL къде е пакетът (в този случай архитектурата на пакета за изтегляне).
Освен това, в зависимост от архитектурата, MD5 суми така че ще ги променим на съответните.
Накрая виждаме, че в примера сме променили зависимостите. Някои 64-битови програми изискват инсталирането на 32-битови версии на определени библиотеки, така че трябва да ги посочим. Ако не са необходими, просто дефинирайте променливата по обичайния начин.
Сега за .deb пакетите ще ни трябват само следните редове във функцията пакет ():
cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}
Както можете да видите, в този случай са ни необходими само 3 реда, за да генерираме пакета. Ако е необходимо нещо друго (например, копирайте файл, който не се доставя с пакета, или модифицирайте съдържанието на такъв), просто трябва да го поставите както при всеки друг пакет.
И voila, вече имаме multilib пакет или създаден от deb пакет, готов за използване.
Надявам се да ви хареса и да съм го обяснил добре