O que há com os pacotes “* -git date” no AUR?

8

Estou prestes a me mudar para o Arch Linux. Fazendo check-out de pacotes no AUR, há muitos pacotes seguindo o esquema de nomenclatura "project-name-git date", por exemplo:

adonthell-git 20100408-1
akonadi-facebook-git 20111117-1
wesnoth-svn 40587-1
vimprobable-git 20110829-1
vimprobable2-git 20111214-1

O que são esses pacotes? São apenas instantâneos do repositório adonthell / wesnoth / etc no ponto especificado no tempo? Se assim for, o pacote não pode ser atualizado sem alterar seu nome, o que complicou muito o gerenciamento de pacotes.

Se eu quiser a versão mais recente do vimprobable do repositório do git, devo usar o AUR ou compilá-lo por mim mesmo?

    
por Anna 09.07.2012 / 01:07

2 respostas

8

Resumindo : Basta compilar o pacote e ele será a versão mais recente do repositório do git; isso é tratado automaticamente por makepkg .

A partir da leitura dos arquivos PKGBUILD de -git packages (por exemplo, para adonthell-git ), você pode ver:

cd $_gitname && git pull origin
msg "The local files are updated."

Assim, toda vez que makepkg é executado, ele faz o download da versão mais recente do repositório git.

O parâmetro pkgver é porque makepkg requer um número de versão no PKGBUILD e no pacote final; uma data é o que faz mais sentido aqui.

Se for detectado que é um pacote do git, makepkg processará o caso especial de acordo:

(linhas 1687-1771 de makepkg , função devel_check )

elif [[ -n ${_gitroot} && -n ${_gitname} ]] ; then
    if ! type -p git >/dev/null; then
            warning "$(gettext "Cannot find the %s binary required to determine latest %s revision.")" "git" "git"
            return 0
        fi
        msg "$(gettext "Determining latest %s revision...")" 'git'
        newpkgver=$(date +%Y%m%d)

[recortado muitos outros casos para darcs , hg , svn etc ...]

(linhas 1773-1792 de makepkg , função devel_update )

# This is lame, but if we're wanting to use an updated pkgver for
# retrieving svn/cvs/etc sources, we'll update the PKGBUILD with
# the new pkgver and then re-source it. This is the most robust
# method for dealing with PKGBUILDs that use, e.g.:

daí você acaba com um pacote com seu número de versão sendo a data em que você o construiu.

    
por 09.07.2012 / 04:48
2

O uso de uma data do Git é tão válido quanto o uso de qualquer outra forma de numeração de versão.

Sobre como obter a versão mais recente de um pacote / programa, fazer o download do git e compilar você mesmo, provavelmente, a melhor maneira de obter a versão "mais recente" de um pacote.

Por outro lado, se você quiser uma versão já compilada que tenha sido pelo menos testada marginalmente e considerada moderadamente estável, então eu recomendaria o pacote do repositório.

    
por 09.07.2012 / 02:27