Archlinux: Kreu diversplatformajn pakojn kaj de .deb-pakoj

Antaŭ ĉirkaŭ unu jaro mi klarigis kiel krei pakojn por Archlinux. Nu, hodiaŭ mi klarigos kiel krei ilin el pakoj .deb, tiuj uzataj en Debian / Mint / Ubuntu / ktp.
Ĉi tiu artikolo aperis post legado de demando de la uzanto en la forumo jorgegc ĉar mi ne povis instali pakaĵon de AUR, ĉefe ĉar ĝi estas malmoderna kaj uzis version ĉesigita de la PKGBUILD (feliĉe mi antaŭe faris pakojn tiamaniere), mi ankaŭ klarigos kiel krei pakojn de programoj, kiuj bezonas 32-bitaj bibliotekoj, la fermita kodo o jam kompilita kaj ke ĝi havas malsamajn pakaĵojn por elŝuti.

La bazo por la PKGBUILD estas la sama, nur kun kelkaj ŝanĝoj.
La unua ŝanĝo estos la uzo de frazo se elif de 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")

En ĉi tiu ekzemplo variablo estis difinita, kiu poste estos uzata por ŝanĝi la URL kie estas la pako (ĉi-kaze la arkitekturo de la elŝutebla pakaĵo).
Krome, depende de la arkitekturo, la MD5-sumoj do ni ŝanĝos ĉi tiujn al la respondaj.

Kiam vi uzas makepkg -g por generi la MD5-sumoj Ĉi tio nur generos la respondan al la ar architectureitekturo, kiun vi uzas. Por scii la MD5-sumon de la alia pako elŝutu ĝin kaj uzu la komandon md5sum file.deb koni la vian

Fine ni vidas, ke en la ekzemplo ni ŝanĝas la dependecojn. En iuj 64-bitaj programoj necesas instali 32-bitaj versioj de iuj bibliotekoj do ni devas indiki ilin. Se ili ne necesas, simple difinu la variablon laŭ la kutima maniero.

Nun por .deb-pakaĵoj ni nur bezonos jenajn liniojn ene de la funkcio pako ():

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

Kiel vi vidas, ni bezonas nur 3 liniojn ĉi-kaze por generi la pakon. Se io alia necesas (ekzemple kopii dosieron, kiu ne venas kun la pakaĵo, aŭ modifi la enhavon de unu), vi nur devas meti ĝin kiel kun iu ajn alia pakaĵo.

La samo povus validi (kun iuj ŝanĝoj) se anstataŭ .deb ni uzos pakojn rpm aŭ aliaj specoj de pakoj. La funkcio konstrui () ne necesas, do ni ne bezonas aldoni ĝin.

Kaj voila, ni jam havas multilib-pakaĵon aŭ kreitan de deb-pako preta por uzi.
Mi esperas, ke vi ŝatos ĝin kaj ke ĝi bone klarigis min 😀


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

