Een van die dinge wat ek die meeste van Arch Linux en sy afgeleides is, is die geweldige gemak om pakkette te skep wat later op die stelsel geïnstalleer kan word, anders as die bekende deb van Debian / Ubuntu / Linux Mint / ens. dit is 'n chaos (en as dit biblioteke is, vertel ek dit nie).
'N Basissjabloon is die volgende:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
Nou sal ek elke parameter verduidelik:
- # Onderhouer: Daarin word die naam van die instandhouer van die pakket geplaas
- pkg naam: Die naam van die pakket. Dit kan slegs letters, syfers, -, _ en + bevat
- pkver: pakket weergawe. pe 1.0.0
- pkgrel: hersiening van die program of pakket. pe 1
- pkgdesc: pakket beskrywing.
- boog: die argitektuur van die program: dit kan enige (vir almal), i686 en x86_64 wees, dit is pakkette wat nie saamgestel is nie, soos bash- of python-programme. As dit 'n program is wat dit nodig het (byvoorbeeld programme in C of C ++), moet u i686 aandui as dit vir 32 bisse of x86_64 vir 64 bits is. In die algemeen, as dit met albei versoenbaar is, is dit ingestel (i686, x86_64)
- url: die url na die amptelike bladsy van die program. Dit is raadsaam om dit te stel.
- lisensie: die programlisensie. bv. GPL3
- groepe: die groepe waartoe die pakket behoort. groepe = ('stelsel')
- hang af: daarin dui ons die pakkette aan wat benodig word vir die uitvoering van die program. pependens = ('python2' 'pygtk')
- gemaak hang af: die afhanklikhede wat slegs benodig word om die pakket saam te stel. As die kode by 'n weergawe-bestuurder afgelaai moet word, is dit raadsaam om dit te sit. pe: makedepends = ('git')
- Bron: daarin dui ons die lêers aan wat nodig is vir die skep van die pakket. As 'n algemene reël is dit die url van die pakket wat die kode bevat, 'n pleister, 'n .desktopt-lêer, ikone, ens. pe: bron = (pacsyu.desktop)
- md5somme: hier is die md5-somme van die lêers wat in die bron aangedui word. Om te weet watter ons vanaf 'n terminaal in die gids waarin die PKGBUILD is, bestuur (nadat die lêerpaaie in die bron geskryf is) makepkg -g en die somme sal op die skerm verskyn.
Dit is ook moontlik om ander somme soos sh1 te gebruik. - bou: in hierdie funksie sal ons die opdragte benodig om voort te gaan met die samestelling van die sagteware. As dit nie nodig is om slegs die volgende funksie saam te stel nie, is dit nodig)
- pakket: in hierdie ander funksie gaan die programinstallasieopdragte. Byvoorbeeld, as ons C-kode hier saamstel, sal die installasie van die fabriek gaan.
En om te eindig, moet ons net uitvoer makepkg om te verifieer dat die pakket gegenereer word.
Soos u kan sien, is dit vir ons moeilik. Dan laat ek u 'n paar ekstra parameters van makepkg:
- -ek: Beveel makepkg om die pakket te installeer nadat dit geskep is.
- -s: Installeer die pakketafhanklikhede as dit in die bewaarplekke is.
- -F: As daar reeds 'n pakket met die naam, weergawe en hersiening met hierdie parameter is, kan u dit oorskryf.
- -teen: Maak die werkmapies (pkg en bron) skoon sodra u klaar is.
- -A: Verpak die pakket weer sonder dat u dit weer hoef saam te stel.
Ek beveel aan om meer PKGBUILD-lêers te sien om meer voorbeelde te sien, voer die opdrag uit makepkg -h om die res van die programparameters te sien, behalwe om die makepkg amptelike dokumentasie op Arch Linux Wiki wat kan jy vind hier
14 kommentaar, los joune
Baie goed …
Kan u 'n .exe-pakket laat beheer tot 'n Arch-pakket?
Soos byvoorbeeld die beroemde aflaaibestuurder Mipony ??
Sover ek weet is dit nie moontlik nie, onthou dat die .exe binaries is en nie bronkode nie. Maar daar is JDownloader.
Soos u sê, u kan 'n exe nie weer saamstel nie, want dit is 'n binêre kode.
U kan 'n pakket skep wat dit installeer en met Wine uitvoer, net soos die pakket in die AUR van die bekende P2P-program Ares.
iemand gebruik linux en mis Myponi ... jijijijiji
jDownloader is in Java, en dit is bekend by almal dat Java longkanker veroorsaak ...
interessant, ons sal pakkette moet toets. Ek dink ek sal geneig wees om die een uit qbittorrent te doen hahaha, dit bestaan reeds in yaourt, maar om u eie weergawe te hê, sal nie sleg wees om te toets nie, dankie vir die inligting, groete.
Goeie insette, +1
Ek wil byvoeg dat dit ook makliker is om te skep en in stand te hou as Gentoo ebuilds!
Wat Debian betref, dink ek dat hierdie distro sy gestremdheid enorm sal verhoog, net deur te moderniseer of na 'n meer moderne pakket- en pakketbestuurstelsel te migreer. 15 jaar en die waarheid is dat dit vandag anachronisties is.
Baie dankie, onlangs het ek dit in die wiki gesoek en die struktuur nie verstaan nie (ek wou die PlayonLinux een bywerk), maar ek het nogtans opgegee ... daar is dinge waarin ek graag wil hê 'n assistent of iets dergeliks (moenie my skiet nie) maar tog ... in die afwesigheid van gereedskap met verloop van tyd sal ek sien of ek dit skep
Danksy u gids het ek Zeya se PKGBUILD begin skep (http://web.psung.name/zeya/Sodra ek dit voltooi het, laai ek dit op na die AUR 🙂
Heeltemal eens, ek het 'n rukkie gelede probeer om 'n pakket vir Ubuntu te skep, en dit was vir my onmoontlik om verstaanbare inligting te vind oor hoe om een te maak, en uiteindelik het ek die program ongeveer opgegee.
Dieselfde program vir Arch het my minder as 5 minute geneem om die pakket saam te stel.
En ek is nie seker nie, maar ek dink RPM is effens makliker om te doen as DEB, maar moeiliker as Arch.
Baie goed en maklik, en wat die .deb betref, is dit nie so moeilik nie, ook nie vir iOS nie
Groete
Ek dink dit sou my 'n tyd gelede gedien het toe ek my eerste PKGBUILD op AUR gelaai het
Kan iemand verduidelik wat dit vir my is, ek is nuut en ek weet nie of dit my help om 'n .deb-pakket te installeer nie, maar plaaslik in manjaro, 'n spel om presies te wees. Ja, dit werk?
Ek het pas 'n ander artikel geskryf oor hoe om pakkette vir arch / manjaro uit .deb-pakkette te skep
https://blog.desdelinux.net/archlinux-crear-paquetes-multiplataforma-y-desde-paquetes-deb/
Ja, ek het dit al gesien, maar ek is baie nuut en ek verstaan nie al is dit nie net hierdie reël nie
cd "$ {srcdir} /"
teer xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
wat jy agter het
as [«$ {CARCH}» = 'x86_64 ′]; dan
ARCH = 'amd64'
md5sums=(‘192a0a222893d59d95f00c34f3c8a674’)
hang af = ('openal' 'lib32-openal')
elif ["$ {CARCH}" = 'i686 ′]; dan
BOOG = 'i386'
md5sums=(‘047c670443124193c5cc3dd54da99925’)
hang af = ('openal')
fi
bron = ("http://www.unaurl.com/files/$ [verwysing.$ARCH.deb")
Ek verstaan dit nie, dit lyk baie kompleks, dit is gesamentlike stappe of die eerste deel
cd "$ {srcdir} /"
teer xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
dit kan alleen gedoen word om .deb om te skakel. .tar.gz?