hns - 日記自動生成システム - Version 2.19.9

先月 2012年03月 来月
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
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2012年03月31日() 旧暦 [n年日記] [更新:"2012/04/06 16:06:32"]

#1 [NetBSD][pkgsrc] pkgsrc/wip/ghostscript-9.05

wip/ghostscript を 9.04 から ghostscript-9.05 に上げたが、どうも自信がない。特に option が怪しい。 そこで、全ての組合せを確認しようと、 perl 手続 を用意した。実行すると、次のように表示する
modena@makoto 19:00:29/120331(..wip/ghostscript)% \
 perl ~/public_html/diary/attach/2012/20120331-ghostscript-32-test 
make clean && env PKG_OPTIONS.ghostscript='-x11 -fontconfig ' make package
make clean && env PKG_OPTIONS.ghostscript='-fontconfig x11 ' make package
make clean && env PKG_OPTIONS.ghostscript='-x11 -fontconfig cups ' make package
make clean && env PKG_OPTIONS.ghostscript='-fontconfig x11 cups ' make package
(以下略)
これを shell に流し込むことにした。 それで、残された記録を次のように探索する
egrep 'PKG_OPTIONS.ghostscript|T1_Enco|Creating binary' /tmp/log
        PKG_OPTIONS.ghostscript = -x11 -fontconfig 
=> Creating binary package /export/CHROOT/usr/pkgsrc/packages/modena/All/ghostscript-9.05.tgz
        PKG_OPTIONS.ghostscript = -fontconfig x11 
=> Creating binary package /export/CHROOT/usr/pkgsrc/packages/modena/All/ghostscript-9.05.tgz
        PKG_OPTIONS.ghostscript = -x11 -fontconfig cups 
(以下略)
17:44 から 20:59 までかかった(信じられないくらい計算しやすい終了時刻) 3:15 分。正常完走。
modena@makoto 20:46:28/120331(..wip/ghostscript)% egrep 
   'PKG_OPTIONS.ghostscript|T1_Enco|Creating binary' /tmp/log  |wc
      64     336    4944

しかし Mac OS X では問題がある。:

Undefined symbols:
  "_gs_romfs_buildtime", referenced from:
      _gs_romfs_buildtime$non_lazy_ptr in gsiorom.o
  "_gs_romfs", referenced from:
      _gs_romfs$non_lazy_ptr in gsiorom.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
gnumake[2]: *** [sobin/libgs.9.05.dylib] Error 1
gnumake[1]: *** [so-subtarget_1] Error 2
gnumake: *** [so] Error 2
*** Error code 2

Stop.
bmake: stopped in /Users/makoto/pkgsrc/wip/ghostscript
*** Error code 1
in ghostscript-9.05/
base/gsiorom.c:    extern const time_t gs_romfs_buildtime;
base/gsiorom.c:    pstat->st_mtime = gs_romfs_buildtime;
base/gsiorom.c:    pstat->st_ctime = gs_romfs_buildtime;
base/mkromfs.c:    fprintf(out,
	"    time_t gs_romfs_buildtime = %lld;\n\n", (long long)time(NULL));
soobj/gsromfs1.c:    time_t gs_romfs_buildtime = 1333199872;
soobj/gsromfs1_.c:    time_t gs_romfs_buildtime = 1333199872;
Patch for 9.02 for Darwin (fink)


2012年03月30日(金) 旧暦 [n年日記] [更新:"2012/03/31 18:56:04"]

#1 [NetBSD] 無線 LAN の Access Point を選ぶ

僕の Lets' Note R4 は二つあって、
  • 一つは無線 LAN なしで (深海 patch で) run を使う。 USB run 装置を USB に抜挿するとそのたびに ifwatchd を使って、いくつかの AP で挿すと自動で環境を設定してくれる
  • もう一つは Intel 無線 LAN 内蔵で、shell script を用意しておいて 手動でそのたびに
    sudo env ifname=iwi0 sh /etc/ifwatch/wlan-up
    
    とか入力する
