[Howto] Стварэнне пакетаў праграмнага забеспячэння Arch Linux і вытворных

Адна з рэчаў, якія мне найбольш падабаюцца ў Arch Linux і яе вытворных, гэта надзвычайная лёгкасць для стварэння пакетаў, якія ў далейшым будуць усталяваны ў сістэму, у адрозненне ад вядомых дэбютантка Debian / Ubuntu / Linux Mint / і г. д. гэта хаос (і калі гэта бібліятэкі, я вам не кажу).

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

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

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

Зараз я растлумачу кожны параметр:

  • # Тэхнічнае абслугоўванне: У ім пастаўлена імя суправаджальніка пакета
  • імя пакета: Назва пакета. Ён можа ўтрымліваць толькі літары, лічбы, -, _ і +
  • pkver: версія пакета. пэ 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: крыніца = (pacsyu.desktop)
  • мд5сумы: вось сумы md5 файлаў, пазначаных у крыніцы. Каб ведаць, якія мы запускаем з тэрмінала ў тэчцы, дзе знаходзіцца PKGBUILD (напісаўшы шляхі да файлаў у крыніцы) makepkg -g і сумы з'явяцца на экране.
    Таксама можна выкарыстоўваць іншыя сумы, такія як sh1.
  • будаваць: у гэтай функцыі мы паставім каманды, неабходныя для кампіляцыі праграмнага забеспячэння. Калі няма неабходнасці кампіляваць, неабходна толькі наступная функцыя)
  • пакет: у гэтай іншай функцыі будуць ісці каманды ўстаноўкі праграмы. Напрыклад, калі мы складаем код C тут, будзе ісці make install.

І каб скончыць, нам проста трэба выканаць makepkg для праверкі генерацыі пакета.
Як бачыце, нам цяжка. Тады я пакідаю вам дадатковыя параметры makepkg:

  • -я: Указвае makepkg усталяваць пакет пасля яго стварэння.
  • -s: Усталюйце залежнасці пакета, калі яны знаходзяцца ў сховішчах.
  • -F: Калі ўжо ёсць пакет з гэтым імем, версіяй і версіяй з гэтым параметрам, мы просім перазапісаць яго.
  • -c: Па заканчэнні ачысціце працоўныя тэчкі (pkg і крыніца).
  • -А: Перапакуйце пакет без неабходнасці перакампіляваць.

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


Змест артыкула адпавядае нашым прынцыпам рэдакцыйная этыка. Каб паведаміць пра памылку, націсніце тут.

14 каментарыяў, пакіньце свой

Пакіньце свой каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаныя *

*

*

  1. Адказны за дадзеныя: Мігель Анхель Гатон
  2. Прызначэнне дадзеных: Кантроль спаму, кіраванне каментарыямі.
  3. Легітымнасць: ваша згода
  4. Перадача дадзеных: Дадзеныя не будуць перададзены трэцім асобам, за выключэннем юрыдычных абавязкаў.
  5. Захоўванне дадзеных: База дадзеных, размешчаная Occentus Networks (ЕС)
  6. Правы: у любы час вы можаце абмежаваць, аднавіць і выдаліць сваю інфармацыю.

  1.   Джамін-Самуэль сказаў

    Вельмі добра …

    Ці можна кіраваць (кампіляваць) пакетам .exe у пакет Arch?

    Як, напрыклад, вядомы менеджэр загрузак Mipony ??

    1.    правільны сказаў

      Наколькі я ведаю, гэта немагчыма, памятайце, што .exe - гэта бінарныя файлы, а не зыходны код. Але ёсць JDownloader.

    2.    v3on сказаў

      хтосьці выкарыстоўвае Linux і прапускае Myponi ... jijijijijiji

      jDownloader знаходзіцца ў Java, і ўсім добра вядома, што Java выклікае рак лёгкіх ...

  2.   малочны28 сказаў

    цікава, нам давялося б праверыць пакеты. Я думаю, я буду схільны рабіць той, што ёсць у qbittorrent, ха-ха-ха, ужо існуе ў вашым сэрцы, але наяўнасць уласнай версіі будзе неблагім для тэставання, дзякуй за інфармацыю, прывітанне.

  3.   MSX сказаў

    Добры ўваход, +1
    Я хачу дадаць, што іх таксама прасцей ствараць і падтрымліваць, чым Gentoo ebuilds!

    Што тычыцца Debian, я думаю, што гэты дыстрыбутыў надзвычай узмоцніць недахопы, проста мадэрнізуючы альбо перайшоўшы на больш сучасную сістэму кіравання пакетамі і пакетамі, я не ведаю, калі будзе апошняе абнаўленне набору dpkg / apt, але канцэпцыя павінна быць ужо лёгка 15 гадоў і праўда ў тым, што сённяшні дзень анахранічны.

  4.   Гнілі87 сказаў

    Вялікі дзякуй, я нядаўна шукаў яго ў вікі, і я не разумеў структуры (я хацеў абнавіць PlayonLinux), але ўсё роўна адмовіўся ... ёсць рэчы, у якіх я хацеў бы мець памочніка ці нешта падобнае (не здымайце мяне), але ўсё ж ... пры адсутнасці інструментаў з цягам часу я ўбачу, ці буду я іх ствараць

    1.    MSX сказаў

      Дзякуючы вашаму кіраўніцтву я пачаў ствараць PKGBUILD ад Zeya (http://web.psung.name/zeya/), як толькі я скончу, я загружу яго ў AUR 🙂

  5.   hypersayan_x сказаў

    у адрозненне ад добра вядомага .deb Debian / Ubuntu / Linux Mint / і г.д., які з'яўляецца хаосам

    Цалкам згодны, некаторы час таму я паспрабаваў стварыць пакет для Ubuntu, і мне не ўдалося знайсці зразумелую інфармацыю пра тое, як яго зрабіць, у рэшце рэшт я адмовіўся і груба ўсталяваў праграму.
    Гэтай жа праграме для Arch спатрэбілася менш за 5 хвілін, каб сабраць пакет.
    І я не ўпэўнены, але думаю, RPM зрабіць прасцей, чым DEB, але складаней, чым Arch.

  6.   хаклопер775 сказаў

    Вельмі добра і лёгка, а што тычыцца .deb, гэта не так ужо і складана, як для iOS

    прывітанне

  7.   Карлас сказаў

    Думаю, гэта паслужыла б мне некаторы час таму, калі я загрузіў свой першы PKGBUILD у AUR 🙂

  8.   клерафел сказаў

    Хто-небудзь можа растлумачыць, што гэта для мяне, я пачатковец, і я не ведаю, ці дапамагае мне гэта ўсталяваць пакет .deb, але лакальна ў манджаро, дакладней гульня. Так, гэта працуе?