Uma das coisas que mais gosto no Arch Linux e seus derivados é o tremenda facilidade para criar pacotes para depois serem instalados no sistema, ao contrário dos conhecidos . Deb do Debian / Ubuntu / Linux Mint / etc que é um caos (e se forem bibliotecas eu não te digo).
Um modelo básico seria este:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
Agora vou explicar cada parâmetro:
- # Mantenedor: Nele é colocado o nome do mantenedor do pacote
- nome do pacote: O nome do pacote. Ele só pode conter letras, números, -, _ e +
- pkver: versão do pacote. pe 1.0.0
- pacote: revisão do programa ou pacote. pe 1
- pacotedesc: descrição do pacote.
- arco: a arquitetura do programa: pode ser qualquer (para todos), i686 e x86_64, sendo any para pacotes que não requerem compilação, como programas bash ou python. Se for um programa que precisa dele (por exemplo, programas em C ou C ++), você deve indicar i686 se for para 32 bits ou x86_64 para 64 bits. Em geral, se for compatível com ambos, é definido (i686, x86_64)
- url: o url para a página oficial do programa. É aconselhável colocá-lo.
- licença: a licença do programa. por exemplo, GPL3
- grupos: os grupos aos quais o pacote pertence. grupos = ('sistema')
- depende: nele indicamos os pacotes necessários para a execução do programa. pependens = ('python2' 'pygtk')
- depende: as dependências que são necessárias apenas para compilar o pacote. Se o código for baixado de um gerenciador de versão, é aconselhável colocá-lo. pe: makedepends = ('git')
- fonte: nele indicamos os arquivos necessários para a criação do pacote. Como regra geral, é a url do pacote que contém o código, um patch, um arquivo .desktopt, ícones, etc. pe: source = (pacsyu.desktop)
- md5somas: aqui estão as somas md5 dos arquivos indicados na fonte. Para saber quais executamos de um terminal na pasta onde está o PKGBUILD (tendo escrito os caminhos dos arquivos na fonte) makepkg-g e as somas aparecerão na tela.
Também é possível usar outras somas como sh1. - Construir: nesta função vamos colocar o comandos necessários para proceder à compilação do software. Se não for necessário compilar, apenas a seguinte função será necessária)
- pacote: nesta outra função irão os comandos de instalação do programa. Por exemplo, se estivermos compilando código C aqui, o make install iria.
E para terminar, só temos que executar makepkg para verificar se o pacote é gerado.
Como você pode ver, é difícil para nós. Então, deixo vocês com alguns parâmetros extras de makepkg:
- -Eu: Instrui o makepkg a instalar o pacote após sua criação.
- -s: Instale as dependências do pacote se elas estiverem nos repositórios.
- -F: Se já existe um pacote com esse nome, versão e revisão com este parâmetro, pedimos que você o substitua.
- -c: Limpe as pastas de trabalho (pacote e fonte) assim que terminar.
- -UMA: Reempacote o pacote sem ter que recompilar.
Eu recomendo ver mais arquivos PKGBUILD para ver mais exemplos, execute o comando makepkg -h para ver o resto dos parâmetros do programa, além de ver o documentação oficial do makepkg no Wiki do Arch Linux o que você pode encontrar aqui