apt-getアップグレードは手動でビルドおよびインストールされたパッケージを考慮しません

apt-getアップグレードは手動でビルドおよびインストールされたパッケージを考慮しません

いくつかのパッケージにカスタム パッチを適用するため、次のことを試しました。

アップグレードするパッケージが表示されたらapt-get upgrade、apt-get source を使用してソースをダウンロードし、パッチを適用し、再構築して、インストールします ( を使用dpkg -i)。その後、最新バージョンがインストールされます。ただし、apt-get update を実行した後でも、手動で構築して dpkg を使用してインストールしたパッケージはアップグレードに引き続き表示されるため、再度上書きされてしまいます。

どうすれば修正できますか?

答え1

これは、より賢明な誰かが問題の解決を手伝ってくれるまで、同じ問題を抱えている他の人への一時的なメモです。

私のビルドスクリプトでは

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"

直後のapt-get source <package-name>

これにより、パッケージ バージョンの最後の数字が次の上位の数字に変更されます (例:ubuntu2になりますubuntu3)。

この回避策はここでは有効です。

再現する簡単な方法: これを試すパッケージが完全にアップグレードされていることを確認してください。次の操作を実行してください。

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

確認すると、apt-get がパッケージのアップグレードを表示していることがわかります。

関連情報