Vine Linux バグトラッキングシステム - Vine Linux
課題の詳細を表示
0000895Vine Linux1 バグ公開2010-01-23 11:102011-02-02 22:15
anonymous 
 
不明 
完了不明 
VineSeed 
 
x86
vutils-2.0.10-1vl5, 2.2.1-2vl6 etcskel-4.0.1-1vl5
0000895: vupgradeが~/.emacsを破壊する
Vine4.2から5.0にアップグレードしたら、~/.emacsの内容が書き変っていました。
これは、/usr/bin/vupgradeが以下のような処理を行っているためと思われます。

---引用開始
chkMD5Update(){ # target md5sum newguy
[ ! -f $1 ] && return 1

CHECK=`md5sum $1 | cut -f 1 -d " "`
if [ "${CHECK}" = "$2" ]; then
    cp $3 ${HOME}
    echo "$1 was replaced to new one for Vine Linux ${VER}" >>${LOG}
    return 0
else
    return 1
fi
}
---引用終了
---引用開始
##### emacs-faces.el
TARGET=${HOME}/.emacs-faces.el
NEW=/etc/skel/.emacs
chkSame $TARGET $NEW || (
# from 3.x & 4.x
MD5SUM="09ef5702f5022759b092e5f65075ed71"
chkMD5Update $TARGET $MD5SUM $NEW && rm ${TARGET}
# from 2.6
MD5SUM="d66bb8283521eb1b3040a3d7dbf0f5d2"
chkMD5Update $TARGET $MD5SUM $NEW && rm ${TARGET}
# from 2.5
MD5SUM="20117126d492f2ea14e0fb2e89f5f7f6"
chkMD5Update $TARGET $MD5SUM $NEW && rm ${TARGET}
)
---引用終了

chkMD5Updateでは、コピー先としてディレクトリを指定する形式でcpコマンドが実行されています。
しかし、.emacs-faces.elのアップグレード処理では$TARGETと$NEWのファイル名が違うので、
/etc/skel/.emacsを~/.emacsに上書きしてしまいます。

vine-users:079997も参照願います。
設定されていません。
課題の履歴
2010-01-23 11:10anonymous新規課題
2010-01-23 11:55mkatoバージョン5.0 => VineSeed,5.0
2010-01-23 11:55mkatoパッケージvutils-2.0.10-1vl5 => vutils-2.0.10-1vl5, 2.2.1-2vl6 etcskel-4.0.1-1vl5
2010-01-23 11:55mkatoコメント追加: 0003804
2010-02-21 22:09daisuke状態新規 => テスト待ち
2010-02-21 22:09daisukeコメント追加: 0003805
2011-02-02 22:15kazutakaバージョンVineSeed,5.0 => VineSeed
2011-02-02 22:15kazutaka状態テスト待ち => 完了
2011-02-02 22:15kazutakaコメント追加: 0003806

コメント
(0003804)
mkato   
2010-01-23 11:55   
Seed 版(vutils-2.2.1-2vl6)でも同様の問題が有ります。
vutils(/usr/bin/vupgrade) と etcskel 間の連携が破綻しているようです。
元投稿者さんが言われていますように、Vine4.2からのアップグレード時は、
深刻な問題が起きる可能性が有ります。
早目の調整、お願いします。
(0003805)
daisuke   
2010-02-21 22:09   
存在しなくなったdotfileの対処のために、本来の使い方ではない
目的・方法でアップグレードをしています。(個人用の設定を書く
べきではないファイルである) .emacs がデフォルトに戻されるの
は、開発者としては一応想定されている動作でしたが、元のファ
イルのバックアップが残らなかったのは問題がありました。

vutils-2.2.3-1vl6 および vutils-2.0.11-1vl5 で etcskel に
存在しなくなったdotfileの処理を行わないようにしました。
HOMEディレクトリにある古い dotfile は削除されませんが、直
接関係のないファイルが変更されることはなくなりました。

Vine Linux 5.1 には含まれます。

この変更は暫定的なもののため、VineSeed においてこの処理は
近い将来大幅に変更される予定です。
(0003806)
kazutaka   
2011-02-02 22:15   
元報告者の方からのリプライはありませんが、修正完了から
三ヶ月以上経過しましたので、バグレポートの有効期限(下記
URL 参照)に従い、完了として閉じておきます。

(URL: http://trac.vinelinux.org/wiki/BTSHouseKeeping [^])