Eu instalei o git através do apt-get no debian 7, o que me dá:
# git --version
git version 1.7.10.4
Gostaria de atualizar para a versão mais recente do git. Eu tentei:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
Mas isso dá os seguintes erros:
Fetched 6,944 B in 0s (10.1 kB/s)
W: Failed to fetch http://ppa.launchpad.net/git-core/ppa/ubuntu/dists/wheezy/main/source/Sources 404 Not Found
W: Failed to fetch http://ppa.launchpad.net/git-core/ppa/ubuntu/dists/wheezy/main/binary-amd64/Packages 404 Not Found
Eu também tentei seguir este guia:
http://backports.debian.org/Instructions/
mas ainda não consigo obter o último git, alguma sugestão?
Respostas:
Atualizado 27/07/2016: um wheezy -backports está agora disponível para o Git 1.9.1. As instruções ainda se aplicam para instalar uma versão mais recente ou para Jessie.
Quando uma versão mais recente de um pacote de backport não está disponível, você tem duas opções:
Peça aos mantenedores do pacote que preparem um backport. Não é garantido que funcione, mas alguns mantenedores são positivos em criar backports, então eu tentaria.
Os e-mails dos mantenedores podem ser encontrados lá .
Crie você mesmo a partir das fontes. Isso pode ser feito de duas maneiras:
Crie "como está" a partir do tarball de origem. Se você escolher esse caminho, certifique-se de configurar o sistema de compilação do Git para instalar tudo sob
~/git
ou/opt/git
ou algo parecido com isso de outra forma mais tarde você vai ter um grande PITA removendo o que você instalou.O problema é que a maneira convencional do Unix de instalar software, espalhando-o por todo o sistema de arquivos, é sensata, mas somente quando você tem algum tipo de registro que "sabe" qual arquivo pertence a qual pacote e vice-versa e sistemas de empacotamento como o Debian faça exatamente isso. Se você instalar "normalmente" um pacote criado a partir das fontes, na maioria dos casos não terá como desinstalar esse software mais tarde (sem usar em
checkinstall
vez demake install
, mas esse é realmente o último recurso). Por outro lado, se você configurar um pacote de origem para instalar tudo em um único diretório, terá pequenas dificuldades em executar o software (seus diretórios "binários" não estarão no seu$PATH
), em troca, desinstalá-lo posteriormente será um acéfalo - um únicorm -rf /path/to/that/dir
.Faça backporting você mesmo. Isso está mais envolvido, mas, em casos simples, pode funcionar tão IMO que vale a pena tentar.
Basicamente, você segue assim (um link para o
.dsc
arquivo é retirado da página do pacote em instável ):Verifique se você tem todas as dependências de construção satisfeitas executando:
E instale tudo o que a ferramenta diz que está faltando no momento. Às vezes, um pacote pode se referir a uma versão de algo novo demais para estar disponível na distribuição para a qual você está suportando; Nesse caso, não há problema em tentar trapacear e corrigir a versão desse pacote no
debian/control
arquivo.Agora conserte a versão dos pacotes a serem construídos. A melhor maneira de conseguir isso é fazer com que uma ferramenta faça a coisa certa:
Ele adicionará uma entrada ao
debian/changelog
arquivo e abrirá o editor de texto de sua escolha para supervisioná-lo. Apenas feche o editor - a versão dos pacotes a serem construídos é retirada da entrada superior deste arquivo.Agora vamos realmente tentar construir:
Se você tiver sorte, nesse momento você terá vários
.deb
pacotes brilhantes e novos do Git..
, que você pode instalar usandodpkg -i <packagename> ...
.(Execute
debuild clean
para se livrar do crud construído ou apenas remova ogit
diretório completamente. Você também pode remover o que instalou após a execuçãodpkg-checkbuilddep
.)Infelizmente, se a construção falhar por algum motivo, é necessário algum conhecimento para tentar corrigir, mas isso está fora do escopo desta discussão.
fonte
dget
não é necessário? Seu objetivo é trazer a você todos os arquivos que constituem o pacote fonte, para que você realmente tenha algo para descompactar, ajustar e construir. A busca apenas do.dsc
arquivo único fará exatamente isso, mas os tarballs de origem e de debianização estarão ausentes.Você ainda pode usar o Git PPA para Ubuntu Precise dizendo ao apt para construir a partir da fonte mais recente encontrada lá. As distribuições são semelhantes o suficiente para que isso funcione perfeitamente.
Usei-o com sucesso no Raspbian (que é baseado no wheezy) para obter pacotes para o armhf, mas deve funcionar para qualquer arquitetura.
Primeiro adicione a chave GPG para o PPA:
Adicione a URL para os pacotes de origem ao apt:
Atualize o apt:
Instale dependências de construção:
Faça o download e construa o git a partir do código-fonte. Você pode querer fazer isso como um diretório temporário, pois o processo de criação cria um pouco de sujeira:
Instale o pacote que você acabou de criar e limpar (o git-core não é mais necessário):
fonte
Se você deseja atualizar um pacote específico no Debian 7 (Wheezy), você tem a opção de usar backports simplesmente adicionando ao seu /etc/apt/sources.list as seguintes linhas:
Em seguida, para instalar / atualizar o git , execute os comandos:
Você também pode configurar os backports em um arquivo separado em /etc/apt/sources.list.d/. Eu particularmente prefiro usar um arquivo /etc/apt/sources.list.d/backports.list .
fonte