wizpyOS用パッケージ作成
成功したので、報告します。
なかなかつかれた。
まず、Turbolinux FUJIをインストールします。どうせwizpyOS用パッケージつくるだけなので、「すべてインストール」でインストールしました。
で、インストール完了したら、システムアップデートをかけます。
これから作業開始です。
- wizpyアプリケーション開発キットからSDKをダウンロート
- Turbolinux FUJIにインストール
#rpm -ivh appmod-utils-1.1-2.i686.rpm squashfs-tools-3.2-1.i686.rpm
多分問題なく入るはず。僕は入りました。 - wizpyイメージツリーの作成
多分wizpyの環境でパッケージを生成するために必要になるのだと思われます。
Tuebokinux FUJIをインストールしたPCにwizpyを接続する(wizpyの安全を考えてリードオンリーでマウントします)
#mount -o ro /dev/sda2 /mnt/sda2
ここで/dev/sda2としたのは例で各自USBの認識デバイスに変換する。 確認は$dmesg
でできます。もし、/mnt/sda2がなければ #mkdir /mnt/sda2
をして作りましょう。 システムイメージのコピーを行います。#mkdir /home/wizpu-root #rsync -auvKHx /mnt/sda2/ /home/wizpy-root/
- rpmパッケージの作成 ここにTurbolinux FUJIのパッケージがあるのでここにwizpyに入れたいパッケージがあればダウンロードします。無い場合は探します。
- ソースコンパイル
まずはコンパイルする場所を作ります。
$mkdir ~/rpm/SOURCES
そしてソースをそこに移します。 入れたいパッケージのソースをダウンロードしてダウンロードした場所から$mv パッケージ名 ~/rpm/SOURCES
もし、パッケージソースにSPECファイルが同梱されていればそのままコンパイルします。$rpmbuild -tb パッケージ名
もしSPECファイルがないなどで怒られたらcheckinstallをつかってコンパイルします。 CheckInstall HomepageのDownloadからrpmパッケージをダウンロードしてきて#rpm -ivh checkinstall-1.6.1-1.i386.rpm
バージョンは合わせてコマンド入力してください。 あとは、とってきたパッケージをコンパイルするだけです。 とってきたパッケージのある場所で$tar zxvf パッケージ名.tar.gz
zxvfは拡張子が.tar.gzのなので、tar.bz2のときはxjvfにしてください。$cd 解凍したパッケージディレクトリ名 $./configure #/usr/local/sbin/checkinstall
質問に答えるとrpmファイルができます。 checkinstallについては@IT:ソースファイルからRPMファイルを作成するにはで詳しく説明されています。 - wizpyOS用に変換
ホントにこれはSDKのマニュアルのやり方には2通りあったのですが、2つめの方法しか成功しなかったので、それを書きます。というかスクリプトにしました。
- 手動でモジュールファイルツリーの作成スクリプト
#!/bin/sh if [ -d /tmp/appmod-tree ] then rm -fr /tmp/appmod-tree fi mkdir /tmp/appmod-tree /sbin/modprobe unionfs if [ ! -d /mnt/unionroot ] then mkdir /mnt/unionroot fi mount -t unionfs -o "dirs=/tmp/appmod-tree=rw:/home/wizpy-root/mnt/disk/=ro" unionfs /mnt/unionroot/ rpm --root=/mnt/unionroot/ -Uvh $* umount /mnt/unionroot/ rm -fr /tmp/appmod-tree/var/lib/rpm/ find /tmp/appmod-tree -name '*.wh.*' -o -name ld.so.cache -o -name mtab -exec rm -f {} \;
これを適当な名前で保存して実行権限を与えます。 引数はパッケージに必要なrpmファイルのパスです。 例としてmakefiletree.shで保存したとしてopenoffice.orgを入れる場合#./makefiletree.sh openoffice.org-core-2.0.2-1.i686.rpm \ gtk-engines-2.6.8-1.i686.rpm desktop-file-utils-0.12-1.i686.rpm ...
みたいにします。 - amoファイルの作成
#mksquashfs /tmp/appmod-tree/ 生成したいamoファイル名.amo
さっきのだと# mksquashfs /tmp/appmod-tree/ openoffice.org-2.0.2-1.amo
という感じになります。 - amaファイルの作成
- amiファイルの作成
エディタで以下の内容をファイル名.amiで作成
name=名前 version=バージョン release=リリース filesystem=squashfs
またまた、さっきの例だとこうなりますname=openoffice.org version=2.0.2 release=1 filesystem=squashfs
- amaファイルの作成
# appmod arc arc 生成するamaファイル名 amiファイル名 amoファイル名
例だと# appmod arc arc openoffice.org-2.0.2-1.ama openoffice.org.ami
openoffice.org-2.0.2-1.amo これで作成完了です。 あとはamaファイルをwizpyOS上に持って行って、turbo++のアプリケーションの追加と削除からインストールします。
- amiファイルの作成
エディタで以下の内容をファイル名.amiで作成
- 手動でモジュールファイルツリーの作成スクリプト
長かった…