Si lo usa makepkgdirectamente, contamina un poco su sistema. El base-develgrupo de paquetes debe estar instalado. De esta forma, de manera predeterminada, las dependencias necesarias solo para compilar el paquete, pero no necesarias para usarlo, quedan instaladas. Este comportamiento predeterminado se puede cambiar, pero esto implica instalar y desinstalar paquetes y contaminar su /var/log/pacman.log.
Consulte este artículo para comprender y utilizar el AUR en general, incluida la obtención de PKGBUILD. Este documento solo muestra los pasos específicos para makepkg, si es el método que elige compilar un paquete.
Compilar usando Makepkg
Si el base-develgrupo de paquetes aún no está instalado, debe instalarlo. Si no lo hace, makepkgsupondrá que ya está instalado, y si se requiere un paquete pero no está instalado, simplemente fallará en lugar de instalarlo por usted. makepkgen sí es parte del pacmanpaquete, ya instalado.
# pacman -S base-devel
Debe ejecutar makepkgen el directorio con PKGBUILDel directorio creado por git clone. Por defecto, descargará el código fuente real, compilará el paquete y lo empaquetará.
Hay muchas opciones para makepkg, incluidas estas de uso común:
-s, --syncdeps : Instale automáticamente las dependencias faltantes necesarias para compilar y usar el paquete.
- Tenga en cuenta que si
PKGBUILDtiene dependencias de los paquetes de AUR, primero debe instalarlos o tenerlos disponibles en un repositorio local para que pueda encontrarlos.
-r, --rmdeps : Si se compila correctamente, desinstale automáticamente las dependencias que ya no son necesarias, incluidas las siguientes:
- Los necesarios para construir pero no usar el paquete.
- Si se usa sin la
--installopción, las necesarias para usar el paquete.
-i, --install : Si se compila correctamente, instale / actualice automáticamente el paquete.
-c, --clean : Elimine automáticamente los archivos de compilación temporales, que generalmente solo son necesarios al depurar una compilación que salió mal
Para instalar / actualizar automáticamente el paquete, deje las dependencias instaladas para usar el paquete y elimine las dependencias solo necesarias durante la compilación, ejecute:
# makepkg -sri
Alternativamente, puede elegir no instalarlo automáticamente y dejar instaladas todas las dependencias, por lo que si empaqueta una actualización algún día, ya estarán instaladas:
# makepkg -s
Luego puede usar un repositorio local como se explica aquí o instalar el archivo directamente:
# pacman -U <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz
Paquete más rápido
Por defecto, makepkgcombina un paquete completo en un formato de archivo; haciendo un .tar.xzarchivo usando un solo hilo para la xzcompresión.
En sistemas con múltiples CPU, puede permitir el xzuso de múltiples subprocesos editando /etc/makepkg.confy cambiar la siguiente línea:
COMPRESSXZ=(xz -c -z -)
Puede permitir tantos subprocesos como núcleos virtuales:
COMPRESSXZ=(xz -c -z - --threads=0)
Para permitir el uso de múltiples núcleos virtuales, pero no todos, como para reducir el impacto en el rendimiento general del sistema, agregue un número específico, como el siguiente:
COMPRESSXZ=(xz -c -z - --threads=21)
Note: Specifying more threads than the number of virtual cores you have will decrease performance.
If you don't mind the package file being (potentially much) larger, disable compression by editing /etc/makepkg.conf, and change the following line:
PKGEXT='.pkg.tar.xz'
It should look like the following:
PKGEXT='.pkg.tar'
Skip Verifying PGP Signature
It's recommended to properly verify and add any PGP signaturesused , as explained here in the section "PGP Signature Error".
However, if you are running makepkg directly, you can give it the --skippgpcheck option to skip verifying the PGP Signature.