Libremakepkg (Galego)
Libremakepkg é un script que:
- Comprobe dependencias non libres no PKGBUILD
- Monte ${SRCDEST} ${PKGDEST} ${SRCPKGDEST} ${WORKDIR}, e opcionalmente copie etc/makepkg.conf etc/pacman.conf etc/mtab para o chroot (Este paso é chamado buildenv no script)
- Actualiza o chroot onde estás construindo (opción -u)
- Limpe o chroot de forma que ningún paquete sexa configurado automaticamente como unha dependencia (opção-c) e
- Finalmente utilice makechrootpkg para construir o paquete.
O paquete será colocado en ${PKGDEST}.
Contents
1 Utilización
# pacman -Sy devtools
1.1 ¿Cales son as opcións do libremakepkg?
Libremakepkg terá sempre unha lista actualizada de opcións que poden ser listados usando:
$ libremakepkg -h
1.2 Construindo con libremakepkg
Para construir con libremakepkg deberás cambiar o directório onde está PKGBUILD tes que executar
$ cd /dir/with/PKGBUILD # libremakepkg [options]
Se ningunha opción foi pasado para o libremakepkg, buildenv construirá o paquete sen actualización ou limpeza. Isto é útil se unha complicación anterior fallou e ti alteraches o PKGBUILD para que funcione esta vez.
2 ¿Porque Buildenv?
buildenv está destinado a fullpkg, capaz de engador paquetes a un repositorio local e instalalos tamén.
3 ¿Como se bota a limpeza?
makechrootpkg ten unha opción de limpeza con rsync de chroot "raiz" a chroot "copia", e usa o chroot "copia" para a construción dos paquetes. Cando estábamos "Portando paquetes para MIPS" nós creamos un script que controlaba as dependencias e construiam os paquetes (fullpkg). Descubrimos que a limpeza por rsync era lenta e ineficiente. Entón proxectamos un novo método de limpieza nun sistema limpio, que usa pacman e unha lista de paquetes.
O método de limpeza no libremakepkg:
- copia a lista de paquetes para o chroot (/etc/libretools.d/cleansystem
- utilice comm para comparar paquetes instalados no sistema e no "cleansystem"
- elimine todos os paquetes que non están no "cleansystem".
4 Estou tendo problemas con libremakepkg
Relate o problema para o bug tracker. Utilice [libretools] no inicio do título para o problema que estea tendo.