[Howto] Generowanie pakietów oprogramowania Arch Linux i pochodnych

Jedną z rzeczy, które najbardziej lubię w Arch Linux i jego pochodnych jest ogromna łatwość tworzenie pakietów do późniejszej instalacji w systemie, w przeciwieństwie do znanych deb Debiana / Ubuntu / Linux Mint / etc to chaos (a jeśli są to biblioteki, nie mówię ci).

Podstawowy szablon wyglądałby tak:

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

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

Teraz wyjaśnię każdy parametr:

  • # Opiekun: W nim umieszczane jest nazwisko opiekuna pakietu
  • nazwapakietu: Nazwa pakietu. Może zawierać tylko litery, cyfry, -, _ i +
  • pkwer: wersja pakietu. pe 1.0.0
  • pakiet: przegląd programu lub pakietu. pe 1
  • ozpak.: opis pakietu.
  • łuk: architektura programu: może to być dowolna (dla każdego), i686 i x86_64, czyli dowolna dla pakietów niewymagających kompilacji, takich jak programy bash czy python. Jeśli jest to program, który tego potrzebuje (na przykład programy w C lub C ++), musisz wskazać i686, jeśli jest przeznaczony dla 32 bitów lub x86_64 dla 64 bitów. Generalnie jeśli jest kompatybilny z obydwoma to jest ustawiony (i686, x86_64)
  • URL: adres URL do oficjalnej strony programu. Wskazane jest, aby to umieścić.
  • licencja: licencja na program. np. GPL3
  • grupy: grupy, do których należy pakiet. groups = ('system')
  • zależy: w nim wskazujemy pakiety, które są potrzebne do wykonania programu. pependens = ('python2' 'pygtk')
  • uzależnione: zależności, które są wymagane tylko do skompilowania pakietu. Jeśli kod ma zostać pobrany z menadżera wersji, wskazane jest, aby go umieścić. pe: makedepends = ('git')
  • źródło: w nim wskazujemy pliki niezbędne do utworzenia pakietu. Z reguły jest to adres URL pakietu, który zawiera kod, poprawkę, plik .desktopt, ikony itp. pe: source = (pacsyu.desktop)
  • sumy md5: oto sumy md5 plików wskazanych w źródle. Aby wiedzieć, które z nich uruchamiamy z terminala w folderze, w którym znajduje się PKGBUILD (po zapisaniu ścieżek plików w źródle) makepkg -g a sumy pojawią się na ekranie.
    Możliwe jest również użycie innych sum, takich jak sh1.
  • budować: w tej funkcji umieścimy polecenia wymagane do przystąpienia do kompilacji oprogramowania. Jeśli kompilacja nie jest konieczna, potrzebna jest tylko następująca funkcja)
  • pakiet: w tej innej funkcji będą wykonywane polecenia instalacji programu. Na przykład, jeśli kompilujemy tutaj kod w C, instalacja make pójdzie.

Aby zakończyć, musimy tylko wykonać makepkg aby sprawdzić, czy pakiet został wygenerowany.
Jak widać, jest to dla nas trudne. Zostawiam Wam kilka dodatkowych parametrów makepkg:

  • -ja: Nakazuje makepkg zainstalować pakiet po jego utworzeniu.
  • -S: Zainstaluj zależności pakietów, jeśli znajdują się w repozytoriach.
  • -FA: Jeśli istnieje już pakiet o tej nazwie, wersji i rewizji z tym parametrem, każemy go nadpisać.
  • -do: Po zakończeniu wyczyść foldery robocze (pkg i źródło).
  • -A: Przepakuj pakiet bez konieczności ponownej kompilacji.

Polecam zobaczyć więcej plików PKGBUILD, aby zobaczyć więcej przykładów, wykonaj polecenie makepkg -h aby zobaczyć pozostałe parametry programu, oprócz wyświetlania pliku oficjalna dokumentacja makepkg na Arch Linux Wiki co możesz znaleźć tutaj


14 komentarzy, zostaw swoje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   jamin samuel powiedział

    Bardzo dobre …

    Czy możesz sprawić, aby pakiet .exe zarządzał (kompilował) do pakietu Arch?

    Na przykład słynny menedżer pobierania mój kucyk ??

    1.    właściwy powiedział

      O ile wiem, nie jest to możliwe, pamiętaj, że pliki .exe to pliki binarne, a nie kod źródłowy. Ale jest JDownloader.

    2.    v3 na powiedział

      ktoś używa Linuksa i tęskni za Myponi… jijijijiji

      jDownloader jest w Javie i wszystkim dobrze wiadomo, że java wywołuje raka płuc ...

  2.   mleczny28 powiedział

    ciekawe, musielibyśmy przetestować pakiety. Myślę, że skłaniam się do zrobienia tego z qbittorrent hahaha, który już istnieje w yaourt, ale posiadanie własnej wersji nie będzie złe do przetestowania, dzięki za informacje, pozdrawiam.

  3.   msx powiedział

    Dobry wkład, +1
    Chcę dodać, że są one również łatwiejsze do tworzenia i obsługi niż ebuildy Gentoo!

    Jeśli chodzi o Debiana, myślę, że ta dystrybucja ogromnie zwiększyłaby jego utrudnienia tylko poprzez modernizację lub migrację do bardziej nowoczesnego systemu zarządzania pakietami i pakietami, nie wiem, kiedy nastąpi ostatnia aktualizacja zestawu dpkg / apt, ale koncepcja powinna już być łatwa 15 lat i prawda jest taka, że ​​dziś jest anachronicznie.

  4.   Zgnilizny87 powiedział

    Dziękuję bardzo, trochę poszukałem tego na wiki i nie zrozumiałem struktury (chciałem zaktualizować PlayonLinux), ale wciąż się poddałem ... są rzeczy, w których chciałbym mieć asystenta lub coś takiego (nie strzelaj do mnie), ale nadal ... w przypadku braku narzędzi z czasem zobaczę, czy je utworzę

    1.    msx powiedział

      Dzięki Twojemu przewodnikowi zacząłem tworzyć PKGBUILD Zeya (http://web.psung.name/zeya/), jak tylko skończę, przesyłam go do AUR 🙂

  5.   hypersayan_x powiedział

    w przeciwieństwie do dobrze znanego pliku .deb z Debian / Ubuntu / Linux Mint / etc, który jest bałaganem

    Całkowicie się zgadzam, jakiś czas temu próbowałem stworzyć paczkę dla Ubuntu i nie mogłem znaleźć zrozumiałych informacji jak to zrobić, w końcu zrezygnowałem i z grubsza zainstalowałem program.
    Ten sam program dla Archa zajął mi mniej niż 5 minut, aby złożyć pakiet.
    I nie jestem pewien, ale myślę, że RPM jest nieco łatwiejszy do wykonania niż DEB, ale trudniejszy niż Arch.

  6.   hacker775 powiedział

    Bardzo dobre i łatwe, a co do .deb nie jest takie trudne, cóż, na iOS

    pozdrowienia

  7.   Carlos powiedział

    Myślę, że to by mi służyło jakiś czas temu, kiedy wgrałem mój pierwszy PKGBUILD na AUR 🙂

  8.   Clerafel powiedział

    Czy ktoś może mi wyjaśnić, co to jest, jestem nowy i nie wiem, czy to pomoże mi zainstalować pakiet .deb, ale lokalnie w manjaro, a dokładniej grze. Tak to działa?