Archlinux: Lumikha ng mga cross-platform package at mula sa .deb packages

Mga isang taon na ang nakalilipas ipinaliwanag ko kung paano lumikha ng mga pakete para sa Archlinux. Kaya, ngayon ay ipapaliwanag ko kung paano lumikha ng mga ito mula sa mga pakete .deb, ang mga ginamit sa Debian / Mint / Ubuntu / atbp.
Ang artikulong ito ay lumitaw pagkatapos basahin ang isang katanungan mula sa gumagamit sa forum jorgegc dahil hindi ako makapag-install ng isang pakete mula sa AUR, higit sa lahat dahil luma na ito at gumamit ng isang bersyon hindi na natuloy ng PKGBUILD (sa kabutihang palad ay dati akong gumawa ng mga pakete sa ganitong paraan), ipapaliwanag ko rin kung paano gumawa ng mga pakete ng mga program na kailangan 32-bit na mga aklatan, De saradong code o naipon na at mayroon itong iba't ibang mga pakete para sa pag-download.

Ang batayan para sa PKGBUILD ay pareho, may kaunting pagbabago lamang.
Ang unang pagbabago ay ang paggamit ng isang pangungusap kung elif ni 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")

Sa halimbawang ito ang isang variable ay tinukoy na sa paglaon ay gagamitin upang baguhin ang URL nasaan ang pakete (sa kasong ito ang arkitektura ng pakete upang i-download).
Bilang karagdagan, depende sa arkitektura, ang Kabuuan ng MD5 kaya babaguhin namin ang mga ito sa mga kaukulang.

Kapag gumagamit ng makepkg -g upang makabuo ng MD5sums Lilikha lamang ito ng naaayon sa arkitekturang ginagamit mo. Upang malaman ang MD5 kabuuan ng iba pang mga pakete i-download ito at gamitin ang utos md5sum file.deb upang malaman ang sa iyo

Sa wakas nakita natin na sa halimbawa ay binabago natin ang mga dependency. Sa ilang mga 64-bit na programa kinakailangan na mag-install Mga 32-bit na bersyon ng ilang mga aklatan kaya kailangan nating ipahiwatig ang mga ito. Kung hindi kinakailangan ang mga ito, tukuyin lamang ang variable sa karaniwang paraan.

Ngayon para sa .deb packages kakailanganin lamang namin ang mga sumusunod na linya sa loob ng pagpapaandar pakete ():

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

Tulad ng nakikita mo, sa kasong ito kailangan lamang namin ng 3 mga linya upang makabuo ng package. Kung may iba pang kinakailangan (halimbawa, kopyahin ang isang file na hindi kasama ang pakete, o baguhin ang nilalaman ng isa) kailangan mo lamang itong ilagay tulad ng anumang iba pang mga pakete.

Maaaring mailapat ang pareho (na may ilang mga pagbabago) kung sa halip na isang .deb gagamit kami ng mga package rpm o iba pang mga uri ng mga pakete. Ang pagpapaandar magtayo () ay hindi kinakailangan, kaya hindi namin kailangang idagdag ito.

