Archlinux: Създайте пакети за различни платформи и от .deb пакети

Преди около година обясних как създаване на пакети за 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 суми така че ще ги променим на съответните.

Когато използвате makepkg -g за генериране на MD5суми Това ще генерира само тази, съответстваща на архитектурата, която използвате. За да знаете MD5 сумата на другия пакет, изтеглете го и използвайте командата md5sum file.deb да знаеш твоята

Накрая виждаме, че в примера сме променили зависимостите. Някои 64-битови програми изискват инсталирането на 32-битови версии на определени библиотеки, така че трябва да ги посочим. Ако не са необходими, просто дефинирайте променливата по обичайния начин.

Сега за .deb пакетите ще ни трябват само следните редове във функцията пакет ():

cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}

Както можете да видите, в този случай са ни необходими само 3 реда, за да генерираме пакета. Ако е необходимо нещо друго (например, копирайте файл, който не се доставя с пакета, или модифицирайте съдържанието на такъв), просто трябва да го поставите както при всеки друг пакет.

Същото може да се приложи (с някои промени), ако вместо .deb ще използваме пакети оборота в минута или други видове опаковки. Функцията изграждане () не е необходимо, така че не е нужно да го добавяме.

И voila, вече имаме multilib пакет или създаден от deb пакет, готов за използване.
Надявам се да ви хареса и да съм го обяснил добре 


Добавяне като предпочитан източник в Google