Archlinux: Kreirajte pakete za više platformi i od .deb paketa

Prije otprilike godinu dana objasnio sam kako kreirajte pakete za Archlinux. Pa, danas ću objasniti kako ih stvoriti od paketa .deb, oni koji se koriste u Debian / Mint / Ubuntu / itd.
Ovaj je članak nastao nakon čitanja pitanja korisnika na forumu jorgegc jer nisam mogao instalirati paket iz AUR-a, uglavnom zato što je zastario i koristi verziju ukinut PKGBUILD-a (srećom, prethodno sam napravio pakete na ovaj način), također ću objasniti kako napraviti pakete programa koji trebaju 32-bitne biblioteke, u zatvoreni kod o već sastavljeno i da ima različite pakete za preuzimanje.

Osnova za PKGBUILD je ista, samo uz nekoliko promjena.
Prva promjena bit će upotreba rečenice ako elif by 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")

U ovom primjeru je definirana varijabla koja će se kasnije koristiti za promjenu URL gdje je paket (u ovom slučaju arhitektura paketa za preuzimanje).
Pored toga, ovisno o arhitekturi, MD5 sume pa ćemo ih promijeniti u odgovarajuće.

Kada koristite makepkg -g za generiranje MD5sume Ovo će generirati samo onu koja odgovara arhitekturi koju koristite. Da biste znali MD5 zbroj drugog paketa, preuzmite ga i upotrijebite naredbu md5sum file.deb da znate svoje

Napokon vidimo da u primjeru mijenjamo ovisnosti. U neke 64-bitne programe potrebno je instalirati 32-bitne verzije nekih biblioteka pa ih moramo naznačiti. Ako nisu potrebne, jednostavno definirajte varijablu na uobičajeni način.

Sada će nam za .deb pakete trebati samo sljedeći redovi unutar funkcije paket ():

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

Kao što vidite, u ovom slučaju su nam potrebne samo 3 linije za generiranje paketa. Ako je potrebno nešto drugo (na primjer, kopirati datoteku koja ne dolazi s paketom ili izmijeniti sadržaj jednog), jednostavno je morate staviti kao i sa bilo kojim drugim paketom.

Isto bi se moglo primijeniti (uz neke promjene) ako umjesto .deb koristimo pakete min ili druge vrste paketa. Funkcija izgraditi () nije potreban, pa ga ne moramo dodavati.

I voila, mi već imamo multilib paket ili stvoren od deb paketa spremnog za upotrebu.
Nadam se da vam se sviđa i da me dobro objasnio 😀