At voila, mayroon na kaming isang multilib package o nilikha mula sa isang deb package na handa nang gamitin.
Sana magustuhan mo ito at naipaliwanag ito nang maayos sa akin 😀


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   ulysses dijo

    Hindi ba mas madaling gamitin ang checkinstall?

  2.   Luciano Lagassa dijo

    Hi Mayroon akong ilang mga bash script. Isa upang makabuo ng mga pangunahing folder at file para sa isang deb package. At ang huling isa upang makabuo ng package mula sa lahat ng mga file at folder. Kung interesado ka, maibabahagi ko ito.

    1.    jorgecg dijo

      Syempre interesado ito ... kahit papaano sa akin.

      Ngayon na kasama ko si Manjaro Pinahahalagahan ko ang lahat ng posibleng impormasyon.

  3.   jorgecg dijo

    Ang galing mo, partner.

    Sasabihin ko sa iyo sa forum na kung maipapaliwanag mo sa akin kung paano mag-compile ng .deb packages at hindi ko sinabi sa iyo ang anumang bagay upang hindi abusuhin ang iyong pagkabukas-palad .... at pumunta ako sa pahina at nakikita kong na-upload mo ang isang artikulo na nagpapaliwanag ng buong proseso.

    Ipinapakita nito na ikaw ay isang mapagbigay na tao.

    Sinabi ko, basag ka.

    Isang pagbati

  4.   Anibal dijo

    Mahusay na kaibigan, minsan sinubukan ko ang isang malambot na hindi ko naalala ang pangalan na nag-convert mula sa .deb hanggang .rpm, ngunit hindi ito gumana nang maayos para sa akin.

    ang isang tao na may arko ay maaaring subukan kung ang malambot na ito ay naipasa nang maayos sa rpm at ang pag-install ay maayos na bubukas?

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

    Ito ay upang mag-backup sa cloud, nagbayad na ako nang ilang sandali at mayroon akong higit sa 40gb sa cloud =)

  5.   Inspiron dijo

    Malaki! Palagi kong sinabi sa aking sarili na isang araw nais kong gumawa ng isang pakete, kahit na ito ay upang malaman kung paano ito gawin :).

    Sa mga ganitong uri ng post, pinahahalagahan ko ang pagpipilian ng pagdaragdag ng mga entry na tulad nito sa "mga paborito" sa aking account.

    1.    chinoloco dijo

      Ganap na sumasang-ayon, itinanim ko ito, ngunit wala 🙂
      Magiging mabuti rin, upang masundan ang ilang mga gumagamit

  6.   Rabba dijo

    Mahusay na matanda, gumagamit ako ng manjaro ng ilang araw at para sa mga pag-aaral kailangan kong mag-install ng packet tracer mula sa cisco ngunit mayroon lamang itong isang .deb package ng pinakabagong bersyon at ang ke ay nasa AUR palaging nagbibigay sa akin ng isang error kapag nag-iipon, Inaasahan kong sa mga hakbang na ito mai-install ko ito mula sa sapilitang paggamit ko ng linux mint, maraming salamat

  7.   mitcoes dijo

    upang makita kung ang isang tao ay naglakas-loob na ilagay sa AUR Multisystem

    nakasalalay sa mga aklatan ng deb na wala sa arko

    Ngunit kung ito ay gumagana, ang pagpapaandar nito ay upang lumikha ng maraming ISO pendrives na may grub2 na mas mahusay kaysa sa unetbootin na gumagawa lamang ng isa.

    Sa ngayon mayroon akong isang ubuntu ISO sa kanya sa loob na pinapayagan akong magdagdag ng mga imahe kung nais ko sa pamamagitan ng pag-boot mula dito sa USB mismo

    ngunit kung walang mangangahas na mai-save ang tiket

  8.   mitcoes dijo

    Paumanhin, mayroon nang isang multisystem, at sa palagay ko hindi

    1.    mitcoes dijo

      Sa multisystem ...

      ngunit pagkalaglag dahil nagbigay ng mga problema sa iyo, at inilagay nila ito bilang opsyonal

  9.   Marcos dijo

    Mahusay 😀 upang aprubahan sa "Purrr" isang programa upang palitan ang pangalan ng mga file nang maramihan.

  10.   Apr4xas dijo

    saludos,

    Sa kasalukuyan sa AUR inaalis nila ang mga pakete na walang function na package (), paano ko malalaman kung anong mga linya ang ilalagay doon? Iyon ay, mayroon akong maraming mga pakete at ginawa ko ito sa ganitong paraan ngunit hindi ko alam kung okay lang https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD ang talagang ginawa ko ay ipasa kung ano ang nasa build () upang ibalot () ngunit tulad ng sinabi ko, hindi ko alam kung okay lang ... Maaari mo ba akong bigyan ng mga komento at mungkahi?

    Salamat 😀

  11.   Azazel dijo

    Salamat sa impormasyong i-bookmark ko ito para sa sanggunian sa hinaharap.

  12.   clerafel dijo

    Maaaring ipaliwanag ng isang tao kung ano ito sa akin, bago ako, at hindi ko alam kung makakatulong ito sa akin na mag-install ng isang .deb package ngunit lokal sa manjaro, isang laro na magiging eksakto. Oo, gumagana ito?

    Hinahanap ko at sinabi nila sa akin na i-install ang deb2targz package ngunit nakakakuha ako ng isang error kapag na-install ito mula sa terminal, at hindi ko alam kung maaari ito

    1.    Germaine dijo

      Ganun din ang nangyayari sa akin; Kailangan kong i-install ang Kademar na batay sa Arch; isang pares ng mga pakete na nakukuha ko lang sa .deb
      May makakatulong ba sa akin?

      1.    valdo dijo

        Kung ang ibig mong sabihin ay isang pagkabigo sa pag-install ng deb2targz, natapos ko lamang i-install ito sa command yaourt -S deb2targz. Siyempre, sa ArchLinux.

  13.   Libreng Pag-iimbak ng Cloud dijo

    Napaka-impormasyong post. Salamat sa pagbabahagi.

  14.   Angry Birds dijo

    Magandang post Salamat sa pagbabahagi ng kapaki-pakinabang na impormasyong ito.

  15.   Mga app para sa PC dijo

    Salamat sa kapaki-pakinabang na post na ito. Malaki ang maitutulong nito.

  16.   jacob dijo

    hi, maiiwan mo ba ang script para sa conversion at paano ito magagamit? ganon ba sa mga bahagi medyo nakalilito, mayroon na akong deb na nais kong i-convert at alam kong posible ito dahil ang google chrome ng AUR ay isang deb ngunit hindi ko alam kung paano gawin ang "MAKEPKG SI" kasama ang ibang deb 🙁