Vine Linux バグトラッキングシステム - Vine Linux
課題の詳細を表示
0000567Vine Linux1 バグ公開2007-11-29 04:322007-12-01 04:01
iwaim 
 
不明 
完了不明 
VineSeed 
 
libelf-devel, apt-0.5.15lorg3.93-0vl2
0000567: リポジトリに他のパッケージでリプレースされたlibelf*パッケージがあるためaptが残念な挙動になる
リポジトリに他のパッケージでリプレースされたlibelf*パッケージがあるためaptが残念な挙動になります。
libelf、libelf-develパッケージ共にelfutilsパッケージでリプレースされていますが、未だにlibelf-develパッケージに依存させたパッケージ(例えばnet-snmp-devel)をaptでインストールするとlibelf-develパッケージがインストールされています。そして、その際にelfutilsパッケージが入っていればelfutilsパッケージがアンインストールされます。

----
$ sudo apt-get install net-snmp-devel
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下の追加パッケージがインストールされます:
  libelf libelf-devel
以下のパッケージが削除されます:
  elfutils
以下のパッケージが新たにインストールされます:
  libelf libelf-devel net-snmp-devel
アップグレード: 0 個, 新規インストール: 3 個, 削除: 1 個, 保留: 0 個
0B/1338kB のアーカイブを取得する必要があります。
展開後に 3227kB のディスク容量が追加消費されます。
続行しますか? [Y/n]
----

もちろん、この直後にdist-upgradeするとlibelfパッケージ、libelf-develパッケージはelfutilsパッケージでリプレースされます。

----
$ apt-get dist-upgrade
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
アップグレードパッケージを検出しています... 完了
以下のパッケージがリプレースされます:
  libelf (by elfutils) libelf-devel (by elfutils)
以下のパッケージが新たにインストールされます:
  elfutils elfutils-libelf-devel
アップグレード: 0 個, 新規インストール: 2 個, リプレース: 2 個, 削除: 0 個, 保留: 0 個
0B/267kB のアーカイブを取得する必要があります。
展開後に 353kB のディスク容量が追加消費されます。
続行しますか? [Y/n]n
----

このaptの挙動はちょっとおかしいような気がしますが、仕様かもしれません。とりあえずはlibelf*パッケージをリポジトリから削除してしまう方が良い気はしました。
設定されていません。
課題の履歴
2007-11-29 04:32iwaim新規課題
2007-11-29 13:00daisuke状態新規 => 完了
2007-11-29 13:00daisukeコメント追加: 0002730
2007-12-01 04:01iwaimコメント追加: 0002731

コメント
(0002730)
daisuke   
2007-11-29 13:00   
> リポジトリに他のパッケージでリプレースされたlibelf*パッケージがあるため
> aptが残念な挙動になります。
> libelf、libelf-develパッケージ共にelfutilsパッケージでリプレースされてい
> ますが、未だにlibelf-develパッケージに依存させたパッケージ(例えばnet-
> snmp-devel)をaptでインストールするとlibelf-develパッケージがインストール
> されています。そして、その際にelfutilsパッケージが入っていればelfutilsパ
> ッケージがアンインストールされます。
> ----
>
> このaptの挙動はちょっとおかしいような気がしますが、仕様かもしれません。と
> りあえずはlibelf*パッケージをリポジトリから削除してしまう方が良い気はしま
> した。

obsoletes を理解して正しいパッケージをとるようになっているべき
だとは思いますが、現状ではこれは apt-rpm の仕様ですね。
libelf* を削除するとともに、net-snmp 側で Requires: libelf-devel
となっているのを Requires: elfutils-libelf-devel に変えるのが現状
での対応だと思います。

まずは libelf と libelf-devel をリポジトリから削除しておきました。
(0002731)
iwaim   
2007-12-01 04:01   
> obsoletes を理解して正しいパッケージをとるようになっているべき
> だとは思いますが、現状ではこれは apt-rpm の仕様ですね。
> libelf* を削除するとともに、net-snmp 側で Requires: libelf-devel
> となっているのを Requires: elfutils-libelf-devel に変えるのが現状
> での対応だと思います。
>
> まずは libelf と libelf-devel をリポジトリから削除しておきました。

リポジトリから削除されていることを確認しました。ありがとうございます。
net-snmpパッケージについては備忘録として<BTS:570>に記録しました。