apt-get upgrade não considera pacotes construídos e instalados manualmente

0

Eu tentei o seguinte, pois aplico patches personalizados a alguns pacotes:

Quando apt-get upgrade mostra pacotes para atualização, eu faço o download dos fontes usando o apt-get source, aplico meus patches, reconstruo, instalo (usando dpkg -i ). Então a última versão está instalada. Mas mesmo depois do apt-get update os pacotes que eu construí manualmente e instalei usando o dpkg ainda aparecem nos upgrades e portanto seriam sobrescritos novamente.

Como posso consertar isso?

    
por GEO 19.09.2014 / 22:56

1 resposta

1

Esta é mais uma observação temporária para outras pessoas com o mesmo problema até que alguém mais experiente possa ajudar a resolver o problema.

No meu script de construção eu coloquei

VERSION=$(grep -R "Version: " | grep .dsc | head -1 | awk '{print $2}')
NEW_NUMBER=$((${VERSION: -1} + 1))
NEW_VERSION=$(echo $VERSION | sed "s/ubuntu${VERSION: -1}/ubuntu$NEW_NUMBER/")
grep -rl $VERSION | xargs sed -i "s/$VERSION/$NEW_VERSION/g"

logo após apt-get source <package-name>

Isso mudará o último número da versão do pacote para o próximo dígito mais alto (por exemplo, ubuntu2 se tornará ubuntu3 ).

Esta solução alternativa funciona aqui.

RÁPIDA MANEIRA DE REPRODUZIR: Verifique se o pacote com o qual você tentou isso está totalmente atualizado. Agora quando você faz:

cd /tmp
apt-get -b source <package>
sudo dpkg -i *.deb

e verifique se o apt-get mostra uma atualização para o seu pacote.

    
por GEO 20.09.2014 / 00:57