追記

tab日記


2011-11/06 Sun

_ OmoiKondara hack

ここ最近行った、OmoiKondara の変更についてメモを残しておく。

1. -i option の意味の変更 (r55930, r55932, r55933, r56071)

今までの -i option は

rpm -Uvh --force --nodeps

のコマンド+オプションを使ってインストールしていた。これを、

rpm -Uvh

に変更した。

以前の実装の問題点としては、

  • file conflicts に気づかないでパッケージをインストールしてしまう
  • パッケージの依存関係を無視してインストールしてしまう

利点としては、

  • 同じ ver-rel では -i option を付けるとインストールしてくれる(ある意味副作用)

がある。

今までの -i option 細かいことに気づかず凶暴なので、変更することになった。

これで、yum がきっちり動く状態になるまで commit できないはず。

2. --forceinstall option の新設

凶暴といえ、これは便利な option なので機能は残すことにした。

今までの、

../tools/OmoiKondara -i

と同様の挙動は、

../tools/OmoiKondara -i --forceinstall

で実現可能。

注意点としては、-i option が必須である点。つまり

--forceinstall option だけでは、インストールは実行されない。

3. リターンコードの改良

上記の改良について、リターンコードの処理を追従させた。

問題点としては

今までのコードでは、rpm -Uvh が実行失敗することは考慮されていなかった。

つまり、rpmbuild を実行して rpmerr にリターンコードを格納 その後、rpm -Uvh を実行するのだが、こちらではリターンコードは格納していなかった。

つまり、この変更を行わない場合、

rpmbuild が成功、rpm -Uvh が失敗した場合(依存関係など)でも、MOMO_SUCCESS を返していた。

コレを変更した。

rpmbuild の実行結果は rpmerr にリターンコードに格納、その後、rpm -Uvh の結果を rpminstall に格納、rpmbuild が成功しても、rpminstall が失敗した場合にはMOMO_FAILURE を返す

ように変更した。

4. --fullbuild option の追加

上記の変更で、option 無しのOmoiKondaraの実行

../tools/OmoiKondara

の挙動が今までと変わった。

  • 今まで: 全パッケージをビルド+全パッケージを強制インストール
  • 最近の: 全パッケージをビルド+全パッケージをインストール

つまり

依存関係が満たせないとインストールできない点が異なる

ビルドサーバなどでは、同じver-rel でも、全部問答無用でインストールする挙動が望ましい。 その場合は、

../tools/OmoiKondara --fullbuild

と実行すると、昔の全ビルドの挙動になる。

このオプションはおそらく、

../tools/OmoiKondara -i --forceinstall

と同じ実行内容になる。。。はず。

Tags: Mo

2011-10/15 Sat

_ コンパイル速度アップ

CPU と Memory を追加する。

1CPU + 2GiB から 2CPU + 7GiB にしてみた。

  • /etc/fstab

方針としては、tmpfs を活用する。

tmpfs        /var/tmp      tmpfs   defaults,relatime,size=7G 0 0

これを /etc/fstab に書いて、/var/tmp に 7GiB を割り当てる。

  • .OmoiKondara

OmoiKondara 側でも tmpfs を使う変更を行う。

.OmoiKondara に以下のように書く。

WORKDIR /var/tmp

これで、ビルド時に、tmpfs の /var/tmp 以下を使うようになる。

CPU

NUMJOBS 5

5=2(CPUs=2)+1

Tags: Mo

2011-10/12 Wed

_ build problem in trunk

  • lame
  • system-switch-java (build java-1.5.0, java-1.6.0)
  • sgml*/xml*/dockbook* -> kernel
  • execute "rpm -e zfs" before install kernel. without this cause kernel panic by bad initramfs.
Tags: Mo

2011-10/11 Tue install from trunk-ISO

_ install の前に

ビルドマシンとして作るには、全部いりが必須。

yum install で、23GiBくらい食うので、/ には32GiBくらい最低で必要。

とりあえず最低限で入れよう。

Tags: Mo

_ installしたら

起動時にやることをメモしておく。

  • grub2
    • e で edit mode に入る。
    • grub2 では ^linux の行の最後に single を記述
    • (次の行から矢印キーで戻ると楽)
    • F10 で終了して single user mode で起動
  • getty
systemctl enable getty@tty2.service
とやってみたら
Failed to issue method call: No such file or directory
となったので、single user mode で上げてからゴニョゴニョしている。
  • dhclient eth0
  • /etc/yum.repo.d/momonga-devel.repo をコピー+変更して、設定
  • yum update でテスト兼下準備
  • yum install '*' --skip-broken --exclude='texlive*'

これで、全パッケージをインストールする。

Tags: Mo

_ HDD の追加

  • fdisk /dev/sdb
  • mkfs.ext4 /dev/sdb1
  • mount /dev/sdb1 /opt
  • adduser tab
  • passwd tab
  • visudo
  • vigr
  • vigr -s
  • sh /etc/init.d/sshd start
  • setenforce 0

SELinux をとめないと、ssh でアクセスできない。

厳密には、アクセスできるが、直後に弾かれる。

ssh でアクセス。

  • mkdir /opt/momonga
  • cd /opt/momonga
  • chown -R tab:tab .

Developer at Momonga Project - OmoiKondara-HOWTO http://developer.momonga-linux.org/wiki/?cmd=view&p=OmoiKondara-HOWTO&key=OmoiKondara

これを読んで、svn co

  • cd tools
  • make

あ、その前に、

  • sudo yum install '*' --skip-broken --exclude='texlive*'

で全部入れてから OmoiKondara で全ビルドを開始する。


2011-05/08 Sun

_ commit

  • ldns
  • nsd
  • unbound
  • rubygem18-dnsruby , opendnssec
Tags: Mo

2005|01|02|03|04|05|06|07|08|09|
2006|03|04|05|06|07|08|09|10|11|
2007|01|02|03|04|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|04|05|06|07|08|09|10|11|12|
2010|02|03|04|
2011|03|04|05|10|11|
追記