Pagbalot ng RPM. Bahagi 2: teorya ng mga file ng SPEC

Ang mahika ng mga RPM ay iyon lahat ng mga tagubilin upang bumuo ng isang pakete ay kasama sa isang solong SPEC file. Siyempre, kailangan mo munang maunawaan ito, at kung minsan hindi ito madali ...

Ano ang SPEC file?

Talaga, ito ang file na nagpapahiwatig kung paano bumuo, mag-install at mag-uninstall ng package.

Ang mga tagubilin na ibibigay namin sa iyo ay nahahati sa mga yugto, na kung saan ay macros. Ito ang mga pangunahing yugto na mayroong:

  1. % prep: Ang mga mapagkukunan ay na-zip at inilapat ang mga patch.
  2. % build: Ang mga binary ay naipon.
  3. % check: Napatunayan na naayos ito nang tama.
  4. % install: Isinasagawa ang pag-install drill.
  5. % mga file: Ilista ang lahat ng mga file na lilitaw sa package. Kadalasan din itong ginagamit upang magtalaga ng mga katangian. Kung mayroong anumang file na hindi nakalista, hindi ito maitatayo.

Ang ilang SPEC ay maaaring walang ilang mga yugto. Hindi sila sapilitan.

Mayroong iba pang mga yugto na tinatawag mga scriptlet. espesyal ang mga ito sapagkat hindi sila naisakatuparan kapag naitayo ang pakete, ngunit kapag na-install o na-uninstall ito. Maaari mo ring iiskedyul ang isang gatilyo upang tumakbo kapag na-install ang isa pang pakete. Ito ay isa sa mga mahusay na kalamangan na ang RPM ay may higit sa mga DEB file.

Ang malaking gulo sa mga RPM ay iyon ay may parehong syntax para sa lahat. Iyon ay, ang lahat ng mga espesyal na salitang ito ay naunahan ng isang porsyentong tanda (%) ay RPM macros, ngunit may mga macros ng lahat ng uri:

  • Mga Pag-andar (% setup,% configure,% patch…)
  • Mga paunang natukoy na variable (% _bindir,% dist…)
  • Ang mga variable na tinukoy sa mismong SPEC (% buildroot,% pangalan,% bersyon ...)
  • Static na mga seksyon (% paglalarawan,% changelog…)
  • Mga yugto (% build,% install…)
  • Mga Trigger (% triggerin,% triggerpostun…)
  • Mga Scriptlet (% pretrans,% postun ...)

Upang malaman kung paano gumamit ng isang tiyak na macro, ang tanging paraan ay kumunsulta sa dokumentasyon. Sa totoo lang maaari mong palaging gumamit ng iba pang mga trick tulad tingnan kung paano ang isang SPEC ay gawa sa isang pakete na katulad sa iyo, o ang pamamaraan ng pagsubok at error. Isang pares ng mga praktikal na utos:

rpmbuild --showrc # Ipakita ang lahat ng iyong macros
rpmbuild --eval = "% macro_name" # Ipakita ang pinalawak na macro

Pareho ang Macros kung mayroon silang bracket sa paligid. Kung mayroong isang marka ng tanong pagkatapos ng bracket, magiging blangko ito kung walang mapalawak. Halimbawa, 1% {? Dist} ay lalawak sa 1.fc16 sa Fedora 16, ngunit sa isa pang distro ito ay mananatili bilang 1.

Palawakin ang Macros kahit sa mga komento. Upang maiwasan itong kumalat, gumamit ng dalawang porsyento nang sunud-sunod. Halimbawa, %% pag-set up ay magiging bilang % setup literal sa pamamagitan ng pagpapalawak.

Napapawi ang iyong gana

Nasa ikalawang yugto na kami ng tutorial na ito at hindi mo pa rin alam kung ano ang ibabalot namin, kaya narito ang video upang buksan ang iyong bibig:

Ang larong ilalagay namin ay lubos na nakakahumaling. Inirerekumenda kong hindi kumpletuhin ang tutorial kung sakaling wala kang oras pagkatapos mag-aksaya ng ilang oras ng iyong buhay sa paglalaro nito ...

<< Basahin ang unang bahagi ng RPM packaging tutorial


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.