32 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   ulysses rekao je

    Nije li lakše koristiti checkinstall?

  2.   Luciano Lagassa rekao je

    Zdravo. Imam neke bash skripte. Jedna za generiranje osnovnih mapa i datoteka za deb paket. I posljednji koji je generirao paket iz svih datoteka i mapa. Ako ste zainteresirani, mogu ga podijeliti.

    1.    jorgecg rekao je

      Naravno da to zanima ... bar mene.

      Sad kad sam s Manjarom, cijenim sve moguće informacije.

  3.   jorgecg rekao je

    Kako si sjajan, partneru.

    Htio sam vam reći na forumu da ako mi možete objasniti kako kompajlirati .deb pakete, a nisam vam rekao ništa da ne bih zloupotrijebio vašu velikodušnost…. i idem na stranicu i vidim da ste učitali članak koji objašnjava čitav proces.

    To pokazuje da ste velikodušna osoba.

    Rekao sam, ti si pukotina.

    Hvala!

  4.   Anibal rekao je

    Sjajan je prijatelj, jednom sam probao soft koji se ne sjećam imena koje se pretvorilo iz .deb u .rpm, ali nije mi uspjelo.

    Može li neko sa arch testom ako se ovaj softver dobro proslijedi na rpm i instalacija se dobro otvori?

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

    To je sigurnosna kopija u oblaku, već sam neko vrijeme platio i imam više od 40gb u oblaku =)

  5.   inspiracija rekao je

    Super! Uvijek sam si govorila da jednog dana želim napraviti paket, čak i ako to želim znati :).

    U ovim vrstama postova, cijenio bih mogućnost dodavanja ovakvih unosa u "favorite" na mom računu.

    1.    chinoloco rekao je

      Potpuno se slažem, posadio sam ga, ali ništa 🙂
      Takođe bi bilo dobro da možete pratiti određene korisnike

  6.   Rabba rekao je

    Sjajni starče, koristim manjaro nekoliko dana, a za studije moram instalirati program za praćenje paketa iz Cisca, ali on ima samo .deb paket najnovije verzije i ke je u AUR-u, uvijek mi daje grešku pri kompajliranju, Nadam se da ću je s ovim koracima moći instalirati jer na silu koristim linux mint, hvala vam puno

  7.   mitcoes rekao je

    da vidi da li se neko usuđuje staviti AUR Multisystem

    ovisi o deb bibliotekama koje nisu u arch

    Ali ako uspije, njegova je funkcija stvoriti više ISO pendriva s grub2 boljim od unetbootina koji samo jedan radi.

    Trenutno u sebi imam njen ubuntu ISO koji mi omogućava dodavanje slika ako želim pokretanjem s njega na samom USB-u

    ali ako se nitko ne usudi spasiti moju kartu

  8.   mitcoes rekao je

    Žao nam je, već postoji multisistem i mislim da ne

    1.    mitcoes rekao je

      U multisistemu ...

      ali fatresize jer your stvara probleme, a oni su to stavili kao neobavezan

  9.   Marcos rekao je

    Sjajno 😀 odobriti program "Purrr" za skupno preimenovanje datoteka.

  10.   Apr4xas rekao je

    pozdrav,

    Trenutno u AUR uklanjaju pakete koji nemaju funkciju package (), kako mogu znati koje redove tamo staviti? Odnosno, imam nekoliko paketa i učinio sam to na ovaj način, ali ne znam je li u redu https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD ono što sam zaista učinio je da prenesem ono što je bilo u build () u package (), ali kao što sam rekao, ne znam je li u redu ... Možete li mi dati svoje komentare i prijedloge?

    Hvala 😀

  11.   Azazel rekao je

    Hvala na informacijama. Označit ću ih za buduću upotrebu.

  12.   clerafel rekao je

    Može li mi netko objasniti što je to, ja sam nov i ne znam da li mi ovo pomaže da instaliram .deb paket, ali lokalno u manjaro, tačnije igru. Da, djeluje?

    Tražim i kažu mi da instaliram paket deb2targz, ali dobivam grešku kada ga instaliram s terminala i ne znam može li to biti

    1.    Germaine rekao je

      Isto se događa i meni; Moram instalirati Kademar koji se temelji na Archu; nekoliko paketa koje dobivam samo u .deb
      Može li mi neko pomoći?

      1.    valdo rekao je

        Ako ono što mislite je neuspjeh u instalaciji deb2targz, upravo sam ga završio s naredbom yaourt -S deb2targz. Naravno, u ArchLinux-u.

  13.   Besplatno Cloud Storage rekao je

    Vrlo informativan post. Hvala na dijeljenju.

  14.   Angry Birds rekao je

    Dobar post. Hvala vam što ste podijelili ove korisne informacije.

  15.   Aplikacije za PC rekao je

    Hvala na ovom korisnom postu. To će puno pomoći.

  16.   jacob rekao je

    bok, možeš li ostaviti skriptu za konverziju i kako je koristiti? je li tako u dijelovima to malo zbunjuje, već imam deb koji želim pretvoriti i znam da je to moguće jer je google chrome AUR deb, ali ne znam kako napraviti "MAKEPKG SI" sa drugi deb 🙁