Адна з рэчаў, якія мне найбольш падабаюцца ў 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 каментарыяў, пакіньце свой
Вельмі добра …
Ці можна кіраваць (кампіляваць) пакетам .exe у пакет Arch?
Як, напрыклад, вядомы менеджэр загрузак Mipony ??
Наколькі я ведаю, гэта немагчыма, памятайце, што .exe - гэта бінарныя файлы, а не зыходны код. Але ёсць JDownloader.
Як вы кажаце, вы не можаце перакампіляваць exe, бо гэта двайковы код.
Вы можаце стварыць пакет, які ўсталёўвае яго і выконвае з дапамогай Wine, як гэта робіць пакет у AUR вядомай праграмы P2P Ares.
хтосьці выкарыстоўвае Linux і прапускае Myponi ... jijijijijiji
jDownloader знаходзіцца ў Java, і ўсім добра вядома, што Java выклікае рак лёгкіх ...
цікава, нам давялося б праверыць пакеты. Я думаю, я буду схільны рабіць той, што ёсць у qbittorrent, ха-ха-ха, ужо існуе ў вашым сэрцы, але наяўнасць уласнай версіі будзе неблагім для тэставання, дзякуй за інфармацыю, прывітанне.
Добры ўваход, +1
Я хачу дадаць, што іх таксама прасцей ствараць і падтрымліваць, чым Gentoo ebuilds!
Што тычыцца Debian, я думаю, што гэты дыстрыбутыў надзвычай узмоцніць недахопы, проста мадэрнізуючы альбо перайшоўшы на больш сучасную сістэму кіравання пакетамі і пакетамі, я не ведаю, калі будзе апошняе абнаўленне набору dpkg / apt, але канцэпцыя павінна быць ужо лёгка 15 гадоў і праўда ў тым, што сённяшні дзень анахранічны.
Вялікі дзякуй, я нядаўна шукаў яго ў вікі, і я не разумеў структуры (я хацеў абнавіць PlayonLinux), але ўсё роўна адмовіўся ... ёсць рэчы, у якіх я хацеў бы мець памочніка ці нешта падобнае (не здымайце мяне), але ўсё ж ... пры адсутнасці інструментаў з цягам часу я ўбачу, ці буду я іх ствараць
Дзякуючы вашаму кіраўніцтву я пачаў ствараць PKGBUILD ад Zeya (http://web.psung.name/zeya/), як толькі я скончу, я загружу яго ў AUR 🙂
Цалкам згодны, некаторы час таму я паспрабаваў стварыць пакет для Ubuntu, і мне не ўдалося знайсці зразумелую інфармацыю пра тое, як яго зрабіць, у рэшце рэшт я адмовіўся і груба ўсталяваў праграму.
Гэтай жа праграме для Arch спатрэбілася менш за 5 хвілін, каб сабраць пакет.
І я не ўпэўнены, але думаю, RPM зрабіць прасцей, чым DEB, але складаней, чым Arch.
Вельмі добра і лёгка, а што тычыцца .deb, гэта не так ужо і складана, як для iOS
прывітанне
Думаю, гэта паслужыла б мне некаторы час таму, калі я загрузіў свой першы PKGBUILD у AUR 🙂
Хто-небудзь можа растлумачыць, што гэта для мяне, я пачатковец, і я не ведаю, ці дапамагае мне гэта ўсталяваць пакет .deb, але лакальна ў манджаро, дакладней гульня. Так, гэта працуе?
Я толькі што напісаў чарговы артыкул пра тое, як ствараць пакеты для arch / manjaro з пакетаў .deb
https://blog.desdelinux.net/archlinux-crear-paquetes-multiplataforma-y-desde-paquetes-deb/
Так, я гэта ўжо бачыў, але я вельмі рамантычны і не разумею, ці не толькі гэта радок
CD "$ {srcdir} /"
tar xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
што ў вас ззаду
калі [«$ {CARCH}» = 'x86_64 ′]; потым
ARCH = 'amd64'
md5sums=(‘192a0a222893d59d95f00c34f3c8a674’)
залежыць = ('openal' 'lib32-openal')
elif ["$ {CARCH}" = 'i686 ′]; потым
ARCH = 'i386'
md5sums=(‘047c670443124193c5cc3dd54da99925’)
залежыць = ('openal')
fi
крыніца = ("http://www.unaurl.com/files/$ trackmaster. $ ARCH.deb")
Я гэтага не разумею, гэта выглядае вельмі складана, гэта сумесныя крокі альбо першая частка
CD "$ {srcdir} /"
tar xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
гэта можна зрабіць у адзіночку для пераўтварэння .deb. .tar.gz?