Близько року тому я пояснив, як створювати пакунки для 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 рядки для створення пакета. Якщо потрібно щось інше (наприклад, копіювання файлу, який не входить до пакета, або зміна вмісту одного), вам просто потрібно помістити його, як і в будь-який інший пакет.
І вуаля, у нас вже є пакет multilib або створений із пакета deb, готового до використання.
Сподіваюся, вам сподобається, і я добре пояснив