[Howto] Bumuo ng mga pakete at derivatives ng software ng Arch Linux

Isa sa mga bagay na pinaka gusto ko tungkol sa Arch Linux at ang mga derivatives nito ay ang napakalaking kadalian upang lumikha ng mga pakete upang ma-install sa ibang pagkakataon sa system, hindi katulad ng mga kilala .deb ng Debian / Ubuntu / Linux Mint / atbp na iyon ay isang kaguluhan (at kung ang mga ito ay mga aklatan hindi ko sasabihin sa iyo).

Ang isang pangunahing template ay ito:

# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()

build() {
...
}
package() {
...
}

Ngayon ay ipapaliwanag ko ang bawat parameter:

  • # Tagapagpanatili: Sa ito ang pangalan ng nagpapanatili ng package
  • pkgname: Ang pangalan ng package. Maaari lamang itong maglaman ng mga titik, numero, -, _ at +
  • pkver: bersyon ng package. pe 1.0.0
  • pkgrel: repasuhin ang programa o pakete. pe 1
  • pkgdesc: paglalarawan ng package.
  • arko: ang arkitektura ng programa: maaari itong maging anumang (para sa lahat), i686 at x86_64, alinman para sa mga pakete na hindi nangangailangan ng pagtitipon, tulad ng mga bash o python na programa. Kung ito ay isang programa na kailangan ito (halimbawa, mga programa sa C o C ++) dapat itong ipahiwatig i686 kung ito ay para sa 32 bits o x86_64 para sa 64 bits. Sa pangkalahatan, kung ito ay katugma sa pareho, naka-set ito (i686, x86_64)
  • url: ang url sa opisyal na pahina ng programa. Maipapayo na ilagay ito.
  • lisensya: ang lisensya ng programa. hal. GPL3
  • mga pangkat: ang mga pangkat na kinabibilangan ng package. mga pangkat = ('system')
  • depende: sa loob nito ipinapahiwatig namin ang mga pakete na kinakailangan para sa pagpapatupad ng programa. pependens = ('python2 "pygtk')
  • ginawa: ang mga dependency na kinakailangan lamang upang mag-ipon ang pakete. Kung ang code ay mai-download mula sa isang bersyon manager, inirerekumenda na ilagay ito. pe: makedepends = ('git')
  • pinagmulan: sa loob nito ipinapahiwatig namin ang mga file na kinakailangan para sa paglikha ng package. Bilang isang pangkalahatang panuntunan, ito ang url sa pakete na naglalaman ng code, isang patch, isang .desktopt file, mga icon, atbp. pe: source = (pacsyu.desktop)
  • md5sums: narito ang mga md5 kabuuan ng mga file na ipinahiwatig sa mapagkukunan. Upang malaman kung alin ang pinapatakbo namin mula sa isang terminal sa folder kung saan ang PKGBUILD (na nakasulat sa mga file path sa pinagmulan) makepkg -g at ang mga kabuuan ay lilitaw sa screen.
    Posible ring gumamit ng iba pang mga kabuuan tulad ng sh1.
  • magtayo: sa pagpapaandar na ito ilalagay natin ang mga utos na kinakailangan upang magpatuloy sa pag-ipon ng software. Kung hindi kinakailangan upang mag-ipon kinakailangan lamang ang sumusunod na pagpapaandar)
  • package: sa ibang pag-andar na ito ay pupunta ang mga utos ng pag-install ng programa. Halimbawa kung nagsasama kami ng C code dito ang make install ay pupunta.

At upang matapos ay kailangan lang nating magpatupad makepkg upang mapatunayan na nabuo ang pakete.
Tulad ng nakikita mo, mahirap para sa amin. Pagkatapos ay iwan ko sa iyo ng ilang dagdag na mga parameter ng makepkg:

  • -ako: Nagtuturo sa makepkg upang mai-install ang package matapos itong malikha.
  • -s: I-install ang mga dependency ng package kung ang mga ito ay nasa mga repository.
  • -F: Kung mayroon nang isang pakete na may pangalang iyon, bersyon at rebisyon na may parameter na ito sinabi namin sa iyo na i-overlap ito.
  • -c: Linisin ang mga gumaganang folder (pkg at mapagkukunan) sa sandaling tapos na.
  • -A: Repackage ang package nang hindi na kinakailangang muling buuin.