32 komentoj, lasu la viajn

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita per *

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.

  1.   ulysess diris

    Ĉu ne estas pli facile uzi ĉekinstalon?

  2.   Luciano Lagassa diris

    Saluton. Mi havas iujn bash-skriptojn. Unu por generi la bazajn dosierujojn kaj dosierojn por deb-pako. Kaj la lasta por generi la pakon de ĉiuj dosieroj kaj dosierujoj. Se vi interesiĝas, mi povas dividi ĝin.

    1.    jorgecg diris

      Kompreneble ĝi interesas ... almenaŭ al mi.

      Nun, kiam mi estas kun Manjaro, mi dankas ĉiujn eblajn informojn.

  3.   jorgecg diris

    Kiel bonega vi estas, partnero.

    Mi estis dirinta al vi en la forumo, ke se vi povus klarigi al mi kiel kompili .deb-pakojn kaj mi diris al vi nenion por ne trouzi vian malavarecon .... kaj mi iras al la paĝo kaj mi vidas, ke vi alŝutis artikolon klarigante la tutan procezon.

    Ĉi tio montras, ke vi estas malavara homo.

    Mi diris, vi estas fendo.

    Salutoj

  4.   Hanibalo diris

    Ĝi estas bonega amiko, iam mi provis softeron, ke mi ne povas memori la nomon, kiu konvertiĝis de .deb al .rpm, sed ĝi ne funkciis bone.

    Ĉu iu kun arka provo povus testi, ĉu ĉi tiu mola estas bone pasita al rpm kaj la instalado bone malfermiĝas?

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

    Estas sekurkopio en la nubo, mi jam pagis iom da tempo kaj mi havas pli ol 40gb en la nubo =)

  5.   Inspiron diris

    Bonege! Mi ĉiam diris al mi, ke iun tagon mi volis fari pakaĵon, eĉ se ĝi estas scii kiel fari ĝin :).

    En ĉi tiuj specoj de afiŝoj mi dankus, ke la blogo efektivigas la eblon aldoni tiajn enirojn en "plej ŝatataj" de mia konto

    1.    chinoloco diris

      Tute konsentas, mi plantis ĝin, sed nenion 🙂
      Ankaŭ estus bone, povi sekvi iujn uzantojn

  6.   RabBa diris

    Bonega maljunulo, mi uzas manjaron dum kelkaj tagoj kaj por studoj mi bezonas instali pakaĵan spurilon de cisco sed ĝi havas nur .deb-pakaĵon de la plej nova versio kaj la ke estas en AUR ĉiam donas al mi eraron dum kompilado, mi esperas, ke per ĉi tiuj paŝoj mi povas instali ĝin ĉar perforte mi uzas linux-menton, dankon

  7.   mitkoj diris

    vidi ĉu iu kuraĝas enmeti AUR-Multisistemon

    dependas de deb-bibliotekoj, kiuj ne estas en ark

    Sed se ĝi funkcias, ĝia funkcio estas krei multajn ISO-pen-diskilojn kun grub2 pli bone ol unetbootin, kiu nur faras unu.

    Nuntempe mi havas ubuntu ISO vian en via interno, kiu permesas al mi aldoni bildojn se mi volas starti de ĝi per la USB

    sed se neniu kuraĝas ŝpari mian bileton

  8.   mitkoj diris

    Pardonu, ekzistas jam multsistemo, kaj mi pensas, ke ne

    1.    mitkoj diris

      En multisistemo ...

      sed grasigi ĉar yaourt donas problemojn, kaj ili metis ĝin kiel nedevigan

  9.   Marcos diris

    Bonege 😀 aprobi per "Purrr" programon por renomi dosierojn grandparte.

  10.   Apr4xas diris

    Saludos,

    Nuntempe en AUR ili forigas pakojn, kiuj ne havas la funkcion package (), kiel mi povas scii, kiujn liniojn meti tien? Tio estas, mi havas plurajn pakojn kaj mi faris ĝin tiel, sed mi ne scias, ĉu ĝi estas en ordo https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD kion mi vere faris estis transdoni tion, kio estis en build () al package () sed kiel mi diris, mi ne scias, ĉu ĝi estas en ordo ... Ĉu vi povas doni al mi viajn komentojn kaj sugestojn?

    Dankon 😀

  11.   Azazel diris

    Dankon pro la informo, mi markos ĝin por estonta referenco.

  12.   klerafel diris

    Ĉu iu povas klarigi al mi, kio ĝi estas al mi, mi estas nova, kaj mi ne scias, ĉu tio helpas min instali .deb-pakon sed loke en manjaro, precize ludo. Jes, ĝi funkcias?

    Mi serĉas kaj ili diras al mi instali la pakaĵon deb2targz sed mi ricevas eraron instalante ĝin de la fina stacio, kaj tiam mi ne scias ĉu ĝi povas esti

    1.    Ghermain diris

      La samo okazas al mi; Mi bezonas instali sur Kademar, kiu baziĝas sur Arch; kelkaj pakoj, kiujn mi nur ricevas en .deb
      Ĉu iu povas helpi min?

      1.    valdo diris

        Se tio, kion vi celas, estas fiasko en la instalado de deb2targz, mi ĵus finis instali ĝin per la komando yaourt -S deb2targz. Kompreneble, en ArchLinux.

  13.   Senpaga Nuba Stokado diris

    Tre informa afiŝo. Dankon pro dividado.

  14.   kolera Birdoj diris

    Bona afiŝo. Dankon pro dividi ĉi tiujn utilajn informojn.

  15.   Programoj por komputilo diris

    Dankon pro ĉi tiu helpema afiŝo. Ĝi helpos multe.

  16.   jacob diris

    saluton, ĉu vi povas lasi la skripton por la konvertiĝo kaj kiel uzi ĝin? Estas, ke en partoj ĝi iomete konfuzas, mi jam havas la deb, kiun mi volas konverti, kaj mi scias, ke ĝi eblas, ĉar la google chrome de AUR estas deb, sed mi ne scias kiel fari "MAKEPKG SI" kun alia deb 🙁