Archlinux: Ustvarite pakete za več platform in iz paketov .deb

Pred približno letom dni sem razložil, kako ustvari pakete za Archlinux. No, danes bom razložil, kako jih ustvariti iz paketov deb, ki se uporabljajo v Debian / Mint / Ubuntu / itd.
Ta članek je nastal po branju vprašanja uporabnika na forumu jorgegc ker nisem mogel namestiti paketa iz AUR, predvsem zato, ker je zastarel in uporablja različico ukinjeno PKGBUILD-a (na srečo sem na ta način že naredil pakete), bom tudi razložil, kako narediti pakete programov, ki 32-bitne knjižniceza zaprta koda o že sestavljeno in da ima različne pakete za prenos.

Osnova za PKGBUILD je enaka, le z nekaj spremembami.
Prva sprememba bo uporaba stavka če elif avtor 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 tem primeru je bila definirana spremenljivka, ki bo kasneje uporabljena za spremembo URL kje je paket (v tem primeru arhitektura paketa za prenos).
Poleg tega, odvisno od arhitekture, MD5 vsote zato jih bomo spremenili v ustrezne.

Ko uporabljate makepkg -g za generiranje datoteke MD5sum To bo ustvarilo samo tisto, ki ustreza arhitekturi, ki jo uporabljate. Če želite vedeti vsoto MD5 drugega paketa, ga prenesite in uporabite ukaz md5sum file.deb da poznaš svojega

Končno vidimo, da v primeru spremenimo odvisnosti. V nekatere 64-bitne programe je treba namestiti 32-bitne različice nekaterih knjižnic zato jih moramo navesti. Če niso potrebne, preprosto spremenljivko definirajte na običajen način.

Zdaj za pakete .deb potrebujemo samo naslednje vrstice znotraj funkcije paket ():

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

Kot lahko vidite, v tem primeru za generiranje paketa potrebujemo le 3 vrstice. Če je potrebno kaj drugega (na primer kopiranje datoteke, ki ni priložena paketu, ali spreminjanje vsebine paketa), jo morate vstaviti kot pri katerem koli drugem paketu.

Enako bi lahko veljalo (z nekaterimi spremembami), če namesto .deb uporabljamo pakete rpm ali druge vrste paketov. Funkcija graditi () ni potrebno, zato ga ni treba dodati.