という方式だった。どう考えても前者の方が僕には楽だったので、 後者の方の iwi0 は使わないようにして run で設定するようにして見た。 (Let's note R6 からは無線 LAN の金物 SW が付いているので、それを使えば良い と思う)

それで某所で (ちょっと感度が良いかと言われている Buffalo の WLI-UC-G300N を使って) 試したら、wpa_supplicant で探しているうちに、 何故か FREE_NODE とかいうところにつかまってしまって (当り前だけれど) DHCP で IP address まで割当てられてしまった。私用の AP がもっと 近くにあるのに、である。それで、この Buffalo をやめて内蔵にしたら、 私用の AP につながるようになった。ちょっと不思議。

この件を tweet としたら、 @cvmat さんから
How about guessnet? ? You can configure some conditions for each network and their priority order. // from twmode in reply to _ki_nu
というようなことを教えてもらった。


2012年03月29日(木) 旧暦 [n年日記] [更新:"2012/03/31 00:08:29"]

#1 [NetBSD] pbulk for Note-PC completed.

(日記に書くことがたまっているのだけれど)
2012/03/22 から用意していた pbulk による bulkbuild が(やっと)完了した。

NetBSD 6.0 Beta を入れて、いろいろといい加減に make package-install しながら、一方で /export/CHROOT に環境を作って、そちらで binary package を用意する、というような話で、

Let's Note R4
NetBSD 6.0_BETA
な機械の上での作業。
personal-pkgsrc/config-desktop 
personal-pkgsrc/emacs-desktop 
の二つ。pbulk と言っても /limited-list にいくつか(というか上の二つを一つづつとか) 書いて部分的にやるだけ。 失敗があれば、それだけ書いて実行したりする。 で、上の二つが完走して binary package が出来た。

それで twitter に書いたりはしたが、

sudo rm -rf /var/db/pkg* /usr/pkg*
pkg_add config-desktop
pkg_add emacs-desktop
をやって見た。大体うまく行った気がするが、Emacs の方が Segmentation Fault する。 twittering-mode を起動すると、数秒で落ちる。

NetBSD-5.0 の同様な機械で 20120330 の Emacs を make package して、 destdir に置いたまま実行して見たが問題ない。ので、Emacs の作り方の問題 という気がしている。



2012年03月27日(火) 旧暦 [n年日記] [更新:"2012/03/31 22:21:53"]

#1 [無線] 2011 XPO コンテスト 7MHz 電信の結果

2011/09/19 に開かれた XPO コンテストの結果が出ている。 予想よりは順位が上だったが、 多分この部門への参加が少なかったためかも知れない。
     C7        7MHz
  
*   1  JK2BAP   16,027
*   2  JE6DND   15,364
*   3  JA2VHO   14,899
*   4  JA1XMS   13,288
*   5  JA9BGL   13,050
*   6  JA5DVK   12,716
*   7  JF3NKA   12,015
    8  JR3OQJ   11,968
*   9  JK7UST   11,792
   10  JQ1VDJ   11,653
去年の日記に書いたことから再録して追加すると、自分の順位は となっている。


2012年03月22日(木) 旧暦 [n年日記] [更新:"2012/03/22 14:46:54"]

#1 [pkgsrc] 生活環境 with NetBSD

最近は pbulk とか 6.0_BETA とか支離滅裂なことをやっている訳だけれど、
  • 自分でいつも使う機械(生活環境)を整備する
  • 新しいものを使って見たい
  • 自分が以前に用意したものは正しいか、他とは競合しないか、 patch ならまだ使えるかの検証
などを同時にやろうとしているから良くないのである。

で、自分環境は 机上機と移動用と二つ要る訳だけれども、どちらも現在整備中になっている。
生活環境用に整備中の Lets' Note R4 に 6.0_BETA が入っていて pbulk も使えるよう になっている。

cvs update -dPA 
しておいて、次の、多分大丈夫そうなのだけは 当ててから作って見る。 その時に、気が付いたが、 pkg/45537 pkg/45549 の二つは、patch の path の数が同じに揃っていなかった。 今は合せたものを用意した。 次のものは pkgsrc/x11/ で見えるはず。
		  patch -s -p0 < ~/public_html/pkgsrc/x11/xproto-7.0.23-2
2012-03-22 14:02  patch -s -p0 < ~/public_html/pkgsrc/x11/pkg-45537-for-p0
2012-03-22 14:02  patch -s -p0 < ~/public_html/pkgsrc/x11/pkg-45549
2012-03-22 14:04  patch -s -p0 < ~/public_html/pkgsrc/x11/libX11-1.3.5-1.4.4
2012-03-22 14:04  patch -s -p0 < ~/public_html/pkgsrc/x11/bdftopcf-1.0.2-2
2012-03-22 14:10  patch -s -p0 < ~/public_html/pkgsrc/x11/appres-1.0.2
2012-03-22 14:10  patch -s -p0 < ~/public_html/pkgsrc/x11/fixesproto
2012-03-22 14:14  patch -s -p0 < ~/public_html/pkgsrc/x11/xfontsel-1.02
2012-03-22 14:14  patch -s -p0 < ~/public_html/pkgsrc/x11/xfstt-1.6
2012-03-22 14:14  patch -s -p0 < ~/public_html/pkgsrc/x11/xmag-1.0.3
2012-03-22 14:15  patch -s -p0 < ~/public_html/pkgsrc/x11/xmodmap-1.0.4
r4-2@makoto 14:28:21/120322(..usr/pkgsrc)% \
  sudo mv  /export/CHROOT/packages/All  /export/CHROOT/packages/keep
r4-2@makoto 14:28:33/120322(~)% cd /export/CHROOT    
r4-2@makoto 14:28:41/120322(/export/CHROOT)% \
  sudo env SHELL=/usr/pkg_bulk/bin/zsh chroot ./
r4-2# . /root/.zshrc
r4-2@root 14:31:11/120322(/)% cat limited-list 
personal-pkgsrc/config-desktop
personal-pkgsrc/emacs-desktop

Error: /dev/pts/1: No such file or directory
r4-2@root 14:31:53/120322(/)% cat env-script-bulkbuild           
env PATH=/usr/pkg_bulk/bin:/usr/pkg_bulk/sbin:${PATH}  bulkbuild

r4-2@root 14:33:06/120322(/)% time sh env-script-bulkbuild
Warning: All log files of the previous pbulk run will be
removed in 5 seconds. If you want to abort, press Ctrl-C.
これで開始。 10 分くらいしたら、本当に始まったらしい。
Resolving...
Building...
Initialisation complete.
[1/760] Starting build of  digest-20111104
[1/760] Successfully built digest-20111104
[2/760] Starting build of  f2c-20100903
[2/760] Successfully built f2c-20100903


2012年03月21日(水) 旧暦 [n年日記] [更新:"2012/03/22 14:18:06"]

#1 [pkgsrc] emacs-mesa78

wip/emacs-current に、 MesaLib-7.8.2 と同居の時と、 MesaLib-7.4.4 の時の切替 SW を付けて見た。
で、 これを確認するのに
wip/emacs-current-mesa78 
というようなもの、 つまり wip/emacs-current と wip/MesaLib の二つを合せただけの meta-pkgs を用意して見たのだけれど、そして、それを忘れていて limited-list にそれが書いてあるのを見落していて、下の方に
graphics/cairo 
と書いて、何故か、この cairo が {gl,glw,dir,MesaLib}-7.8.2 を呼んでいて 不思議だった。

pbulk の時に、/packages/All に完成 package が置かれる として、例えば MesaLib (のどの版でも良いもの) を必要としていた時に、その /packages/All に MesaLib-7.4.4 と MesaLib-7.8.2 が置いてあれば、 その新しい方を勝手に使う、というようになっている、

というのが今の僕の理解。
だったら、emacs-current-mesa78 のようなものは多分要らないのでは、と思う。 単に limite-list に並べて書けば良い。(もっともその場合には順序があるかも知れない)


2012年03月20日(火) 旧暦 [n年日記] [更新:"2012/03/21 00:25:54"]

#1 [無題] 墓参

06:45 出発
07:25 八街
      小堤
      平和公園
      千葉寺
11:00 帰着

#2 [pkgsrc] pango が作れないので FireFox に行けない

wip/MesaLib を使っていることと関係していると思うが、 pango を作る時に、次のように止ってしまう。
  CC     libpangocairo_1_0_la-pangocairo-context.lo
In file included from pangocairo-context.c:24:0:
pangocairo.h:26:19: fatal error: cairo.h: No such file or directory
compilation terminated.
gmake[4]: *** [libpangocairo_1_0_la-pangocairo-context.lo] Error 1
gmake[4]: Leaving directory `/usr/pkgsrc/devel/pango/work/pango-1.29.4/pango'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/usr/pkgsrc/devel/pango/work/pango-1.29.4/pango'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/usr/pkgsrc/devel/pango/work/pango-1.29.4/pango'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/pkgsrc/devel/pango/work/pango-1.29.4'
gmake: *** [all] Error 2
*** Error code 2
wip/MesaLib を使っているのは次の理由
  • modular-xorg-server を 1.11.x にする(したい)
  • wip/gl と wip/dri が必要
  • wip/MesaLib が必要

#3 emacs-current

先日 (3/17) の emacs-current の変更が正しいのかどうか、 もし正しいとして本来ならどう変更するのが良いのか、を確認するためもあって、
なるべく変更していない (emacs-current 以外は変更していない) pbulk 環境を用意した。
先日おかしくなった T-105 に amd64 6.0_BETA を入れて、その中に choot/pbluk 環境を用意した。
この時に、先日の日記の chroot 環境で pkgsrc (pbulk) の記載も少し更新した。
多分、この環境の使い方としては、単一 package を変更しても問題ない ような検証に使えるといいと思っている → (徐々に上げて行く)
(本来は全体を bulk build する必要があるのかな :-)


2012年03月19日(月) 旧暦 [n年日記] [更新:"2012/03/20 11:06:24"]

#1 [pkgsrc] tgif から作った *.eps が gs で化ける

2011/05/09 に、tgif で日本語入力が出来る話を書いた。 実は、この時に作った *.eps がどうだったのかが、書いてない。
きょう不思議なことがあって、 hoge.obj という 漢字の入った とても古い tgif があって、これを tgif で開けて、 日本語を表示する。 これから、ずうっと昔に作った hoge.eps があるが、これは gs で開けられるし、 pLaTeX から includegraphics しても表示される(印刷される)。
ところが、同じものを tgif で開けて C-p で *.eps を作ると、gs でも化けるし 当然 includegraphics しても化けてしまう。
*.eps は文字形式なので diff も取れる。その一部を示すと、
             /Ryumin-Light-EUC-H FF dup /WMode known 
 {dup /WMode get 1 eq {[0 1 -1 0 0 0.3] makefont} if} if
 [24 0 0 -24 0 0] MS
-            (\316\316\260\350) SH
+            (\116\116\060\150) SH
どうも内部の符号が違っているような気がする。
以前 表示する   EUC
今回 表示しない JIS
のような気がするなぁ。
ktrace -t n tgif hoge.obj
して見たが、外部プログラムを呼出している形跡を見つけられなかった。


2012年03月18日() 旧暦 [n年日記] [更新:"2012/03/18 17:30:21"]

#1 [pkgsrc] Firefox

という訳で、新しい環境を構築中。
項目
機械ML115HP ProLiant ML115 G1 (1.0)
CPUDual-Core AMD Opteron(tm)Processor 1216
OSNetBSDamd64 6.0_BETA
pkgsrc は選択肢として
  1. 自分で pbulk したものから pkg_add
  2. usr/pkgsrc で make package-install
  3. sudo env PKG_PATH=ftp://ftp.jp.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/6.0_BETA_2011Q4/All pkg_add libXrender
などとしている。今動く機械がなくなってしまっていた(いる)ので、動くことが優先で作業中。
現在不思議なことはいくつか
  • pbulk で devel/pango が作れない
  • いま pango は入っている(手で入れた ?) ので、調べると
    % pkg_info -n pango |grep cairo
    cairo>=1.10.2nb2
    % pkg_info -N pango |grep cairo
    cairo-1.10.2nb4
    
    pango は、 cairo-1.10.2nb2 から必要とされていて
    cairo-1.10.2nb4 を使って make してある
    となっていて 循環 している (?)
  • Firefox は 3 の方法で入れたがちょっと不思議
Firefox は 3 から入れたら、
modena@makoto 12:42:50/120318(~)% firefox
Shared object "libXrender.so.2" not found
と言われる。今まで入っているのは
modena@makoto 12:42:54/120318(~)% pkg_info |grep libXrender
libXrender-0.9.6    X Render Library
同じこれで、
modena@makoto 12:43:14/120318(~)% pkg_info -qL libXrender  |grep libXrend.so
/usr/pkg/lib/libXrender.so
/usr/pkg/lib/libXrender.so.1
/usr/pkg/lib/libXrender.so.1.3.0
となっているので、版の数字が違う。 それで、自分で入れたのを消して、
modena@makoto 12:44:32/120318(~)% sudo pkg_delete -f libXrender
Package `libXrender-0.9.6' is still required by other packages:
...
3 の方法なら "libXrender.so.2" が入っているだろうと思って入直し。
modena@makoto 12:44:57/120318(~)% \
sudo env \
 PKG_PATH=ftp://ftp.jp.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/6.0_BETA_2011Q4/All \
 pkg_add libXrender

古い方の番号を参照しているものが大変多くあるから、
modena@makoto 12:45:45/120318(~)% \
 tar ztvf  /export/CHROOT/packages/All/libXrender-0.9.6.tgz | grep so
lrwxr-xr-x  1 root  wheel     0 Mar 17 15:59 lib/libXrender.so -> libXrender.so.1.3.0
lrwxr-xr-x  1 root  wheel     0 Mar 17 15:59 lib/libXrender.so.1 -> libXrender.so.1.3.0
-rwxr-xr-x  1 root  wheel 44129 Mar 17 15:59 lib/libXrender.so.1.3.0
と確認してから追加した。
modena@makoto 12:45:46/120318(~)% \
(cd /usr/pkg; \
  sudo tar zxvf  /export/CHROOT/packages/All/libXrender-0.9.6.tgz \
lib/libXrender.so.1.3.0 lib/libXrender.so.1)
lib/libXrender.so.1
lib/libXrender.so.1.3.0
tar: ustar vol 1, 15 files, 153600 bytes read, 0 bytes written in 1 secs (153600 bytes/sec)
(と思ったが、意図通り入っていない気がする)
.. 多分 ftp から持って来たものにも so.2 は入っていないのでは ?
modena@makoto 14:38:10/120318(~)% \
sudo env \
 PKG_PATH=ftp://ftp.jp.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/6.0_BETA_2011Q4/All \
 pkg_add -v -f -P /tmp  libXrender
include/X11/extensions/Xrender.h
lib/libXrender.la
lib/libXrender.a
lib/libXrender.so
lib/libXrender.so.1
lib/libXrender.so.1.3.0
lib/pkgconfig/xrender.pc
share/doc/libXrender/libXrender.txt
Package libXrender-0.9.6 registered in /tmp//var/db/pkg/libXrender-0.9.6
やはりそうだ。


2012年03月17日() 旧暦 [n年日記] [更新:"2012/03/18 01:30:55"]

#1 [pkgsrc] やっと戻って来た Emacs

実はいつも使っている机上機 Dell T105 (NetBSD/amd64 5.1 STABLE) の調子がおかしくなり、 NetBSD/amd64 6.0_BETA を ML-115 に用意していたが、 pbulk で試そうと頑張ったこともあって、時間がかかった。
結局今使っている emacs-24.0.94nb20120317 は 普通に make した。 (まだ pbulk = chroot 環境 では make 出来ていていない)
それと、(知識のない)僕に取っては不思議なことに wip/emacs-current には、次の patch が必要だった。
===================================================================
RCS file: /cvsroot/pkgsrc-wip/wip/emacs-current/Makefile,v
retrieving revision 1.58
diff -u -r1.58 Makefile
--- Makefile	5 Mar 2012 14:08:16 -0000	1.58
+++ Makefile	17 Mar 2012 16:21:06 -0000
@@ -65,6 +65,15 @@
 .include "../../wip/mk/git-package.mk"
 .include "../../graphics/hicolor-icon-theme/buildlink3.mk"
 .include "../../wip/gl/buildlink3.mk"
+.include "../../x11/glproto/buildlink3.mk"
+.include "../../wip/MesaLib/buildlink3.mk"
+.include "../../graphics/librsvg/buildlink3.mk"
+.include "../../x11/libdrm/buildlink3.mk"
+.include "../../x11/dri2proto/buildlink3.mk"
+.include "../../x11/xextproto/buildlink3.mk"
+.include "../../x11/damageproto/buildlink3.mk"
+.include "../../x11/libXdamage/buildlink3.mk"
+.include "../../x11/libXxf86vm/buildlink3.mk"
 .include "../../sysutils/desktop-file-utils/desktopdb.mk"
 .include "../../mk/oss.buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
この状態ではまだ bpulk 側で試していないけれど。
後で良く調べるけれど cairo とか少しさわっているかも知れない。
modula-xorg-server は (wip でなくて) x11 側の 1.6.5nb12


2012年03月15日(木) 旧暦 [n年日記] [更新:"2012/03/16 13:26:45"]

#1 [pkgsrc][pbulk] Illegal variable name

pbulk build problem?
I got the similar problem. Just for my study,
  • Once I have setup pbulk environment (2011/Nov) with NetBSD/amd64 5.1
  • I had another pbulk environment on NetBSD/i386 6.0_BETA on another machine (2012/Mar)
  • I've tried to revive the first environment.
    1. pkgsrc directory is freshy update by cvs update -dPA
    2. Remove (by pkg_delete with and without -r and -f) pkg_bulk side
    3. bootstrap again
    4. Try small set.
Now I understand 'Illegal variable name is from /bin/csh'.
Strange, /bin/csh is not on duty, isn't it ? I have minor modification on csh (err.c) to expand the error message, but I am not able to compile it yet, so far.
Index: bin/csh/lex.c
===================================================================
RCS file: /cvs/cvsroot/src/bin/csh/lex.c,v
retrieving revision 1.27
diff -u -r1.27 lex.c
--- bin/csh/lex.c	17 Jan 2010 12:15:36 -0000	1.27
+++ bin/csh/lex.c	16 Mar 2012 04:26:17 -0000
@@ -481,6 +481,7 @@
 	    }
 	}
 	else {
+	    fprintf(stderr, "%s: %s:%d --> %02c ---\n",__func__, __FILE__,__LINE__, c);
 	    *np = 0;
 	    seterror(ERR_VARILL);
 	    addla(name);


2012年03月14日(水) 旧暦 [n年日記] [更新:"2012/03/16 12:15:58"]

#1 [無題] 荻窪方面にて手伝

荻窪方面にて、予防接種(麻疹と風疹)のつきそい。


2012年03月13日(火) 旧暦 [n年日記] [更新:"2020/07/24 02:15:11"]

#1 [pkgsrc] chroot 環境で pkgsrc (pbulk)

自分で作っている説明画面 や、 それを見て書いた日記 (2011/10/03) などが、 が結局分り難いというか、まとまりがないので、 また例題として書いて見るのです。

pbulk は、本来は、 いくつかの(同じ環境な)機械を使って、並行して処理させて、 bulk build、つまり NetBSD package を全部作るという作業を早く終らせる、という目的のものなのですが、僕は、 それよりも、次のような意義を見出して、利用しています。
以下に書いてある環境を用意すると、次のようなことが出来ます。

  • 依存関係を(何もないところから)すっきりと確認出来る
  • 依存するものは、それまでに用意した binary package を使って設置してくれる(ので早い)
  • 必要なら、作られた binary package を通常環境の方に pkg_add すれば良い

chroot 環境で pkgsrc (pbulk) する時に必要なもの:

  1. OS (NetBSD 等)
  2. chroot directory
    設置一揃が /usr/INSTALL に揃っていれば、それを展開する
    ここから以下は chroot 環境下に用意します
  3. /usr/pkgsrc
    anoncvs 等から持って来る (chroot 前なら /export/CHROOT/usr/pkgsrc に用意します)
  4. /usr/pkg_bulk
    bulk build 時には /usr/pkg は消されてしまうので、消されないように 脇に 最少限の道具を用意します
    ./bootstrap で (脇に) 作る
  5. pbulk
    pkgtools/pbulk で /usr/pkg_bulk側に make package-install する
以下では CHROOT 環境を用意する位置を /export/CHROOT と していますが、この位置は任意で、何でも構いません。
  • OS を入れる
  • (例えば)
    /export/CHROOT/usr/pkgsrc
    
    を用意する
  • /export/CHROOT/ に chroot 環境を用意する
    r4-2@makoto 00:03:10/120314(/export/CHROOT)% foreach i  (/usr/INSTALL/*)
    (cd /export/CHROOT/; sudo pax -pe -r -z -f $i)
    end
    
    実は最初 -pe を付けていなくて 'su: pam_start failed' とか言われていたのだけれど、twitter でつぶやいたら @morrpl が教えてくれた。
    cd dev; sudo ./MAKEDEV all
    
    cp /etc/resolv.conf /export/CHROOT/etc
    
    % chroot /export/CHROOT
    # rm /etc/localtime
    # ln -s /usr/share/zoneinfo/Japan /etc/localtime
    

bootstrap:

ここから (chroot の中で) bootstrap-pkgsrc します。
m08@makoto 10:00:44/120411(/export/CHROOT)% sudo chroot /export/CHROOT
# cd /usr/pkgsrc/bootstrap ;
    ./bootstrap --prefix=/usr/pkg_bulk --pkgdbdir=/usr/pkg_bulk/.pkgdb 
ここで指定した PATH は /usr/pkg_bulk/etc/mk.conf に記録され、 後から参照されます。

pkg_info:

bootstrap は、「何もないところで pkgsrc」の意味で、 何も用意されていなくてもこれさえ用意すれば、 後はいつもの pkgsrc 環境になります。
に用意した最少限の道具です
r4-2@root 14:26:17/120313(/export/CHROOT)% chroot /export/CHROOT
# env PATH=/usr/pkg_bulk/bin:/usr/pkg_bulk/sbin:${PATH} pkg_info
bootstrap-mk-files-20120305 *.mk files for the bootstrap bmake utility
bmake-20110606      Portable (autoconf) version of NetBSD 'make' utility
pkg_install-20120221 Package management and administration tools for pkgsrc

pbulk を用意する:

に用意します。脇に用意するので、他のものと別の位置に置くには、前述の /usr/pkg_bulk/etc/mk.conf
.ifdef BSD_PKG_MK       # begin pkgsrc settings
.endif
の中に、次の行を追加しておきます。
PACKAGES=               /packages_bulk
ここで右辺の設定はどこでも構いません。(この項 2015/04/23 追記)

chroot 内の /etc/resolv.conf が外側と同じになるように写しておきます

まず mozilla-rootcerts を入れておきます (2023/07/15 追記)

cd /usr/pkgsrc/security/mozilla-rootcerts
env PATH=/usr/pkg_bulk/bin:/usr/pkg_bulk/sbin:${PATH} bmake package-install
これは、次のようになるのを避けるためです
ftp: Can't connect to `2001:470:142:3::b:443': No route to host
Trying 209.51.188.20:443 ...
18446744073709551615:error:1416F086:SSL
  routines:tls_process_server_certificate:certificate verify
  failed:/usr/src/crypto/external/bsd/openssl.old/dist/ssl/statem/statem_clnt.c:1919:
ftp: Can't connect to `ftp.gnu.org:https'
その上で次のようにして、まず pbulk を作ります。
cd /usr/pkgsrc/pkgtools/pbulk ; 
env PATH=/usr/pkg_bulk/bin:/usr/pkg_bulk/sbin:${PATH} bmake package-install
ここまでで次の最後の五つが追加されます。これも です。
# env PATH=/usr/pkg_bulk/bin:/usr/pkg_bulk/sbin:${PATH} pkg_info
bootstrap-mk-files-20120305 *.mk files for the bootstrap bmake utility
bmake-20110606      Portable (autoconf) version of NetBSD 'make' utility
pkg_install-20120221 Package management and administration tools for pkgsrc
digest-20111104     Message digest wrapper utility
perl-5.14.2nb5      Practical Extraction and Report Language
rsync-3.0.9         Network file distribution/synchronisation utility
pbulk-base-0.44     Core components of the modular bulk build framework
pbulk-0.48          Modular bulk build framework
2017/11 の場合
cwrappers-20171027  pkgsrc compiler wrappers
bootstrap-mk-files-20170802 *.mk files for the bootstrap bmake utility
bmake-20150505      Portable (autoconf) version of NetBSD 'make' utility
pkg_install-20171030 Package management and administration tools for pkgsrc
digest-20160304     Message digest wrapper utility
rsync-3.1.2         Network file distribution/synchronisation utility
pbulk-base-0.53     Core components of the modular bulk build framework
pbulk-0.65          Modular bulk build framework
僕の場合は、この他に zsh, net-snmp, sendmail, (最近は libkver) を追加します
cd ../../shells/zsh;
env PATH=/usr/pkg_bulk/bin:/usr/pkg_bulk/sbin:${PATH} bmake package-install 
cd ../../net/net-snmp;      #  2020/07/24 updated
env PATH=/usr/pkg_bulk/bin:/usr/pkg_bulk/sbin:${PATH} bmake package-install 
sendmail を入れる前に /usr/pkg_bulk/etc/mk.conf に次の行を 追加 しておきます。
SKIP_LICENSE_CHECK=	yes
cd ../../wip/sendmail; 2019/02/06 updated
cd ../../mail/sendmail; 
env PATH=/usr/pkg_bulk/bin:/usr/pkg_bulk/sbin:${PATH} bmake package-install 
ここでも make でなく (/usr/pkg_bulk 側に入れるため ) bmake を使います。 sendmail で 上記 mk.conf が効くためにも bmake の方が必要です。 また入れた後に
cd  /usr/pkg_bulk/share/sendmail/cf;
# -- Not necessary now (2014-06-20) -- -vi netbsd-proto.mc
make install-cf CF=netbsd-proto;

mkdir -p /var/spool/mqueue;
mkdir -p /var/spool/clientmqueue;
chown smmsp.smmsp  /var/spool/clientmqueue;
ln -sf /usr/pkg_bulk/share/examples/sendmail/mailer.conf /etc/mailer.conf;
touch /etc/mail/local-host-names
などをして echo test | mail username@example.com で自分宛にメールが出せる(届く)ことを確認しておきます。
(ちなみに 非 chroot 側で sendmail が動いていることが必要です)

pbulk.conf:

多分ここまでくれば、後は /usr/pkg_bulk/etc/pbulk.conf を調整して
env PATH=/usr/pkg_bulk/bin:/usr/pkg_bulk/sbin:${PATH} bulkbuild 
とやるだけではないかと思います。 pbulk.conf を調整する時に、 どこを見るかも重要かと思います。僕は、どこに記録が残っているのか分らないうちは、
du -sk /export/CHROOT/bulk/*
などのようにして log を探したりもしました。
pbulk.conf の中では
unprivileged_user=pbulk
これも僕は結構悩ましかったけれど、今は自分にしています。 どちらにしても chroot 内で vipw が必要です。

今うまく動き出した時の pbulk.conf は次のようなものです。全てが必須とは 限りませんが、自分の覚えとして、現状を書いておきます。
どうも packages = /packages を変更するとうまく行かなくなる(どこか他でも調整が必要になる) という気がしています (というのは誤りで CHROOT/etc/mk.conf と合せてあれば大丈夫)。

(人間用に編集しています)

--- pkg_bulk/share/examples/pbulk/pbulk.conf	2012-03-13 15:01:55.000000000 +0900
+++ /export/CHROOT/usr/pkg_bulk/etc/pbulk.conf	2012-03-14 20:09:15.000000000 +0900
-master_mode=yes
+master_mode=no

-pkg_rsync_args="-av --delete-excluded -e ssh"
+pkg_rsync_args="-av --delete-excluded"

-pkg_rsync_target="pkgsrc@192.168.75.1:/public/packages/current/DragonFly-1.8"
+pkg_rsync_target="/bulk/rsync"

-report_rsync_args="-avz --delete-excluded -e ssh"
+report_rsync_args="-avz --delete-excluded"

-report_rsync_target="pkgsrc@192.168.75.1:/public/reports/current/DragonFly-1.8"
+report_rsync_target="/bulk/report"

-report_recipients="pkgsrc-bulk at netbsd.org"
+report_recipients="pkgsrc-bulk at example.com"
 
-bootstrapkit=/usr/pkgsrc/bootstrap/bootstrap.tar.gz
+bootstrapkit=

-#limited_list=/limited_list
+limited_list=/limited-list

 unprivileged_user=pbulk
+unprivileged_user=username

-make=${prefix}/bin/bmake
+make=/usr//bin/make
上の設定に合せて、次のような mkdir も必要です。
 cd /export/CHROOT/;
 mkdir packages;
 sudo mkdir packages;
 sudo mkdir bulk;
 sudo mkdir bulklog;
 sudo mkdir packages/All;
 sudo mkdir bulk/report;
t-105# cat /etc/mk.conf 
PACKAGES=/packages
この後に limited_list に pkgtools/digest とだけ書いて pbulk を実行します。
必ず最初に作るもので、これが出来ないと次には行けないのと、簡単なので、問題が あれば、すぐ分るからです。
env PATH=/usr/pkg_bulk/bin:/usr/pkg_bulk/sbin:${PATH}  bulkbuild
次のように言われるのは、上の PACKAGES= /packages の行が不足しているからです。これは pbulk.conf で /packages に作るように設定して いるのに、同じところを見ないので、見つからない、と言っているのです。
pkg_add: no pkg found for 'digest-20121220', sorry.
pkg_add: 1 package addition failed


2012年03月12日(月) 旧暦 [n年日記] [更新:"2012/03/16 12:14:14"]

#1 [無題] 確定申告

直前であるが出しに行った。 いつも国税庁の Web Page で作成して、それを印刷して、窓口に提出している。 今年は FireFox と Adobe Reader の入っている機械 (WinXP) で作成。 Adobe Reader は 9.0 以降が必要とのことで、 古い Adobe acrobat の入っている機械は避けて、別の機械を使った。
直前に源泉徴収票に誤りがあって、年末調整で戻してもらったのに、 払ったことになっていた。このため、 一度戻してもらった金額を、もう一度もらう 計算になっていたことに気が付く。印刷後に気が付いて、作り直し。
確か去年は、 「年末調整をした時には、保険等の添付書類は会社預り」 だったと思うけれど、今年は提出になっていた。去年の件は、 自分の思い違いかな。
じゃがいもを 7 個くらい植えた。


2012年03月11日() 旧暦 [n年日記] [更新:"2012/03/11 18:51:32"]

#1 [NetBSD] sys/dev/usb/if_run.c

昔から話が続いている run device、つまり
Melco の WLI_CU-G300N USB 無線 LAN アダプタ
GW-USMicroN-G (Planex)
の二つだけれど、 見よう見真似で if_run.c を直して見たら動くようになった。
if_run directory
File 名Datesize備考
GENERIC.diff08-Mar-2012 23:57677GENERIC に当てる差分
PATH11-Mar-2012 15:28242(参考)置場所
files.usb.diff08-Mar-2012 23:49394files.usb に当てる差分
if_run.c11-Mar-2012 15:0186K変更後
if_run.c.diff11-Mar-2012 15:432.0K差分
if_run.c.orig08-Jul-2010 23:3686Knaobsd 版
if_runvar.h03-Jul-2010 13:304.8Knaobsd 版から変更無
rt2860reg.h03-Jul-2010 13:3036K同上
(殆んど、保存属性になってしまうのは何が悪いのかな)
差分と変更後のものが置いてあるのは実際には冗長、どちらかを使えば良い。
(まさか、実は「何もしなくても使えるはずだけれど」ということはないよね ?

dmesg の中に出ている:


vendor 0x8086 product 0x266d (modem communications,
という字は、次のものらしい
Device: pci 0x266d "82801FB/FBM/FR/FW/FRW (ICH6 Family) AC&#39;97 Modem Controller"


2012年03月09日(金) 旧暦 [n年日記] [更新:"2012/03/10 00:17:13"]

#1 [NetBSD] ./build.sh on Let's Note R4

5.1 な Let's Note R4 が何か元気がない、Emacs を pkg_add すると cus-edit の辺りで segmentation fault するとか、不思議なので、入替えてもいいかな、と、その前に self で build.sh をして見た。
r4-2@makoto 15:55:39/120308(/export/src-netbsd-6)% \
time sudo ./build.sh -j 2 release >& ../log-release-6
18361.27s 2248.33s 6:09:13.21 93% 0+0k 26629+52287io 117364pf+23w
r4-2@makoto 22:05:31/120308(/export/src-netbsd-6)% 
make release started at:  Thu Mar  8 15:56:34 JST 2012
make release finished at: Thu Mar  8 22:05:31 JST 2012
===> Successful make release
===> build.sh ended:      Thu Mar  8 22:05:31 JST 2012
===> Summary of results:
  build.sh command:    ./build.sh -j 2 release
  build.sh started:    Thu Mar  8 15:56:22 JST 2012
  NetBSD version:      6.0_BETA
  MACHINE:             i386
  MACHINE_ARCH:        i386
  Build platform:      NetBSD 5.1_STABLE i386
  HOST_SH:             /bin/sh
  No $TOOLDIR/bin/nbmake, needs building.
  Bootstrapping nbmake
  TOOLDIR path:        /export/src-netbsd-6/obj/tooldir.NetBSD-5.1_STABLE-i386
  DESTDIR path:        /export/src-netbsd-6/obj/destdir.i386
  RELEASEDIR path:     /export/src-netbsd-6/obj/releasedir
  Created /export/src-netbsd-6/obj/tooldir.NetBSD-5.1_STABLE-i386/bin/nbmake
  Updated makewrapper: /export/src-netbsd-6/obj/tooldir.NetBSD-5.1_STABLE-i386/bin/nbmake-i386
  Successful make release
  build.sh ended:      Thu Mar  8 22:05:31 JST 2012
===> .
r4-2@makoto 22:54:55/120308(~)% 
これはうまく行ったのだけれど run の patch が当たらない。心配しなくても、もう入っているのかなとも思ったが、そうでもなさそう。


2012年03月06日(火) 旧暦 [n年日記] [更新:"2012/03/06 21:36:47"]

#1 [pkgsrc][emacs][flim] Cannot open load file: advice

The problem I had before 2012/02/01 and 2011/02/28 .
===> Building for flim-1.14.9nb1
/usr/pkg/bin/emacs -batch -q -no-site-file -l FLIM-MK -f compile-flim NONE NONE  NONE
Warning: Could not find simple.el nor simple.elc
Loading /export/pkgsrc/devel/flim/work/flim-1.14.9/FLIM-CFG...
Loading /export/pkgsrc/devel/flim/work/flim-1.14.9/FLIM-ELS...
Cannot open load file: advice
*** Error code 255
Todays patch is here.

The problem is that

  • To build flim correctly, advice.el should be found.
  • It depends on the path installed emacs version.
  • But pkgsrc build assumes it is the same as pkgsrc/editors or wip/emacs-current (?) directory. Those may not be the same. My sample shows:
     * EMACS_VERSION_MAJOR = 24
     * EMACS_VERSION_MICRO = 90
     * EMACS_VERSION_MINOR = 0
    
    while pkg_info says:
    rf@makoto 21:31:43/120306(..devel/flim)% pkg_info -e emacs      
    emacs-24.0.92nb20111208
    
    which is not the same shown above.
* EMACS_VERSION_MICRO = 90
comes from emacs-snapshot. (With some reason, it is consistent).


2012年03月04日() 旧暦 [n年日記] [更新:"2012/03/04 18:26:28"]

#1 [pkgsrc] timestamp_timeout in /usr/pkg/etc/sudoers

今週末は ARRL DX Contest SSB だけれども、ひどい風邪を引いてしまったので、 中止して、養生中。
さて、 2011/12/09 の日記に、
/usr/pkg/etc/sudoers の passwd_timeout
という題名の文章を書いた。
きょう、また設定しようと思って man sudoers の中の timeout という文字列を探していた ら、
passwd_timeout
timestamp_timeout
の二つの説明があって、何が違うのかと良く読んでいたら、
passwd_timeout
password 入力を待つ分数(ふんすう)、既定値は 5 分
timestamp_timeout
password を入力しなくても次の sudo を実行するまでの分数、既定値は 5 分
かな。という訳で、僕に必要なのは後者の方だ思う。
Defaults  timestamp_timeout = 60
と書いて見た。

#2 [pkgsrc] I've submitted the patch to pdvipsk problem

I wrote some note related
pdvips: ! invalid char 19032 from font rml
in the diary 2012/03/02 . And submitted send-pr -> PR/46133

Then miskim@ told me to test tex-ptex-3.2.
I have packaged tex-ptex-3.2 with patch.
Then I process the newly created *.dvi file by ptex-3.2 with old pdvipsk which has no rml mapping capabilty.
Now works fine. My comment is that it is fine. But we do need pdvipsk with rml mapping capability to process old *.dvi file ?

xdvi claims:

With newly created *.dvi file with tex-ptex-3.2,
modena@makoto 17:35:35/120304(hoge/work)% xdvi regex-only.dvi 
xdvi-xaw: Warning: Character 19032 not defined in font rml
xdvi-xaw: Warning: Character 19832 not defined in font rml
This is another strange thing to me.

tex-ptex-3.2 Has following map:

modena@makoto 18:23:31/120304(..usr/pkgsrc)%  \
head /usr/pkg/share/texmf-dist/fonts/map/dvipdfmx/ptex/*
==> /usr/pkg/share/texmf-dist/fonts/map/dvipdfmx/ptex/morisawa.map <==
%%
%% Morisawa
%%
ryumin-l    H   Ryumin-Light
ryumin-l-v  V   Ryumin-Light
gtbbb-m     H   GothicBBB-Medium
gtbbb-m-v   V   GothicBBB-Medium
futomin-b   H   FutoMinA101-Bold
futomin-b-v V   FutoMinA101-Bold
futogo-b    H   FutoGoB101-Bold

==> /usr/pkg/share/texmf-dist/fonts/map/dvipdfmx/ptex/ptex-noEmbed.map <==
%%
%% ASCII pTeX
%%

rml       H               !Ryumin-Light
rmlv      V               !Ryumin-Light
gbm       H               !GothicBBB-Medium
gbmv      V               !GothicBBB-Medium



2012年03月02日(金) 旧暦 [n年日記] [更新:"2012/03/03 11:35:18"]

#1 [pkgsrc] etc/texmf/dvips/config/config.ps は誰が置いたか

pdvips が、次のように言って止ってしまう
pdvips: ! invalid char 19032 from font rml
という問題を 2012/02/03 に書いて、それに続いて、 /usr/pkg/etc/texmf/dvips/config/config.ps は誰が置いたか、というような疑問を 2012/02/28 の日記 に書いた。 print/dvipsk かなとは思ったが PLIST には(良く似たものはあるが) そのものはなかった。
modena@makoto 10:14:17/120303(..print/dvipsk)% grep config.ps PLIST
share/texmf-dist/dvips/config/config.ps
ただ pkg_delete して見たら、これだった。 これに japanese option を入れるかな。あれ、pdvipsk がある。
多分、これは dvipsk に bin/pdvipsk をただ一つ加えるもの、らしい。
config.ps を見に来る元を変えるか ..
取り敢えず pdvipsk に patch を作って gs で表示出来るようになっのだけれど gs がすごく遅い。何だろう ?
そう言えば、この辺の機械がもう一つすごく遅い。 Network 線にでも問題があるのかな。

send-pr 用作文:

The *.dvi file generated by platex may include the reference to font family rml. To process Japanese *.dvi with print/pdvips with those documents, it usually says
pdvips: ! invalid char 19032 from font rml
To resolve this problem, add one kanji.map to convert 'rml' to well known name Ryumin-Light-H etc. And also pdvips to refer config.ps file which includes reference to this newly added kanji.map file, to summarize
pdvips -> config-j.ps -> kanji.map (rml -> Ryumin-Light-H etc). The patch is here.
As a side information, there is a shell script named jisftconfig, which do the similar thing in Linux world. I would say this is the well-known problem for processing dvi files including Kanji.



最近の日記
2024年03月10日
停電 (瞬電)
2024年03月03日
the second try on bare-metal
useradd
2024年02月29日
opendkim and senmail
2024年01月24日
chat/iam 0.0.8
2024年01月21日
uselocale vs setlocale (textproc/R-readxl)
以上、19 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)