Archlinux: Vytvárajte multiplatformové balíčky az balíkov .deb

Asi pred rokom som vysvetlil ako vytvoriť balíčky pre Archlinux. No, dnes vám vysvetlím, ako ich vytvoriť z balíkov deb, ktoré sa používajú v Debian / Mint / Ubuntu / atď.
Tento článok vznikol po prečítaní otázky používateľa vo fóre jorgegc pretože som nemohol nainštalovať balík z AUR, hlavne preto, že je zastaraný a používa verziu prerušené z PKGBUILD (našťastie som predtým robil balíčky týmto spôsobom), tiež vysvetlím, ako vyrábať balíčky programov, ktoré potrebujú 32-bitové knižnicez uzavretý kód o už zostavené a že má rôzne balíčky na stiahnutie.

Základ pre PKGBUILD je rovnaký, len s niekoľkými zmenami.
Prvou zmenou bude použitie vety ak elif od 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 príklade bola definovaná premenná, ktorá sa neskôr použije na zmenu URL kde je balík (v tomto prípade architektúra balíka na stiahnutie).
Okrem toho, v závislosti od architektúry, Sumy MD5 takže ich zmeníme na zodpovedajúce.

Pri použití makepkg -g na vygenerovanie Súčty MD5 Týmto sa vygeneruje iba ten, ktorý zodpovedá architektúre, ktorú používate. Ak chcete poznať súčet MD5 druhého balíka, stiahnite si ho a použite príkaz md5sum file.deb vedieť svoje

Nakoniec vidíme, že v príklade zmeníme závislosti. V niektorých 64-bitových programoch je potrebné inštalovať 32-bitové verzie niektorých knižníc musíme ich teda označiť. Ak nie sú potrebné, jednoducho definujte premennú obvyklým spôsobom.

Teraz pre balíčky .deb budeme vo funkcii potrebovať iba nasledujúce riadky balíček ():

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

Ako vidíte, na vygenerovanie balíka nám v tomto prípade stačia iba 3 riadky. Ak je potrebné niečo iné (napríklad kopírovanie súboru, ktorý sa nedodáva s balíkom, alebo zmena jeho obsahu), musíte ho vložiť ako do iného balíka.

To isté môže platiť (s určitými zmenami), ak namiesto súboru .deb použijeme balíčky rpm alebo iné typy balíkov. Funkcia stavať () nie je potrebný, takže ho nemusíme pridávať.

