Libremakepkg (Português) - ParabolaWiki

# Libremakepkg (Português)

Libremakepkg é um script que:

1. Verifica dependências não livres no PKGBUILD
2. Vincula mount a ${SRCDEST} ${PKGDEST} ${SRCPKGDEST} ${WORKDIR}, e opcionalmente copia etc/makepkg.conf etc/pacman.conf etc/mtab para o chroot (Este passo é chamado buildenv no script)
3. Atualiza o chroot onde você está construindo (opção -u)
4. Limpa o chroot para que nenhum pacote seja configurado automaticamente como uma dependência (opção -c) e
5. Finalmente usa o makechrootpkg para construir o pacote.

O pacote será colocado em ${PKGDEST}.

Note: ${SRCDEST} ${PKGDEST} ${SRCPKGDEST} ${WORKDIR} são configurados em /etc/makepkg.conf

## Uso

Note: Antes de usar o libremakepkg você precisa configurar o /etc/libretools.conf primeiro. Siga as instruções no Package maintainer guide
Warning: libremakepkg não será funcional se você ainda não instalou o devtools

     # pacman -Sy devtools

### Quais são as opções do libremakepkg?

Libremakepkg irá sempre ter uma lista atualizada de opções que podem ser listadas usando:

    $ libremakepkg -h

### Construindo com libremakepkg

Para construir com libremakepkg você deve executar um cd para o diretório onde o PKGBUILD está e executar

     $ cd /diretório/com/PKGBUILD
     # libremakepkg [options]

Se nenhuma opção é passada para o libremakepkg ele irá entrar no ambiente de construção e e construir o pacote sem atualizar ou limpar. Isto é útil se uma construção anterior falhou e você mudou o PKGBUILD para que ele funcione desta vez.

## Para que o ambiente de construção?

Ambiente de construção é para o fullpkg ser capaz de adicionar pacotes ao repositório local e instalá-los também.

## Como a limpeza é feita?

makechrootpkg tem uma opção de limpeza rsync a partir de um "root" no ambiente chroot para uma "cópia" de um chroot e usa a "cópia" do chroot para construção. Quando estávamos trabalhando no mips port nós criamos um script que rastreia dependências e as constrói (fullpkg). Nós descobrimos que a limpeza do rsync é lenta e ineficiente. Então nós projetamos um novo método de limpeza que usa o pacman e uma lista de pacotes em um sistema limpo.

O método de limpeza no libremakepkg:

1. copia a lista de pacotes para o ambiente chroot (/etc/libretools.d/cleansystem
2. usa comm para comparar pacotes instalados no sistema e no "cleansystem"
3. remove todos os pacotes que não costam no "cleansystem".

## Estou tendo problemas com libremakepkg

Relate um problema no bug tracker. Use [libretools] no inicio do título da sessão para o problema.

Categories:

- Hacking
- Packaging
- Libretools