Archlinux: Vytvářejte balíčky pro různé platformy a z balíčků .deb

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í.

Při použití makepkg -g ke generování MD5 součty Tím se vygeneruje pouze ten, který odpovídá architektuře, kterou používáte. Chcete-li znát součet MD5 druhého balíčku, stáhněte si jej a použijte příkaz md5sum file.deb vědět své

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.

Totéž může platit (s některými změnami), pokud místo .deb použijeme balíčky min nebo jiné typy balíčků. Funkce stavět () není potřeba, takže jej nemusíme přidávat.

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 líbí a že mi to dobře vysvětlilo 😀


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   olysess řekl

    Není snadnější použít checkinstall?

  2.   Luciano Lagassa řekl

    Ahoj. Mám nějaké bash skripty. Jeden pro generování základních složek a souborů pro deb balíček. A poslední, který generuje balíček ze všech souborů a složek. Pokud máte zájem, mohu to sdílet.

    1.    jorgecg řekl

      Samozřejmě to zajímá ... alespoň pro mě.

      Teď, když jsem s Manjaro, oceňuji všechny možné informace.

  3.   jorgecg řekl

    Jak skvělý jsi, parťáku.

    Chtěl jsem vám na fóru říct, že pokud mi můžete vysvětlit, jak sestavit balíčky .deb, neřekl jsem vám nic, abych nezneužil vaši velkorysost…. a přejdu na stránku a vidím, že jste nahráli článek vysvětlující celý proces.

    To ukazuje, že jste velkorysý člověk.

    Řekl jsem, že jsi bezva.

    pozdravy

  4.   Anibal řekl

    Je to skvělý přítel, jakmile jsem zkusil soft, který si nepamatuji na jméno, které bylo převedeno z .deb na .rpm, ale pro mě to nefungovalo dobře.

    Mohl by někdo s testem oblouku, pokud je tento soft předán dobře rpm a instalace se otevře dobře?

    http://www.justcloud.com/download/linux-64

    Je to pro zálohování v cloudu, už jsem nějakou dobu platil a v cloudu mám více než 40 GB =)

  5.   Inspiron řekl

    Skvělý! Vždy jsem si říkal, že jednoho dne chci udělat balíček, i když to bude vědět, jak na to :).

    U těchto typů příspěvků bych ocenil možnost přidat takové položky do „oblíbených“ na mém účtu.

    1.    chinoloco řekl

      Naprosto souhlasím, zasadil jsem to, ale nic 🙂
      Bylo by také dobré mít možnost sledovat určité uživatele

  6.   Rabba řekl

    Velmi dobrý stařec, několik dní používám manjaro a pro studie potřebuji nainstalovat sledovač paketů od společnosti Cisco, ale má pouze balíček .deb nejnovější verze a ke je v AUR mi při kompilaci vždy dává chybu, doufám, že s těmito kroky jej mohu nainstalovat protože silou používám linuxovou mincovnu, moc děkuji

  7.   mitka řekl

    zjistit, jestli si někdo nedovolí nasadit AUR Multisystem

    záleží na deb knihovnách, které nejsou v arch

    Pokud to ale funguje, jeho funkcí je vytvořit disky pen multi-ISO s grub2 lépe než unetbootin, který je pouze jeden.

    V tuto chvíli mám uvnitř jeho ubuntu ISO, které mi umožňuje přidávat obrázky, pokud z něj chci bootovat na samotném USB

    ale pokud se nikdo neodváží zachránit můj lístek

  8.   mitka řekl

    Omlouváme se, ale již existuje multisystém, a myslím, že ne

    1.    mitka řekl

      V multisystému ...

      ale fatresize, protože yaourt dává problémy, a dali to jako nepovinné

  9.   Marcos řekl

    Skvělé 😀 schválit pomocí programu „Purrr“ hromadné přejmenování souborů.

  10.   Apr4xas řekl

    S pozdravem,

    V současné době v AUR odstraňují balíčky, které nemají funkci package (), jak mohu vědět, jaké řádky tam umístit? To znamená, že mám několik balíčků a udělal jsem to tímto způsobem, ale nevím, jestli je to v pořádku https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD to, co jsem opravdu udělal, je předat to, co bylo v build (), do balíčku (), ale jak jsem řekl, nevím, jestli je to v pořádku ... Můžete mi dát své připomínky a návrhy?

    Díky 😀

  11.   Azazel řekl

    Děkuji za informace, které si uložím do záložek pro budoucí použití.

  12.   klerafel řekl

    Někdo mi může vysvětlit, o co jde, jsem nový a nevím, jestli mi to pomůže nainstalovat balíček .deb, ale lokálně v manjaro, přesněji řečeno hře. Ano, funguje to?

    Hledám a řeknou mi, abych nainstaloval balíček deb2targz, ale při instalaci z terminálu se mi zobrazí chyba a nevím, jestli to může být

    1.    ghermain řekl

      Totéž se stalo mně; Musím nainstalovat Kademar, který je založen na Archu; pár balíčků, které dostanu pouze v .deb
      Může mi někdo pomoci?

      1.    valdo řekl

        Pokud máte na mysli selhání instalace deb2targz, právě jsem ji dokončil pomocí příkazu yaourt -S deb2targz. Samozřejmě v ArchLinuxu.

  13.   Zdarma cloudové úložiště řekl

    Velmi poučný příspěvek. Děkuji za sdílení.

  14.   angry Birds řekl

    Dobrý příspěvek. Děkujeme za sdílení těchto užitečných informací.

  15.   Aplikace pro PC řekl

    Děkujeme za tento užitečný příspěvek. Hodně to pomůže.

  16.   Jakub řekl

    ahoj, můžete nechat skript pro převod a jak jej používat? je to tak, že to v částech trochu zaměňuje, už mám deb, který chci převést, a vím, že je to možné, protože google chrome AUR je deb, ale nevím, jak udělat "MAKEPKG SI" s jiným deb 🙁