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

Prije otprilike godinu dana objasnio sam kako stvoriti pakete za Archlinux. Pa, danas ću objasniti kako ih stvoriti od paketa debitant, 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 s AUR-a, uglavnom zato što je zastario i koristi verziju ukinut PKGBUILD-a (srećom, već sam ranije napravio pakete na ovaj način), također ću objasniti kako napraviti pakete programa koji 32-bitne knjižniceod zatvoreni kod o već sastavljeno te da ima različite pakete za preuzimanje.

Osnova za PKGBUILD je ista, samo s nekoliko izmjena.
Prva promjena bit će uporaba rečenice ako elif od Basha


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 definirana je varijabla koja će se kasnije koristiti za promjenu URL gdje je paket (u ovom slučaju arhitektura paketa za preuzimanje).
Osim 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 datoteka.deb da znate svoje

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

Sada ćemo za .deb pakete trebati samo sljedeće retke unutar funkcije paket ():

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

Kao što vidite, u ovom nam slučaju trebaju samo 3 retka za generiranje paketa. Ako je potrebno nešto drugo (na primjer kopiranje datoteke koja ne dolazi s paketom ili izmjena sadržaja jednog), jednostavno je morate staviti kao i kod bilo kojeg drugog paketa.

Isto bi se moglo primijeniti (uz neke promjene) ako ćemo umjesto .deb koristiti pakete min ili druge vrste paketa. Funkcija graditi () nije potrebno, pa ga ne trebamo 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 😀


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   uliks dijo

    Nije li jednostavnije koristiti checkinstall?

  2.   Luciano Lagassa dijo

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

    1.    jorgecg dijo

      Naravno da to zanima ... barem mene.

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

  3.   jorgecg dijo

    Kako si sjajan, partneru.

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

    To pokazuje da ste velikodušna osoba.

    Rekao sam, ti si pukotina.

    pozdravi

  4.   Anibal dijo

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

    netko s archom mogao bi testirati je li ovaj softver dobro proslijeđen na rpm i instalacija se dobro otvara?

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

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

  5.   Inspiron dijo

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

    U ovim vrstama postova cijenio bih da blog implementira opciju dodavanja ovakvih unosa u "favorite" mog računa

    1.    kinoloko dijo

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

  6.   Rabba dijo

    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 donosi pogrešku pri kompajliranju, nadam se da ću ga ovim koracima moći instalirati budući da na silu koristim linux mint, puno vam hvala

  7.   mitcoes dijo

    da vidi hoće li se netko usuditi staviti AUR Multisystem

    ovisi o deb knjižnicama koje nisu u arch

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

    Trenutno u njemu imam ubuntu ISO koji mi omogućuje dodavanje slika ako se želim dignuti s njega na samom USB-u

    ali ako se nitko ne usudi spasiti moju kartu

  8.   mitcoes dijo

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

    1.    mitcoes dijo

      U multisustavu ...

      ali masna veličina jer your stvara probleme, a oni su to stavili kao neobavezno

  9.   okviri dijo

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

  10.   Travanj4xas dijo

    pozdrav,

    Trenutno u AUR-u 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 stvarno 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 dijo

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

  12.   klerafel dijo

    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, točnije igru. Da, djeluje?

    Pogledam i kažu mi da instaliram paket deb2targz, ali dobivam pogrešku prilikom instalacije s terminala i ne znam može li se to

    1.    ghermain dijo

      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 netko pomoći?

      1.    Valdo dijo

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

  13.   Besplatno pohranjivanje u oblaku dijo

    Vrlo informativan post. Hvala na dijeljenju.

  14.   Ljute ptice dijo

    Dobar post. Zahvaljujemo što ste podijelili ove korisne informacije.

  15.   Aplikacije za računalo dijo

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

  16.   Jakov dijo

    bok, možeš li ostaviti skriptu za pretvorbu 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" s drugi deb 🙁