[Howto] Створення програмних пакетів та похідних Arch Linux

Одне з речей, яке мені найбільше подобається в Arch Linux та його похідних, це надзвичайна легкість для створення пакетів, які згодом будуть встановлені в системі, на відміну від відомих дебютантка Debian / Ubuntu / Linux Mint / etc, що є хаосом (і якщо це бібліотеки, я вам не кажу).

Базовим шаблоном буде такий:

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

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

Тепер я поясню кожен параметр:

  • # Технічне обслуговування: У ньому поміщено ім'я супроводжувача пакета
  • пкгнаме: Назва пакета. Він може містити лише літери, цифри, -, _ та +
  • pkver: версія пакета. pe 1.0.0
  • pkgrel: огляд програми або пакета. пе 1
  • pkgdesc: опис упаковки.
  • арка: архітектура програми: вона може бути будь-якою (для всіх), i686 та x86_64, будь-яка для пакетів, які не потребують компіляції, таких як програми bash або python. Якщо це потрібна програма (наприклад, програми на C або C ++), ви повинні вказати i686, якщо це 32 біти, або x86_64 на 64 біти. Загалом, якщо він сумісний з обома, його встановлюють (i686, x86_64)
  • URL: URL на офіційну сторінку програми. Бажано поставити його.
  • Ліцензія: ліцензія на програму. наприклад, GPL3
  • групи: групи, до яких належить пакет. groups = ('система')
  • залежить: в ній ми вказуємо пакети, які потрібні для виконання програми. pependens = ('python2' 'pygtk')
  • виправляє: залежності, які потрібні лише для компіляції пакету. Якщо код потрібно завантажити з диспетчера версій, бажано ввести його. pe: makedepends = ('git')
  • джерело: в ній ми вказуємо файли, необхідні для створення пакета. Як правило, саме URL-адреса пакету містить код, патч, файл .desktopt, піктограми тощо. pe: source = (pacsyu.desktop)
  • md5суми: ось суми md5 файлів, зазначених у джерелі. Щоб знати, які ми запускаємо з терміналу в папці, де знаходиться PKGBUILD (записавши шляхи до файлів у вихідному коді) makepkg -g і суми з’являться на екрані.
    Також можна використовувати інші суми, такі як sh1.
  • збірка: у цій функції ми поставимо команди, необхідні для компіляції програмного забезпечення. Якщо компіляція не потрібна, потрібна лише наступна функція)
  • пакет: у цій іншій функції будуть виконуватися команди встановлення програми. Наприклад, якщо ми компілюємо код C тут, буде виконуватися make install.

І щоб закінчити, нам просто потрібно виконати makepkg щоб перевірити, чи створений пакет.
Як бачите, нам важко. Тоді я залишаю вам деякі додаткові параметри makepkg:

  • -я: Вказує makepkg встановити пакет після його створення.
  • -s: Встановіть залежності пакету, якщо вони є у сховищах.
  • -F: Якщо вже є пакет із таким іменем, версією та редакцією з цим параметром, ми просимо його перезаписати.
  • -c: Після закінчення очистіть робочі папки (кг і джерело).
  • -А: Перепакуйте пакет без необхідності перекомпілювати.

Я рекомендую переглянути більше файлів PKGBUILD, щоб побачити більше прикладів, виконати команду makepkg -h щоб побачити інші параметри програми, на додаток до перегляду makepkg офіційна документація на Arch Linux Wiki що ти можеш знайти тут