Asi před rokem jsem vysvětlil, jak vytvářet balíčky pro Archlinux. Dnes vám vysvětlím, jak je vytvořit z balíčků deb, které se používají v Debian / Mint / Ubuntu / atd.
Tento článek vznikl po přečtení otázky od uživatele ve fóru jorgegc protože jsem nemohl nainstalovat balíček z AUR, hlavně proto, že je zastaralý a používal verzi ukončeno z PKGBUILD (naštěstí jsem dříve vytvořil balíčky tímto způsobem), vysvětlím také, jak vytvořit balíčky programů, které potřebují 32bitové knihovny, z uzavřený kód o již sestaveno a že má různé balíčky ke stažení.
Základ pro PKGBUILD je stejný, pouze s několika změnami.
První změnou bude použití věty pokud elif podle Bash
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")
V tomto příkladu byla definována proměnná, která bude později použita ke změně URL kde je balíček (v tomto případě architektura balíčku ke stažení).
Kromě toho, v závislosti na architektuře, Součty MD5 takže je změníme na odpovídající.
Nakonec vidíme, že v příkladu změníme závislosti. V některých 64bitových programech je nutná instalace 32bitové verze některých knihoven takže je musíme označit. Pokud nejsou nutné, jednoduše proměnnou definujte obvyklým způsobem.
Nyní pro balíčky .deb budeme potřebovat pouze následující řádky uvnitř funkce balíček ():
cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}
Jak vidíte, v tomto případě potřebujeme ke generování balíčku pouze 3 řádky. Pokud je nutné něco jiného (například zkopírovat soubor, který není součástí balíčku, nebo upravit obsah jednoho), musíte to dát stejně jako u jakéhokoli jiného balíčku.
A voila, již máme balíček multilib nebo vytvořený z balíčku deb připraveného k použití.
Doufám, že se vám to líbí a že jsem to dobře vysvětlil