A voila, už máme multilibový balíček alebo vytvorený z deb balíka pripravený na použitie.
Dúfam, že sa vám páči a že mi to dobre vysvetlilo 😀


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   ulysses dijo

    Nie je jednoduchšie použiť checkinstall?

  2.   Luciano Lagassa dijo

    Ahoj. Mám nejaké bash skripty. Jeden na generovanie základných priečinkov a súborov pre deb balíček. A posledný, ktorý vygeneruje balík zo všetkých súborov a priečinkov. V prípade záujmu môžem zdieľať.

    1.    jorgecg dijo

      Samozrejme, že to zaujíma ... aspoň pre mňa.

      Teraz, keď som v Manjaro, oceňujem všetky možné informácie.

  3.   jorgecg dijo

    Aký si skvelý, partner.

    Na fóre som vám chcel povedať, že ak mi vysvetlíte, ako zostaviť balíčky .deb, nepovedal som vám nič, aby ste nezneužili svoju štedrosť ... a prejdem na stránku a vidím, že ste nahrali článok s vysvetlením celého procesu.

    To ukazuje, že ste veľkorysý človek.

    Povedal som, že si bezva.

    Pozdrav

  4.   Anibal dijo

    Je to skvelý priateľ, raz som vyskúšal soft, ktorý si nepamätám na meno, ktoré bolo prevedené z .deb na .rpm, ale nedopadlo mi dobre.

    Mohol by niekto s oblúkom vyskúšať, či je tento soft prenášaný dobre na otáčky za minútu a inštalácia sa dobre otvára?

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

    Je to na zálohovanie v cloude, už som chvíľu platil a v cloude mám viac ako 40gb =)

  5.   Inspiron dijo

    Skvelé! Vždy som si hovoril, že jedného dňa si chcem vyrobiť balíček, aj keď len kvôli tomu, aby som vedel, ako sa to robí :).

    Pri týchto typoch príspevkov by som ocenil, že blog implementuje možnosť pridávať takéto položky do „obľúbených položiek“ môjho účtu

    1.    chinoloco dijo

      Celkom súhlasím, zasadil som to, ale nič 🙂
      Tiež by bolo dobré vedieť sledovať určitých používateľov

  6.   Rabba dijo

    Skvelý starý muž, používam manjaro už pár dní a na štúdium si potrebujem nainštalovať sledovač paketov od cisco, ale má iba balíček .deb najnovšej verzie a ke je v AUR mi pri kompilácii vždy dá chybu, dúfam, že s týmito krokmi ho môžem nainštalovať kedže nasilu používam linux mint, ďakujem pekne

  7.   mitcoes dijo

    aby sme zistili, či si niekto trúfa vložiť AUR Multisystem

    záleží na deb knižniciach, ktoré nie sú v arch

    Ale ak to funguje, jeho funkciou je vytvoriť viacjadrové perové disky s programom grub2 lepšie ako unetbootin, ktorý ich iba vyrába.

    Momentálne mám vo svojom vnútri ISO ISO svojho ubuntu, ktoré mi umožňuje pridávať obrázky, ak chcem, tak, že z neho nabootujem na samotné USB

    ale ak sa nikto neodváži uložiť môj lístok

  8.   mitcoes dijo

    Prepáčte, už existuje multisystém a myslím si, že nie

    1.    mitcoes dijo

      Vo viacsystémoch ...

      ale fatresize, pretože yourt dáva problémy, a dali to ako voliteľné

  9.   Marcos dijo

    Skvelé 😀 schváliť program „Purrr“ na hromadné premenovanie súborov.

  10.   Apr4xas dijo

    S pozdravom,

    Momentálne v AUR vylučujú balíky, ktoré nemajú funkciu package (), ako môžem vedieť, aké riadky tam umiestniť? To znamená, že mám niekoľko balíčkov a urobil som to takto, ale neviem, či je to v poriadku https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD to, čo som skutočne urobil, je odovzdať to, čo bolo v build (), do balíka (), ale ako som už povedal, neviem, či je to v poriadku ... Môžete mi dať svoje pripomienky a návrhy?

    Dakujem 😀

  11.   Azazel dijo

    Ďakujem za informácie, ktoré si uložím do záložiek pre ďalšie použitie.

  12.   klerafel dijo

    Môže mi niekto vysvetliť, o čo mi ide, som nový a neviem, či mi to pomôže nainštalovať balík .deb, ale lokálne v manjaro, čo je presná hra. Áno, funguje to?

    Pozerám a povedia mi, aby som nainštaloval balík deb2targz, ale pri jeho inštalácii z terminálu sa vyskytne chyba a neviem, či to môže byť

    1.    Germaine dijo

      To isté sa stáva aj mne; Potrebujem nainštalovať na Kademar, ktorý je založený na Arche; pár balíkov, ktoré dostanem iba v .deb
      Môže mi niekto pomôcť?

      1.    Valdo dijo

        Pokiaľ máte na mysli zlyhanie v inštalácii deb2targz, práve som ju dokončil pomocou príkazu yaourt -S deb2targz. Samozrejme v ArchLinuxe.

  13.   Zadarmo cloudové úložisko dijo

    Veľmi poučný príspevok. Vďaka za zdieľanie.

  14.   Nahnevané vtáky dijo

    Dobrý príspevok. Ďakujeme vám za zdieľanie týchto užitočných informácií.

  15.   Aplikácie pre PC dijo

    Ďakujeme za tento užitočný príspevok. Veľmi to pomôže.

  16.   jakub dijo

    ahoj, môžeš nechať skript pre konverziu a ako ho použiť? je to tak, že to tak trochu zamotáva, už mám deb, ktorý chcem previesť a viem, že je to možné, pretože google chrome AUR je deb, ale neviem, ako urobiť "MAKEPKG SI" s ďalším deb 🙁