Libremakepkg (Galego)

From ParabolaWiki
Jump to: navigation, search

Libremakepkg é un script que:

  1. Comprobe dependencias non libres no PKGBUILD
  2. 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)
  3. Actualiza o chroot onde estás construindo (opción -u)
  4. Limpe o chroot de forma que ningún paquete sexa configurado automaticamente como unha dependencia (opção-c) e
  5. Finalmente utilice makechrootpkg para construir o paquete.

O paquete será colocado en ${PKGDEST}.

Note: ${SRCDEST} ${PKGDEST} ${SRCPKGDEST} ${WORKDIR} son configurados no /etc/makepkg.conf

1 Utilización

Note: Antes de utilizar libremakepkg terá que configurar o /etc/libretools.conf primero. Siga as instrucións no Guia do Mantedor do paquete de Parabola GNU/Linux
Warning: libremakepkg non funcionará se non tes instalado o devtools
 # 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:

  1. copia a lista de paquetes para o chroot (/etc/libretools.d/cleansystem
  2. utilice comm para comparar paquetes instalados no sistema e no "cleansystem"
  3. 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.