[an error occurred while processing this directive]
【小ネタ】最新portsを使って自家製9.1R-packagesを作っています・・・

第348日目:【小ネタ】最新portsを使って自家製9.1R-packagesを作っています・・・
【追記8 2013/03/06 18:30】
ども、ども、▲('A`)/です。
えーと、作成した自家製パッケージですが、動作検証を進めていますが、
ちゃんと動くものもあり、動きがおかしいのもありまして・・・
来週にでも次回日記で色々まとめて書こうとは思いますが、まずは
2点ほどお知らせします。
1つはXFCEですが、どうもメインコンソールでの環境と、遠隔での
デスクトップ環境だと見え方(アイコン表示ですが)が変わっているのです。
[1]がメインコンソールからのデスクトップを表示した場合です。
[2]はRealVNCで接続して表示したデスクトップ環境を表示した場合です。

[1]   [2]

ちょっとサムネイルでは判りづらいかもしれませんが、[1]のケースでは
メニューバーのアイコンはちゃんと表示されるのです。
しかし[2]ではアイコンの幾つかはバッテンマークになってしまうのです。
もちろんバッテンをクリックするとちゃんとプログラムとか画面等が
出てくるのですが、接続環境によって表示がこうも変わるのはどうしてか
色々調べているところです。

2つめはoperaなのですが、youtubeで動画を再生しようとすると、映像は
ちゃんと見えるのですが、音声が出ないのです・・・
サウンドのカーネルモジュールはちゃんとローディングしているので
マウスでクリックした際の音とかが出るのは確認しているのです。
どうしてなのかなあ?・・・こちらも引き続き調べています。

といった感じで再度公開したパッケージを差し替えるかもしれませんので
ご注意を。。。
最新portsでパッケージを作ると色々な事にぶつかるなあ。トホホ・・・

それでは、また!▲('A`)/

【追記7 2013/03/05 16:40】
ども、ども、▲('A`)/です。
えーと、こんな質問を受けまして・・・お答えしますね。
「日記を参考に自分もパッケージ作りに挑戦しているのですが、自分も/usr
ディレクトリがあふれてしまいました。こういう時、どのデータを保存して
おくと良いのですか?」との事。

/usr/ports/distfilesを丸ごとtarで固めて別のマシンに保管しましょう。

/usr/portsを丸ごとコピーすれば?と思われるかもしれませんが、実は
関連ソフトのビルドではpatchを当てる処理が動いている場合があり、
それを知らずにmakeをかけると、ビルドで「もうpatch当たってるよ!」と
お叱りを受けて処理を止められちゃうという事が起きます。
関連ソフトが多いとその頻度が高くなります。

portsからインストールする時に時間がかかるのはソースファイル等を外部から
取得するところだといっても過言ではありません。
/usr/ports/distfilesが残っていれば、少なくともファイル転送の処理にかかる
時間は短縮できるので・・・

あと大事な事ですが、パッケージ作りに利用するマシンはつぶしがきく(OSの
再インストールとか行なっても問題ない)マシンを利用するのを忘れずに。
できれば、Virtualboxとかjailで仮想マシンを割り当てて、その上でおこなうと
気兼ねなくできるかも、です。

あと、「Latestの中にPerlのファイルが作られない。」と質問があったのですが、
これは各ソフトで関連付けされているPerlのバージョンと、今回インストールした
Perlのバージョンが違う為、自動で作られないのです。なので、ここだけは
人力で(自分の手で)スタティックリンクを貼ることになります。ご注意を。

みなさん、頑張ってくださいねー。
それでは、また!▲('A`)/

【追記6 2013/03/05 15:20】
ども、ども、▲('A`)/です。
えーと、今作成したパッケージの検証作業をしていまして・・・
どうも、operaはうまくインストールできないようです。ごめんなさい。
パッケージが見つからないといって怒られます。

pkg_add: could not find package libvpx-1.1.0 !
pkg_add: could not find package gstreamer-plugins-bad-0.10.23,3 !
pkg_add: pkg_add of dependency 'gstreamer-plugins-vp8-0.10.23,3' failed!
pkg_add: could not find package libogg-1.3.0,4 !
pkg_add: could not find package libvorbis-1.3.3_1,3 !
pkg_add: could not find package libtheora-1.1.1_3 !
pkg_add: pkg_add of dependency 'gstreamer-plugins-theora-0.10.36,3' failed!
pkg_add: could not find package libogg-1.3.0,4 !
pkg_add: pkg_add of dependency 'gstreamer-plugins-ogg-0.10.36,3' failed!
pkg_add: could not find package libogg-1.3.0,4 !
pkg_add: could not find package libvorbis-1.3.3_1,3 !
pkg_add: could not find package gstreamer-plugins-ogg-0.10.36,3 !
pkg_add: pkg_add of dependency 'gstreamer-plugins-vorbis-0.10.36,3' failed!

途中でデータを退避して作ったりして色々やっていたから、おかしくなったのかも。
ちょっともう一度環境を整備してパッケージを再作成してみます。はー。

それでは、また!▲('A`)/

【追記5 2013/03/05 13:30】
ども、ども、▲('A`)/です。
えーと、追加ソフトも含めてパッケージを作成しました。
作成したパッケージのリストはこちらになります。
作成されたパッケージ総数が279個→611個に大幅増になってしまいました。
その為サーバへのアップにも時間がかかってしまいお知らせが遅れました。
予告より30分遅れてしまって、すみません・・・

[自家製9.1R-packages(amd64) 2013/03/05作成版]
http://dokuo3.maido3.com/packages/

※tbzで固めたものはこちらになります。

[自家製9.1R-packages(amd64) 2013/0304作成版]
http://dokuo3.maido3.com/packages_old/

※tbzで固めたものはこちらです。

(注)tbzで固めたファイルは03/04作成版は約216MB、
  03/05作成版は949MBになっています。

03/05作成版では03/04作成版に加えて主に以下のソフトが追加されています。

--------------------------------------
/usr/ports/x11/xorg
/usr/ports/x11-wm/xfce4
/usr/ports/japanese/font-mplus-ipa
/usr/ports/japanese/font-std
/usr/ports/japanese/font-takao
/usr/ports/japanese/font-vlgothic
/usr/ports/japanese/scim-anthy
/usr/ports/x11/slim
/usr/ports/net/x11vnc
/usr/ports/net/tightvnc
/usr/ports/math/gnumeric
/usr/ports/editors/abiword
/usr/ports/www/opera
/usr/ports/japanese/libreoffice
--------------------------------------

以下の2つは作成が間に合いませんでした。その代わりといっては何ですが、
libreoffice(日本語版)を付け加えています。

/usr/ports/www/linux-f10-flashplugin11
/usr/ports/www/opera-linuxplugins

なお、ポンコツの▲('A`)が作ったパッケージですので、利用に当たっては
自己責任でお願いします。

それでは、また!▲('A`)/

【追記4 2013/03/05 09:10】
ども、ども、▲('A`)/です。
おはようございます。
えーと、只今前回の追記で書いた追加ソフトについてパッケージ作成を
進めているのですが、不運にも/usrパーティションがあふれてしまって、
再度やり直しているところです。もうしばらくお待ちください。
ただ、/usr/ports を丸ごと固めて退避していたので、思ったよりは
時間がかからずに再開できています。
さて、札幌では今日3/5(火)は公立高校の入試が行なわれています。
出勤の時に乗り込んだ地下鉄でもいつもは見かけない中学生風の
学生さん達が乗っていました。
今日の夕方は民放の各テレビ局は入試解答の番組を軒並み放送する
予定です。(▲('A`)の頃にはそんな番組無かったなあ・・・)

それでは、また!▲('A`)/

【追記3 2013/03/04 16:15】
ども、ども、▲('A`)/です。
えーと、只今先月の日記で取り上げたデスクトップ環境を構築する際に
インストールしたソフト達(xorgとか)のパッケージを引き続き作成中です。
が、ちょっと今後悔しています・・・
それは、関連ソフトがとても多いので、特にx11関係のソフトがてんこ盛りと
なりそうです。いちおう明日までには目処を付けたいと思ってはいるのですが、
もしかすると予定の日時に間に合わないかもしれませんので、ご容赦を・・・
いちおう今取り掛かっているソフトは以下の通りです。

--------------------------------------
/usr/ports/x11/xorg
/usr/ports/x11-wm/xfce4
/usr/ports/japanese/font-mplus-ipa
/usr/ports/japanese/font-std
/usr/ports/japanese/font-takao
/usr/ports/japanese/font-vlgothic
/usr/ports/japanese/scim-anthy
/usr/ports/x11/slim
/usr/ports/net/x11vnc
/usr/ports/net/tightvnc
/usr/ports/math/gnumeric
/usr/ports/editors/abiword
/usr/ports/www/linux-f10-flashplugin11
/usr/ports/www/opera
/usr/ports/www/opera-linuxplugins
--------------------------------------

なんせxorg自体、関連ソフトにperlを含んでいるので、
どうしても作ってあげないといけなくなりまして・・・
そして最後の方のlinux-f10-flashplugin11については
パッケージ化できるかどうか試しにやってみるという
スタンスで取り組んでいます。。。

それでは、また!▲('A`)/

【追記2 2013/03/04 15:40】
ども、ども、▲('A`)/です。
えーと、只今先月の日記で取り上げたデスクトップ環境を構築する際に
インストールしたソフト達(xorgとか)のパッケージを作成中です。
それと、今日公開したパッケージの中でいくつか不足分も見受けられたので
明日(3/5・火)の13:00頃にpackagesの差し替えを行ないます。
差し替え作業が終わったら、この日記で再度お知らせします。

それでは、また!▲('A`)/

【追記 2013/03/04 14:00】
ども、ども、▲('A`)/です。
えーと、只今9.1Rのpackagesの製作を行なっていますが、せっかくの機会なので
皆さんからのリクエストなんかを受けようかなと思っています。
びんたんの「▲('A`)の縁側日記」の方で下記のスレをたてましたので、
よろしければリクエスト等をどうぞ。(3/9 23:00分まで受付)
自家製FreeBSD 9.1R-packagesを作成中です。by ▲(‘A`)@びんたん
注意点としては以下の通りとなります。
・portsに収録されているソフトのみ可能
・関連付けされるPerlのバージョンが5.16.2になる事
・インストールでエラーにならない、という点のみ確認
 (ソフト自体の動作チェックまでは行なわない)

それでは、また!▲('A`)/

↓ 本編はこちらです。

(2013/03/04 12:20)
ども、ども、▲('A`)/です。
えーと、只今FreeBSD 9.1Rの環境下で最新のportsを使って自家製packagesを製作中です。
今回はFreeBSD本家とは違いPerl5.16に関連付けされる様に各ソフトを作っています。

どうしてまたそんなパッケージを作っているの?といいますと、今回「自家製」packagesを
作るに当たって、できるだけ最新のperlバージョンを使える様にしたかったのです。
(FreeBSD本家のpackagesはperl5.14に関連付けされているのです・・・)

とは言うものの、いつもインストールしている各種ソフトについて作っていると、
関連付けされているソフトがぞろぞろと出てきて、作る対象が雪だるま式に増えて
きたのです。それと、最初はソースからインストールしないといけないので、
コンパイル作業が多くて大変でした。

せっかくなので、今回作成した自家製packagesを公開しようと思います。
なお、脳みそが半分壊れている▲('A`)が作ったパッケージですから、ご利用は
自己責任でお願いします。クレーム等は受け付けませんので、あしからず。

[自家製9.1R-packages(amd64)]
http://dokuo3.maido3.com/packages/

※tbzで固めたものもあります。こちらからどうぞ。

インストール&パッケージ作成を行なったソフトの内訳はこうです。
(コンパイルしたのは以下の41個ですが、実際には関連ソフトも含めて279個できました。
詳しくはリンク先のページのAllディレクトリの中をご覧ください。)

-------------------------------
perl
wget
cmake
ja-p5-Jcode
p5-IO-Compress
p5-Digest
p5-GD
p5-libwww
p5-Net-DNS
ruby
lynx
unzip
bash
mhash
ImageMagick
ja-nkf
p5-Net-SSLeay
emacs
autoconf
apachetop
p5-Geo-IP
p5-Net-CIDR-Lite
p5-Sys-CpuLoad
p5-Crypt-Blowfish
p5-Crypt-CBC
p5-Crypt-DES
p5-Crypt-Rijndael_PP
libmcrypt
help2man
p5-Tie-IxHash
p5-ExtUtils-XSBuilder
p5-Parse-RecDescent
p5-Net-Twitter
p5-AnyEvent-Twitter
p5-AnyEvent-Twitter-Stream
mysql55-server
p5-DBD-mysql55
tidy-lib
ekhtml
redis
p5-Redis
-------------------------------

で、どうやって作ったのかというのを次に説明します。
まずは最新のportsデータをportsnapコマンドを使って設置します。
(9.1Rではデフォルトで使えます。)

portsnap fetch extract

で、次に作成するパッケージを貯めておくディレクトリを/usr/ports下に
作っておきます。

cd /usr/ports
mkdir packages

後は各ソフトのディレクトリに移動して以下のコマンドを実行します。
1)単体のパッケージを作る場合
  make package
2)関連付けされているソフトの分のパッケージも一緒に作る場合
  make package-recursive

これらのコマンドはインストールとパッケージ化を一緒に行なってくれます。
8.3R以前だと以下のコマンドでパッケージだけを作ってインストールは省くという事が
できたのですが、9.1Rではコマンドを実行してもエラーになります。
たぶん/usr/ports/Mk/bsd.port.mkあたりが変わっているんじゃないかと
思うのですが、詳しく調べていません。すみません・・・

make package-noinstall

例えば今回はパッケージ化しなかったのですが、CURLのパッケージを作ってみます。
CURLは/usr/ports/ftp/curl にありますので、まずは該当のディレクトリに移動します。
で、試しに make package-noinstall を実行してみると・・・

root@w44:/root # cd /usr/ports/ftp/curl
root@w44:/usr/ports/ftp/curl # make package-noinstall
===> Generating temporary packing list
pkg_create: can't find package 'curl-7.24.0_2' installed!
*** [do-package] Error code 1

Stop in /usr/ports/ftp/curl.
*** [package-noinstall] Error code 1

Stop in /usr/ports/ftp/curl.
root@w44:/usr/ports/ftp/curl # ls -l /usr/ports/packages/
total 4
drwxr-xr-x 2 root wheel 512 Mar 4 02:00 All
root@w44:/usr/ports/ftp/curl # ls -l /usr/ports/packages/All/
total 0
root@w44:/usr/ports/ftp/curl #

ありゃりゃ・・・エラーになってしまいました。
(/usr/ports/packages の中にはディレクトリが作られますが、
中身は空です。。。)

じゃあ、make package を実行しようか、と思う前に、まずは
依存関係のあるソフトがあるのかを調べましょう。
make all-depends-list というコマンドを実行すると
以下の様に一覧リストが出力されます。

root@w44:/usr/ports/ftp/curl # make all-depends-list
/usr/ports/lang/perl5.16
/usr/ports/security/ca_root_nss
root@w44:/usr/ports/ftp/curl #

なるほど・・・perlとca_root_nssがくっついてくるのね・・・
じゃあ、関連ソフトも一緒にパッケージ作ってみましょう。
ただ、作成に当たっては、実行時に関連ソフトもまとめて
config画面を出してパラメータの操作を済ませるとしましょう。

make config-recursive package-recursive clean

config-recursive というのが新たに加わりましたが、これは
関連するソフトのconfigureも最初に済ませてしまう場合に唱えます。
今回はこのコマンドを実行した時に、最初はcurlのconfig画面が、次に
Perlのconfig画面が、最後にca_root_nssのconfig画面が表示されました。
全て「OK」を選択したらソース取得の処理に進みました。
で、コンパイルが終わって最後の方で以下の様にメッセージが表示されます。

===> Building package for curl-7.24.0_2
===> Generating temporary packing list
rmdir: /usr/ports/security/ca_root_nss/work: Directory not empty
*** [package-noinstall] Error code 1 (ignored)
===> Cleaning for ca_root_nss-3.14.3
===> Cleaning for curl-7.24.0_2
root@w44:/usr/ports/ftp/curl #

すると、/usr/ports/packages 中に以下の様に各種ディレクトリが生成されます。
「えっ!こんなにいっぱいできちゃうの?」とびっくりしないでください。
実際のパッケージはディレクトリAllの中に3つだけ作られます。
(perlとcurlとca_root_nss)
それ以外はこのAllのディレクトリ中の各パッケージに対してのスタティックリンクが
作成されるだけです。

# ls -l /usr/ports/packages/
total 36
drwxr-xr-x 2 root wheel 512 Mar 4 02:03 All
drwxr-xr-x 2 root wheel 512 Mar 4 02:03 Latest
drwxr-xr-x 2 root wheel 512 Mar 4 02:03 devel
drwxr-xr-x 2 root wheel 512 Mar 4 02:03 ftp
drwxr-xr-x 2 root wheel 512 Mar 4 02:03 ipv6
drwxr-xr-x 2 root wheel 512 Mar 4 02:03 lang
drwxr-xr-x 2 root wheel 512 Mar 4 02:03 perl5
drwxr-xr-x 2 root wheel 512 Mar 4 02:03 security
drwxr-xr-x 2 root wheel 512 Mar 4 02:03 www
# ls -l /usr/ports/packages/All/
total 16996
-rw-r--r-- 1 root wheel 262418 Mar 4 02:03 ca_root_nss-3.14.3.tbz
-rw-r--r-- 1 root wheel 1327186 Mar 4 02:03 curl-7.24.0_2.tbz
-rw-r--r-- 1 root wheel 15712978 Mar 4 02:03 perl-5.16.2.tbz
# ls -l /usr/ports/packages/Latest/
total 0
lrwxr-xr-x 1 root wheel 29 Mar 4 02:03 ca_root_nss.tbz -> ../All/ca_root_nss-3.14.3.tbz
lrwxr-xr-x 1 root wheel 24 Mar 4 02:03 curl.tbz -> ../All/curl-7.24.0_2.tbz
# ls -l /usr/ports/packages/devel/
total 0
lrwxr-xr-x 1 root wheel 22 Mar 4 02:03 perl-5.16.2.tbz -> ../All/perl-5.16.2.tbz
# ls -l /usr/ports/packages/ftp
total 0
lrwxr-xr-x 1 root wheel 24 Mar 4 02:03 curl-7.24.0_2.tbz -> ../All/curl-7.24.0_2.tbz
# ls -l /usr/ports/packages/ipv6
total 0
lrwxr-xr-x 1 root wheel 24 Mar 4 02:03 curl-7.24.0_2.tbz -> ../All/curl-7.24.0_2.tbz
# ls -l /usr/ports/packages/lang/
total 0
lrwxr-xr-x 1 root wheel 22 Mar 4 02:03 perl-5.16.2.tbz -> ../All/perl-5.16.2.tbz
# ls -l /usr/ports/packages/perl5/
total 0
lrwxr-xr-x 1 root wheel 22 Mar 4 02:03 perl-5.16.2.tbz -> ../All/perl-5.16.2.tbz
# ls -l /usr/ports/packages/security/
total 0
lrwxr-xr-x 1 root wheel 29 Mar 4 02:03 ca_root_nss-3.14.3.tbz -> ../All/ca_root_nss-3.14.3.tbz
# ls -l /usr/ports/packages/www/
total 0
lrwxr-xr-x 1 root wheel 24 Mar 4 02:03 curl-7.24.0_2.tbz -> ../All/curl-7.24.0_2.tbz
#

で、途中Imagemagickのパッケージを作る時に以下の様に
エラーメッセージがでました。
実はImagemagickでは/usr/ports/textproc/docbookが関連ソフトとして
出てくるのですが、docbook自身は実際にはdokbook- 2.4.1とか3.0とか
4.xとか5.0とか他のバージョンのものの集合体なのです。
docbook-1.4とはメタデータの様なものです。
(まあ、それでも後で個別にパッケージを作りましたが・・・・)

===> Generating temporary packing list
pkg_create: can't find package 'docbook-1.4' installed!
*** [do-package] Error code 1

最新のportsの中を見たのですが、実はMySQLの最新バージョンである5.6が収録されて
いるんですね。しかし、Perlのドライバ(p5-DBDとか)がまだ無いんです・・・
それらが収録されたら、パッケージ作ろうかな、と思っています。

先週末は北海道は大荒れの天気でした。土曜日なんか会社帰りに台風並みの突風が
吹いて、▲('A`)の体が吹き飛びそうになりました。
道東の方では死者も出て、痛ましい限りです。
本当に早く春がこないかなあ、と切に願っていたりします。

それでは、また!▲('A`)/

347日目に戻る。   349日目に続く。

目次に戻る
1日目 2日目 3日目 4日目 5日目 6日目 7日目
8日目 9日目 10日目 11日目 12日目 13日目 14日目
15日目 16日目 17日目 18日目 19日目 20日目 21日目
22日目 23日目 24日目 25日目 26日目 27日目 28日目
29日目 30日目 31日目 32日目 33日目 34日目 35日目
36日目 37日目 38日目 39日目 40日目 41日目 42日目
43日目 44日目 45日目 46日目 47日目 48日目 49日目
50日目 51日目 52日目 53日目 54日目 55日目 56日目
57日目 58日目 59日目 60日目 61日目 62日目 63日目
64日目 65日目 66日目 67日目 68日目 69日目 70日目
71日目 72日目 73日目 74日目 75日目 76日目 77日目
78日目 79日目 80日目 81日目 82日目 83日目 84日目
85日目 86日目 87日目 88日目 89日目 90日目 91日目
92日目 93日目 94日目 95日目 96日目 97日目 98日目
99日目 100日目 101日目 102日目 103日目 104日目 105日目
106日目 107日目 108日目 109日目 110日目 111日目 112日目
113日目 114日目 115日目 116日目 117日目 118日目 119日目
120日目 121日目 122日目 123日目 124日目 125日目 126日目
127日目 128日目 129日目 130日目 131日目 132日目 133日目
134日目 135日目 136日目 137日目 138日目 139日目 140日目
141日目 142日目 143日目 144日目 145日目 146日目 147日目
148日目 149日目 150日目 151日目 152日目 153日目 154日目
155日目 156日目 157日目 158日目 159日目 160日目 161日目
162日目 163日目 164日目 165日目 166日目 167日目 168日目
169日目 170日目 171日目 172日目 173日目 174日目 175日目
176日目 177日目 178日目 179日目 180日目 181日目 182日目
183日目 184日目 185日目 186日目 187日目 188日目 189日目
190日目 191日目 192日目 193日目 194日目 195日目 196日目
197日目 198日目 199日目 200日目 201日目 202日目 203日目
204日目 205日目 206日目 207日目 208日目 209日目 210日目
211日目 212日目 213日目 214日目 215日目 216日目 217日目
218日目 219日目 220日目 221日目 222日目 223日目 224日目
225日目 226日目 227日目 228日目 229日目 230日目 231日目
232日目 233日目 234日目 235日目 236日目 237日目 238日目
239日目 240日目 241日目 242日目 243日目 244日目 245日目
246日目 247日目 248日目 249日目 250日目 251日目 252日目
253日目 254日目 255日目 256日目 257日目 258日目 259日目
260日目 261日目 262日目 263日目 264日目 265日目 266日目
267日目 268日目 269日目 270日目 271日目 272日目 273日目
274日目 275日目 276日目 277日目 278日目 279日目 280日目
281日目 282日目 283日目 284日目 285日目 286日目 287日目
288日目 289日目 290日目 291日目 292日目 293日目 294日目
295日目 296日目 297日目 298日目 299日目 300日目 301日目
302日目 303日目 304日目 305日目 306日目 307日目 308日目
309日目 310日目 311日目 312日目 313日目 314日目 315日目
316日目 317日目 318日目 319日目 320日目 321日目 322日目
323日目 324日目 325日目 326日目 327日目 328日目 329日目
330日目 331日目 332日目 333日目 334日目 335日目 336日目
337日目 338日目 339日目 340日目 341日目 342日目 343日目
344日目 345日目 346日目 347日目 348日目 349日目 350日目
351日目 352日目 353日目 354日目 355日目 356日目 357日目
358日目 359日目 360日目 361日目 362日目 363日目 364日目

いま一番お得なページ! 解析
[an error occurred while processing this directive]