Unu el la aferoj, kiujn mi plej ŝatas pri Arch Linukso kaj ĝiaj derivaĵoj, estas la terura facileco krei pakojn por poste esti instalitaj en la sistemo, male al la konataj .deb de Debian / Ubuntu / Linukso Mint / ktp tio estas kaoso (kaj se ili estas bibliotekoj, mi ne diras al vi).
Baza ŝablono estus ĉi tio:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
Nun mi klarigos ĉiun parametron:
- # Subtenanto: En ĝi estas metita la nomo de la prizorganto de la pakaĵo
- pkgnomo: La nomo de la pakaĵo. Ĝi povas enhavi nur literojn, ciferojn, -, _ kaj +
- pkver: paka versio. pe 1.0.0
- pkgrel: recenzo de la programo aŭ pako. pe 1
- pkgdesc: paka priskribo.
- arko: la arkitekturo de la programo: ĝi povas esti iu ajn (por ĉiuj), i686 kaj x86_64, estante iu ajn por pakoj, kiuj ne bezonas kompilaĵon, kiel programoj en bash aŭ python. Se temas pri programo, kiu bezonas ĝin (ekzemple programoj en C aŭ C ++), vi indiku i686 se ĝi estas por 32 bitoj aŭ x86_64 por 64 bitoj. Ĝenerale, se ĝi kongruas kun ambaŭ, ĝi estas agordita (i686, x86_64)
- url: la url al la oficiala paĝo de la programo. Estas konsilinde meti ĝin.
- permesilo: la programlicenco. ekz. GPL3
- grupoj: la grupoj al kiuj apartenas la pakaĵo. grupoj = ('sistemo')
- dependas: en ĝi ni indikas la pakaĵojn necesajn por la ekzekuto de la programo. pependens = ('python2' 'pygtk')
- faru dependojn: la dependecoj necesaj nur por kompili la pakaĵon. Se la kodo estas elŝutebla de versio-administrilo, estas konsilinde meti ĝin. pe: makedepends = ('git')
- fonto: en ĝi ni indikas la dosierojn necesajn por la kreado de la pakaĵo. Kiel ĝenerala regulo, ĝi estas la url al la pakaĵo, kiu enhavas la kodon, flikaĵon, .desktopt-dosieron, ikonojn, ktp. pe: fonto = (pacsyu.desktop)
- md5sumoj: jen la md5-sumoj de la dosieroj indikitaj en fonto. Por scii, kiujn ni kuras de terminalo en la dosierujo, kie estas la PKGBUILD (skribinte la dosierajn vojojn en fonto) makepkg -g kaj la sumoj aperos sur la ekrano.
Eblas ankaŭ uzi aliajn sumojn kiel sh1. - konstrui: en ĉi tiu funkcio ni metos la komandoj necesaj por daŭrigi kompili la programon. Se ne necesas kompili nur la sekva funkcio estas necesa)
- pako: en ĉi tiu alia funkcio la programaj instalaj komandoj daŭros. Ekzemple, se ni kompilas C-kodon ĉi tie, la make install funkcius.
Kaj por fini ni nur devas ekzekuti makepkg por kontroli, ke la pakaĵo estas generita.
Kiel vi vidas, ĝi estas malfacila por ni. Tiam mi lasas vin kun iuj kromaj parametroj de makepkg:
- - Ho: Instrukcias al makepkg instali la pakaĵon post ĝia kreo.
- -s: Instalu la pakaĵajn dependecojn se ili estas en la deponejoj.
- -F: Se jam ekzistas pakaĵo kun tiu nomo, versio kaj revizio kun ĉi tiu parametro, ni diras al vi anstataŭigi ĝin.
- -c: Purigu la laborajn dosierujojn (pkg kaj fonto) post finiĝo.
- -R : Repaki la pakaĵon sen devi rekompili.
Mi rekomendas vidi pli da PKGBUILD-dosieroj por vidi pli da ekzemploj, ekzekutu la komandon makepkg -h vidi la ceterajn programajn parametrojn, krom vidi la oficiala dokumentaro de makepkg en la Vikina Vorto de Linukso kion vi povas trovi Ĉi tie
14 komentoj, lasu la viajn
Tre bona …
Ĉu pako .exe povas esti administrita (kompilita) al Arch-pakaĵo?
Kiel ekzemple la fama elŝuta administrilo Miponio ??
Laŭ mia scio ne eblas, memoru, ke la .exe estas duumaĵoj kaj ne fontkodo. Sed ekzistas JDownloader.
Kiel vi diras, vi ne povas kompili ekz. Ĉar ĝi estas duuma kodo.
Pako povas esti kreita, kiu instalas ĝin kaj plenumas ĝin per Wine, same kiel la pakaĵo en la AUR de la konata P2P-programo Ares.
iu uzas linux kaj maltrafas Myponi ... jijijijiji
jDownloader estas en java, kaj estas bone konata de ĉiuj, ke java kaŭzas pulman kanceron ...
interese, ni devus testi pakojn, mi pensas, ke mi emos fari tiun de qbittorrent hahaha jam ekzistas en yaourt sed havi vian propran version ne malbone testos, dankon pro la informaj salutoj.
Bona enigo, +1
Mi volas aldoni, ke ili ankaŭ pli facile kreas kaj prizorgas ol Gentoo-ebuilds!
Pri Debian, mi pensas, ke ĉi tiu distro multe plialtigus sian handikapon nur per modernigo aŭ migrado al pli moderna paka kaj paka mastruma sistemo, mi ne scias, kiam estos la lasta ĝisdatigo de la dpkg / apt-aro, sed la koncepto devus jam facile havi 15 jaroj kaj la vero estas, ke hodiaŭ estas anakronisma.
Koran dankon, mi ĵus ĵus serĉis ĝin en la vikio kaj mi ne komprenis la strukturon (mi volis ĝisdatigi la PlayonLinux) sed mi tamen rezignis ... estas aferoj, en kiuj mi ŝatus havi asistanton aŭ ion tian (ne mortpafu min) sed tamen ... en la foresto de iloj dum la tempo mi vidos ĉu mi kreas iujn
Danke al via gvidilo mi komencis krei la PKGBUILD de Zeya (http://web.psung.name/zeya/), tuj kiam mi finos ĝin, mi alŝutos ĝin al la AUR 🙂
Tute konsentas, antaŭ iom da tempo mi provis krei pakaĵon por Ubuntu kaj estis neeble trovi kompreneblajn informojn pri kiel fari unu, finfine mi rezignis kaj instalis la programon proksimume.
La sama programo por Arch prenis min malpli ol 5 minutojn por kunmeti la pakaĵon.
Kaj mi ne certas, sed mi pensas, ke RPM estas iomete pli facila ol DEB, sed pli malfacila ol Arch.
Tre bona kaj facila, kaj pri la .deb ĝi ne estas tiel malfacila, nu, ke por iOS
salutoj
Mi pensas, ke ĉi tio utilus al mi antaŭ iom da tempo, kiam mi alŝutis mian unuan PKGBUILD al AUR 🙂
Ĉu iu povas klarigi al mi, kio ĝi estas al mi, mi estas nova, kaj mi ne scias, ĉu ĉi tio helpas min instali .deb-pakon sed loke en manjaro, precize ludo. Jes, ĝi funkcias?
Mi ĵus skribis alian artikolon pri kiel krei pakojn por arch / manjaro el .deb-pakoj
https://blog.desdelinux.net/archlinux-crear-paquetes-multiplataforma-y-desde-paquetes-deb/
Jes, mi jam vidis ĝin, sed mi estas tre nova kaj mi ne komprenas se ne nur ĉi tiu linio estas
cd "$ {srcdir} /"
tar xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
kion vi havas malantaŭe
se [«$ {CARCH}» = 'x86_64 ′]; tiam
ARCH = 'amd64'
md5sums=(‘192a0a222893d59d95f00c34f3c8a674’)
dependas = ('openal' 'lib32-openal')
elif ["$ {CARCH}" = 'i686 ′]; tiam
ARCH = 'i386'
md5sums=(‘047c670443124193c5cc3dd54da99925’)
dependas = ('malferma')
fi
fonto = ("http://www.unaurl.com/files/$ trackmaster. $ ARCH.deb")
Mi ne komprenas ĝin, ĝi aspektas tre kompleksa, ili estas komunaj paŝoj aŭ la unua parto
cd "$ {srcdir} /"
tar xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
ĝi povas esti farita sola por konverti .deb. .tar.gz?