Compilant amb Makepkg
Empaquetar més ràpid
Omet la verificació de la signatura PGP
Si feu servir makepkgdirectament, contaminarà una mica el vostre sistema. El base-develgrup de paquets ha d'estar instal·lat. D'aquesta manera, per defecte, les dependències necessàries només per construir el paquet, però no necessàries per utilitzar-lo, es deixen instal·lades. Aquest comportament predeterminat es pot canviar, però això implica instal·lar i desinstal·lar paquets i contaminar el vostre /var/log/pacman.log.
Consulteu aquest article per entendre i utilitzar l'AUR en general, inclosa l'obtenció del fitxer PKGBUILD. Aquest document només mostra els passos específics de makepkg, si és el mètode que trieu per compilar un paquet.
Compilant amb Makepkg
Si el base-develgrup de paquets encara no està instal·lat, cal que l'instal·leu. Si no ho feu, makepkgsuposarà que ja està instal·lat, i si un paquet és necessari però no instal·lat, simplement fallarà en lloc d'instal·lar-lo. makepkgforma part del pacmanpaquet, ja instal·lat.
# pacman -S base-devel
Heu d'executar makepkg-vos al directori amb PKGBUILD, el directori creat per git clone. Per defecte, baixarà el codi font real, compilarà el paquet i l'empaquetarà.
Hi ha moltes opcions per a makepkg, incloses les que s'utilitzen habitualment:
-s, --syncdeps : Instal·leu automàticament les dependències que falten necessàries per construir i utilitzar el paquet.
- Tingueu en compte que si
PKGBUILDté dependències dels paquets AUR, primer haureu d'instal·lar-los o tenir-los disponibles en un dipòsit local propi perquè els pugui trobar.
-r, --rmdeps : si es construeix correctament, desinstal·leu automàticament les dependències que ja no són necessàries, incloses les següents:
- Els necessaris per construir però no utilitzar el paquet.
- Si s'utilitza sense l'
--installopció, les necessàries per utilitzar el paquet.
-i, --install : Si es construeix correctament, instal·leu/actualitzeu automàticament el paquet.
-c, --clean : suprimeix automàticament els fitxers de compilació temporals, normalment només es necessiten quan es depura una compilació que ha anat malament.
Per instal·lar/actualitzar automàticament el paquet, deixar les dependències instal·lades per utilitzar el paquet i eliminar les dependències només necessàries durant la construcció, executeu:
# makepkg -sri
Alternativament, podeu optar per no instal·lar-lo automàticament i deixar totes les dependències instal·lades, de manera que si algun dia empaqueteu una actualització, ja estan instal·lades:
# makepkg -s
A continuació, podeu utilitzar un dipòsit local tal com s'explica aquí o instal·lar el fitxer directament:
# pacman -U <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz
Empaquetar més ràpid
Per defecte, makepkgcombina un paquet sencer en un format d'arxiu; fent un .tar.xzfitxer utilitzant un sol fil per a la xzcompressió.
En sistemes de múltiples CPU, podeu permetre l' xzús de diversos fils editant /etc/makepkg.confi canviant la línia següent:
COMPRESSXZ=(xz -c -z -)
Podeu permetre tants fils com nuclis virtuals:
COMPRESSXZ=(xz -c -z - --threads=0)
Per permetre l'ús de diversos nuclis virtuals, però no tots, per tal de reduir l'impacte en el rendiment global del sistema, afegiu un número específic, com ara el següent:
COMPRESSXZ=(xz -c -z - --threads=21)
Nota: si especifiqueu més fils que el nombre de nuclis virtuals que teniu, el rendiment disminuirà.
Si no us importa que el fitxer del paquet sigui (potencialment molt) més gran, desactiveu la compressió editant /etc/makepkg.conf, i canvieu la línia següent:
PKGEXT='.pkg.tar.xz'
Hauria de semblar el següent:
PKGEXT='.pkg.tar'
Omet la verificació de la signatura PGP
Es recomana verificar i afegir correctament qualsevol signatura PGP utilitzada, tal com s'explica aquí a la secció "Error de signatura PGP".
Tanmateix, si esteu executant makepkgdirectament, podeu donar-li l' --skippgpcheckopció de saltar la verificació de la signatura PGP.