Inirerekumenda kong makakita ng higit pang mga file ng PKGBUILD upang makakita ng higit pang mga halimbawa, ipatupad ang utos makepkg -h upang makita ang natitirang mga parameter ng programa, bilang karagdagan sa nakikita ang opisyal na dokumentasyon ng makepkg sa Arch Linux Wiki ano ang mahahanap mo dito


14 na puna, iwan mo na ang iyo

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.   jamin samuel dijo

    Napakaganda ...

    Maaari bang pamahalaan ang isang .exe package (naipon) sa isang Arch package?

    Tulad halimbawa ng sikat na download manager mypony ??

    1.    angkop dijo

      Sa pagkakaalam ko na hindi posible, tandaan na ang .exe ay mga binary at hindi source code. Ngunit mayroong JDownloader.

    2.    v3on dijo

      ang isang tao ay gumagamit ng linux at namimiss ang Myponi ... jijijijiji

      Ang jDownloader ay nasa java, at kilala sa lahat na ang java ay sanhi ng cancer sa baga ...

  2.   gatas28 dijo

    kagiliw-giliw, kailangan naming subukan ang mga pakete sa palagay ko ay may hilig akong gawin ang isa mula sa qbittorrent hahaha mayroon na sa iyo ngunit ang pagkakaroon ng iyong sariling bersyon ay hindi masamang subukan, salamat sa impormasyon, pagbati.

  3.   msx dijo

    Magandang input, +1
    Nais kong idagdag na mas madali din ang mga ito upang likhain at mapanatili kaysa sa Gentoo ebuilds!

    Tungkol kay Debian, sa palagay ko na ang distro na ito ay magtataas ng handicap nito nang napakalaki sa pamamagitan lamang ng paggawa ng moderno o paglipat sa isang mas modernong sistema ng package at package management, hindi ko alam kung kailan ang huling pag-update ng dpkg / apt set ngunit ang konsepto ay dapat na madaling magkaroon ng 15 taon at ang totoo ngayon ay anachronistic.

  4.   Nabulok87 dijo

    Maraming salamat, hinanap ko ito kamakailan sa wiki at hindi ko naintindihan ang istraktura (nais kong i-update ang PlayonLinux) ngunit sumuko pa rin ako ... may mga bagay na nais kong magkaroon ng isang katulong o isang bagay tulad nito (huwag mo akong kunan ng larawan) ngunit pa rin ... sa kawalan ng mga tool sa paglipas ng panahon makikita ko kung lumikha ako ng anuman

    1.    msx dijo

      Salamat sa iyong gabay nagsimula akong likhain ang Zeya's PKGBUILD (http://web.psung.name/zeya/), sa sandaling matapos ko ito ay ina-upload ko ito sa AUR 🙂

  5.   hypersayan_x dijo

    hindi tulad ng kilalang .deb ng Debian / Ubuntu / Linux Mint / etc na isang gulo

    Ganap na sumasang-ayon, kanina pa sinubukan kong lumikha ng isang pakete para sa Ubuntu at imposibleng makahanap ng naiintindihan na impormasyon sa kung paano gumawa ng isa, sa huli ay sumuko ako at na-install kong magaspang ang programa.
    Ang parehong programa para sa Arch ay tumagal sa akin ng mas mababa sa 5 minuto upang pagsamahin ang package.
    At hindi ako sigurado ngunit sa palagay ko ang RPM ay mas madaling gawin kaysa sa DEB, ngunit mas mahirap kaysa kay Arch.

  6.   hackloper775 dijo

    Napakahusay at madali, at para sa .deb hindi ito gano kahirap, mabuti na para sa iOS

    Regards

  7.   Carlos dijo

    Sa palagay ko ito ay nagsilbi sa akin noong nakaraan kapag na-upload ko ang aking unang PKGBUILD sa AUR 🙂

  8.   clerafel dijo

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