[Howto] Generování softwarových balíků a derivátů Arch Linuxu

Jedna z věcí, která se mi na Arch Linuxu a jeho derivátech líbí nejvíce, je obrovská lehkost vytvořit balíčky, které se později nainstalují do systému, na rozdíl od známých deb systému Debian / Ubuntu / Linux Mint / atd., což je chaos (a pokud se jedná o knihovny, neříkám vám to).

Základní šablona by byla tato:

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

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

Nyní vysvětlím každý parametr:

  • # Správce: V něm je uveden název správce balíčku
  • název balíku: Název balíčku. Může obsahovat pouze písmena, číslice, -, _ a +
  • pkver: verze balíčku. pe 1.0.0
  • pkgrel: přezkoumání programu nebo balíčku. pe 1
  • pkgdesc: popis balíčku.
  • oblouk: architektura programu: může být libovolná (pro všechny), i686 a x86_64, libovolná pro balíčky, které nevyžadují kompilaci, jako jsou programy bash nebo python. Pokud je to program, který to potřebuje (například programy v C nebo C ++), měli byste označit i686, pokud je to pro 32 bitů, nebo x86_64 pro 64 bitů. Obecně platí, že pokud je kompatibilní s oběma, je nastaveno (i686, x86_64)
  • url: adresa URL oficiální stránky programu. Je vhodné to vyjádřit.
  • Licence: licenci k programu. např. GPL3
  • skupiny: skupiny, do kterých balíček patří. groups = ('system')
  • závisí: v něm označíme balíčky, které jsou potřebné pro spuštění programu. pependens = ('python2' 'pygtk')
  • záleží na: závislosti, které jsou vyžadovány pouze pro kompilaci balíčku. Pokud má být kód stažen ze správce verzí, je vhodné jej zadat. pe: makedepends = ('git')
  • zdroj: v něm označíme soubory potřebné pro vytvoření balíčku. Obecně platí, že je to adresa URL balíčku, který obsahuje kód, opravu, soubor .desktopt, ikony atd. pe: source = (pacsyu.desktop)
  • md5 součty: Zde jsou součty MD5 souborů označených ve zdroji. Chcete-li vědět, které z nich spouštíme z terminálu ve složce, kde je PKGBUILD (po napsání cesty k souboru ve zdroji) makepkg -g a částky se objeví na obrazovce.
    Je také možné použít jiné součty jako sh1.
  • stavět: do této funkce vložíme příkazy potřebné k provedení kompilace softwaru. Pokud není nutné kompilovat, je nutná pouze následující funkce)
  • balíček: v této další funkci budou spuštěny instalační příkazy programu. Například pokud zde kompilujeme C kód, make install by šel.

A na závěr musíme pouze popravit makepkg k ověření, že je balíček vygenerován.
Jak vidíte, je to pro nás obtížné. Pak vám nechám několik dalších parametrů makepkg:

  • -já: Pokyn makepkg na instalaci balíčku po jeho vytvoření.
  • -s: Nainstalujte závislosti balíčku, pokud jsou v úložištích.
  • -F: Pokud již existuje balíček s tímto názvem, verzí a revizí s tímto parametrem, řekneme vám, abyste jej přepsali.
  • -C: Po dokončení vyčistěte pracovní složky (bal. A zdroj).
  • -A: Znovu zabalte balíček, aniž byste museli překompilovat.

Doporučuji vidět více souborů PKGBUILD, abyste viděli více příkladů, proveďte příkaz makepkg -h kromě zobrazení souboru můžete zobrazit i ostatní parametry programu oficiální dokumentace makepkg na Arch Linux Wiki co najdete zde


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   jamin samuel řekl

    Velmi dobře …

    Můžete vytvořit balíček .exe pro správu (kompilaci) s balíčkem Arch?

    Jako například slavný správce stahování mypony ??

    1.    řádný řekl

      Pokud vím, není to možné, pamatujte, že .exe jsou binární soubory a nikoli zdrojový kód. Ale existuje JDownloader.

    2.    v3on řekl

      někdo používá linux a chybí mu Myponi… jijijijiji

      jDownloader je v java a je dobře známo všem, že java způsobuje rakovinu plic ...

  2.   mléčný28 řekl

    zajímavé, museli bychom testovat balíčky Myslím, že budu mít sklon dělat ten od qbittorrent hahaha, který již existuje v yaourt, ale mít svou vlastní verzi nebude špatné testovat, díky za informace, pozdravy.

  3.   MSX řekl

    Dobrý vstup, +1
    Chtěl bych dodat, že je také snazší je vytvořit a udržovat než Gentoo ebuilds!

    Pokud jde o Debian, myslím si, že tato distribuce by enormně zvýšila svůj handicap pouhou modernizací nebo migrací na modernější balíček a systém správy balíčků, nevím, kdy bude poslední aktualizace sady dpkg / apt, ale koncept by už měl mít snadno 15 let a pravdou je, že dnes je anachronický.

  4.   hnije87 řekl

    Děkuji mnohokrát, trochu jsem to hledal na wiki a nerozuměl jsem struktuře (chtěl jsem aktualizovat PlayonLinux), ale přesto jsem to vzdal ... jsou věci, ve kterých bych chtěl mít asistenta nebo něco podobného (nestřílejte mě), ale přesto ... při absenci nástrojů v průběhu času uvidím, jestli nějaké vytvořím

    1.    MSX řekl

      Díky tvému ​​průvodci jsem začal vytvářet Zeyinu PKGBUILD (http://web.psung.name/zeya/), jakmile to dokončím, nahraji to na AUR 🙂

  5.   hypersayan_x řekl

    na rozdíl od známého .deb Debian / Ubuntu / Linux Mint / etc, což je nepořádek

    Naprosto souhlasím, před chvílí jsem se pokusil vytvořit balíček pro Ubuntu a bylo pro mě nemožné najít srozumitelné informace o tom, jak jej vytvořit, nakonec jsem to vzdal a zhruba nainstaloval program.
    Stejný program pro Archa mi dal balíček dohromady méně než 5 minut.
    A nejsem si jistý, ale myslím, že RPM je o něco snazší než DEB, ale těžší než Arch.

  6.   hackloper775 řekl

    Velmi dobré a snadné a pokud jde o .deb, není to tak těžké, stejně jako pro iOS

    pozdravy

  7.   Carlos řekl

    Myslím, že by mi to před nějakou dobou posloužilo, když jsem nahrál svůj první PKGBUILD na AUR 🙂

  8.   klerafel řekl

    Může mi někdo vysvětlit, o co jde, jsem nový a nevím, jestli mi to pomůže nainstalovat balíček .deb, ale lokálně v manjaro, přesněji řečeno hře. Ano, funguje to?