In voila, že imamo paket multilib ali ustvarjen iz deb paketa, pripravljenega za uporabo.
Upam, da vam je všeč in da mi je dobro razložil 😀


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   uliks je dejal

    Ali ni lažje uporabljati checkinstall?

  2.   Luciano Lagassa je dejal

    Živjo. Imam nekaj bash skriptov. Ena za generiranje osnovnih map in datotek za paket deb. In zadnji, ki je ustvaril paket iz vseh datotek in map. Če vas zanima, ga lahko delim.

    1.    jorgecg je dejal

      Seveda to zanima ... vsaj mene.

      Zdaj, ko sem z Manjarom, cenim vse možne informacije.

  3.   jorgecg je dejal

    Kako si dober, partner.

    Na forumu sem vam hotel povedati, da če mi lahko razložite, kako sestavljam pakete .deb, pa vam nisem povedal ničesar, da ne bi zlorabil vaše radodarnosti…. in grem na stran in vidim, da ste naložili članek, ki pojasnjuje celoten postopek.

    To kaže, da ste radodarna oseba.

    Rekel sem, da si krek.

    pozdrav

  4.   Anibal je dejal

    Odličen prijatelj, ko sem enkrat poskusil soft, ki se ne spomnim imena, ki se je iz .deb pretvorilo v .rpm, vendar mi ni uspelo.

    Bi lahko kdo z preizkusom nadvoja, če se ta mehka datoteka prenese na vrtljaje na minuto in se namestitev dobro odpre?

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

    Je za varnostno kopiranje v oblaku, nekaj časa sem že plačeval in imam v oblaku več kot 40 GB =)

  5.   Inspiron je dejal

    Super! Vedno sem si rekel, da si nekega dne želim narediti paket, četudi naj vem, kako se to počne :).

    V teh vrstah objav bi bil vesel, da blog uvaja možnost dodajanja vnosov, kot je ta, v "priljubljene" mojega računa

    1.    kinoloko je dejal

      Popolnoma se strinjam, posadil sem ga, a nič 🙂
      Prav tako bi bilo dobro, če bi lahko spremljali določene uporabnike

  6.   Rabba je dejal

    Zelo dober stari, že nekaj dni uporabljam manjaro in za študije moram namestiti sledilnik paketov iz podjetja Cisco, vendar ima le paket .deb najnovejše različice in ke je v AUR, pri sestavljanju mi ​​vedno povzroči napako, upam, da ga s temi koraki lahko namestim ker na silo uporabljam linux mint, najlepša hvala

  7.   mitcoes je dejal

    da vidim, ali si kdo upa vstaviti AUR Multisystem

    odvisno od knjižnic deb, ki niso v arh

    Če pa deluje, je njegova naloga ustvariti večnamenske pogone ISO z grub2 bolje kot unetbootin, ki naredi samo enega.

    Trenutno imam v sebi vaš ubuntu ISO, ki mi omogoča dodajanje slik, če se želim z njega zagnati na USB-ju

    če pa si nihče ne upa shraniti vozovnico

  8.   mitcoes je dejal

    Žal že obstaja večsistem in mislim, da ne

    1.    mitcoes je dejal

      V večsistemu ...

      toda fatresize, ker yorth povzroča težave, in so to navedli kot neobvezno

  9.   marcos je dejal

    Odlično 😀 odobriti s programom "Purrr" program za preimenovanje datotek v velikem obsegu.

  10.   Apr4xas je dejal

    S spoštovanjem,

    Trenutno v AUR odpravljajo pakete, ki nimajo funkcije package (), kako naj vem, katere vrstice naj tam postavijo? To pomeni, da imam več paketov in sem to naredil na ta način, vendar ne vem, ali je v redu https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD kar sem v resnici storil, je to, kar je bilo v build (), prenesel v paket (), ampak kot rečeno, ne vem, če je v redu ... Ali mi lahko date svoje komentarje in predloge?

    Hvala 😀

  11.   Azazel je dejal

    Hvala za informacije, ki jih bom dodal med zaznamke.

  12.   klerafel je dejal

    Ali mi lahko nekdo razloži, kaj je to, sem nov in ne vem, ali mi to pomaga pri namestitvi paketa .deb, ampak lokalno v manjaro, natančneje igra. Ja, deluje?

    Iščem in mi rečejo, naj namestim paket deb2targz, vendar se pri namestitvi s terminala prikaže napaka in potem ne vem, ali je to mogoče

    1.    ghermain je dejal

      Enako se dogaja tudi meni; Moram namestiti na Kademar, ki temelji na Archu; nekaj paketov, ki jih dobim samo v .deb
      Ali mi lahko kdo pomaga?

      1.    valdo je dejal

        Če mislite na napako pri namestitvi deb2targz, sem jo pravkar končal z ukazom yaourt -S deb2targz. Seveda v ArchLinuxu.

  13.   Brezplačno shranjevanje v oblaku je dejal

    Zelo informativna objava. Hvala za deljenje.

  14.   Jezne ptice je dejal

    Dobra objava. Hvala, ker ste delili te koristne informacije.

  15.   Aplikacije za osebni računalnik je dejal

    Hvala za to koristno objavo. V veliko pomoč bo.

  16.   Jacob je dejal

    živjo, lahko pustiš skript za pretvorbo in kako ga uporabiti? To je, da v delih nekoliko zmede, že imam deb, ki ga želim pretvoriti, in vem, da je to mogoče, ker je google chrome AUR deb, vendar ne vem, kako narediti "MAKEPKG SI" z še en deb 🙁