ここ最近行った、OmoiKondara の変更についてメモを残しておく。
今までの -i option は
rpm -Uvh --force --nodeps
のコマンド+オプションを使ってインストールしていた。これを、
rpm -Uvh
に変更した。
以前の実装の問題点としては、
利点としては、
がある。
今までの -i option 細かいことに気づかず凶暴なので、変更することになった。
これで、yum がきっちり動く状態になるまで commit できないはず。
凶暴といえ、これは便利な option なので機能は残すことにした。
今までの、
../tools/OmoiKondara -i
と同様の挙動は、
../tools/OmoiKondara -i --forceinstall
で実現可能。
注意点としては、-i option が必須である点。つまり
--forceinstall option だけでは、インストールは実行されない。
上記の改良について、リターンコードの処理を追従させた。
問題点としては
今までのコードでは、rpm -Uvh が実行失敗することは考慮されていなかった。
つまり、rpmbuild を実行して rpmerr にリターンコードを格納 その後、rpm -Uvh を実行するのだが、こちらではリターンコードは格納していなかった。
つまり、この変更を行わない場合、
rpmbuild が成功、rpm -Uvh が失敗した場合(依存関係など)でも、MOMO_SUCCESS を返していた。
コレを変更した。
rpmbuild の実行結果は rpmerr にリターンコードに格納、その後、rpm -Uvh の結果を rpminstall に格納、rpmbuild が成功しても、rpminstall が失敗した場合にはMOMO_FAILURE を返す
ように変更した。
上記の変更で、option 無しのOmoiKondaraの実行
../tools/OmoiKondara
の挙動が今までと変わった。
つまり
依存関係が満たせないとインストールできない点が異なる
ビルドサーバなどでは、同じver-rel でも、全部問答無用でインストールする挙動が望ましい。 その場合は、
../tools/OmoiKondara --fullbuild
と実行すると、昔の全ビルドの挙動になる。
このオプションはおそらく、
../tools/OmoiKondara -i --forceinstall
と同じ実行内容になる。。。はず。
CPU と Memory を追加する。
1CPU + 2GiB から 2CPU + 7GiB にしてみた。
方針としては、tmpfs を活用する。
tmpfs /var/tmp tmpfs defaults,relatime,size=7G 0 0
これを /etc/fstab に書いて、/var/tmp に 7GiB を割り当てる。
OmoiKondara 側でも tmpfs を使う変更を行う。
.OmoiKondara に以下のように書く。
WORKDIR /var/tmp
これで、ビルド時に、tmpfs の /var/tmp 以下を使うようになる。
CPU
NUMJOBS 5
5=2(CPUs=2)+1
起動時にやることをメモしておく。
systemctl enable getty@tty2.service とやってみたら Failed to issue method call: No such file or directory となったので、single user mode で上げてからゴニョゴニョしている。
これで、全パッケージをインストールする。
SELinux をとめないと、ssh でアクセスできない。
厳密には、アクセスできるが、直後に弾かれる。
ssh でアクセス。
Developer at Momonga Project - OmoiKondara-HOWTO http://developer.momonga-linux.org/wiki/?cmd=view&p=OmoiKondara-HOWTO&key=OmoiKondara
これを読んで、svn co
あ、その前に、
で全部入れてから OmoiKondara で全ビルドを開始する。