パッチ生活

記録がてら。。

BusyBoxのps -Zのバグフィックス&クリーニング 提出&マージ

id:hshinjiさんとの合作。最終的にはメンテナDenis君*1がたくさん直してくれた。ありがとう。
3回目の提出でマージされたのだが、2回目の時、パッチが放置されてしまった。
メンテナは、なんとなくだが、スタックでパッチを見てるのではという気がする。
スタックに大量に溜まってしまうと、古いパッチは忘れられてしまう。
そういった時は、適当に再送しなければならない。

BusyBoxの「-lsepol」除去

-lsepolしなくてもコンパイルできるので。
ただ、-lsepolが必要になった場合、どうするかの扱いで議論。
CONFIG_LIBSEPOLみたいなのを設けるのは、確かに動作するけど、今ひとつだと。
Denis君は、
scripts/trylink
を直すように言って来た。

  • lm,-lcryptが必要かどうかを自動的に見るスクリプトなのだが、

trylinkは結構凄い実装。

#!/bin/sh

debug=false

try() {
added="$1"
shift
$debug && echo "Trying: $* $added"
"$@" $added >busybox.map 2>busybox_ld.err \
&& { rm busybox_ld.err; exit 0; }
}

try "" "$@"
try "-lm" "$@"
try "-lcrypt" "$@"
try "-Wl,--start-group -lcrypt -lm -Wl,--end-group" "$@"
# It failed. Let people see the error messages
cat busybox_ld.err

  • lm, -lcryptが必要かどうかを片っ端から見ている(汗

SELinuxのrestoreconのバグフィックス

相対パスでパスを渡すとうまく動かなかった。
マージされた。
restorecon, setfilesは新しい実装になってから(setfiles,restoreconが同じバイナリを共用する)、
バグが多いようだ。

*1:なぜか、某K氏は君付けで呼ぶので、私も釣られて君付け。昔のキャプテン翼というゲームみたいだ。himainu君ごういんなパッチ!Denis君ふっとんだー!みたいな。