|
Namazu for hns による簡易全文検索 詳しくは 詳細指定/ヘルプを参照して下さい |
|||||||||||||||||||||||||||||||||||||||||||||||||||
2011年10月03日(月) 旧暦 [n年日記] [更新:"2011/10/04 00:08:10"]#1 [pkgsrc] 初めての pbulk
Google 先生に pbulk とたづねると、
自分に聞いたら、
と言われてしまった。
それで、これを見ながら、かつ修正しながら試行中。 limited-list に 30 くらい書いておいて、試している。今は次のようになった Unresolvable dependencies found, exiting: wip/etoile-core net/py-dnsこれらは取敢えず、消している、 と言っても何を消せば良いかはなかなか分らなかった。→ (Typewriter と py-pyde) その後いろいろやっていて、 しばらく pkgtools/digest (digest-20080510) を作るのに失敗する、という問題になやんでいた。 最後は、binary package (を作ったのに)ない、と言っていたが、 pbulk.conf の中で packages=/usr/pkgsrc/packagesと指定することで、やっと先に進むようになった。 digest が出来ないと何も作ってくれない。 おそらく、master_mode=yes の場合に、binary packages を NFS で共有する時には /packages の方が便利というか必須かと思う。 m09@root 14:34:56/111004(~)% time /usr/pkg_bulk/bin/bulkbuild Warning: All log files of the previous pbulk run will be removed in 5 seconds. If you want to abort, press Ctrl-C. ... Resolving... Scanning... .... 4/4 Resolving... Building... Initialisation complete. [94/378] Starting build of digest-20080510 [94/378] Successfully built digest-20080510 [95/378] Starting build of f2c-20100903 [95/378] Successfully built f2c-20100903 [96/378] Starting build of libtool-base-2.2.6bnb5 [96/378] Failed to build libtool-base-2.2.6bnb5 [302/378] Starting build of gmake-3.82nb2 [302/378] Successfully built gmake-3.82nb2 [303/378] Starting build of perl-5.14.1 現在使っている pbulk.conf の設定変更は次の通り
(cd /export/CHROOT/usr/pkg_bulk/ \
% diff -u share/examples/pbulk/pbulk.conf \
etc/pbu k.conf )
--- share/examples/pbulk/pbulk.conf 2011-10-04 07:18:40.000000000 +0900
+++ etc/pbulk.conf 2011-10-04 14:34:08.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="/export/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="/export/bulk/report"
-report_recipients="pkgsrc-bulk at netbsd.org"
+report_recipients="makoto@example.com"
-#limited_list=/limited_list
+limited_list=/limited-list
#
-bulklog=/bulklog
+bulklog=/export/bulk/bulklog
-packages=/packages
+packages=/usr/pkgsrc/packages
-digest=/usr/pkg/bin/digest
+digest=/usr/pkg_bulk/bin/digest
-make=${prefix}/bin/bmake
+make=/usr/pkg_bulk/bin/bmake
Failed という中には、次のような字が見える
bmake: don't know how to make /nonexistent. Stopこれかな。
どうも pbulk にあっては、二つの環境 (簡単に言えば /usr/pkg と /usr/pkg_bulk)
が混って存在していて、どの操作はどちらを使うか、
というのを注意深く選ぶ必要がある。最初からやるかな。
上の /packages を変更したのも、間違いかも知れない。make も反対か。
digest-20080510 Message digest wrapper utility f2c-20100903 Fortran to C compiler including a script to emulate f77m09@root 19:22:06/111004(~)% /usr/pkg_bulk/sbin/pkg_info bootstrap-mk-files-20090807nb2 *.mk files for the bootstrap bmake utility bmake-20110606 Portable (autoconf) version of NetBSD 'make' utility pkg_install-20110805 Package management and administration tools for pkgsrc digest-20080510 Message digest wrapper utility rsync-3.0.8 Network file distribution/synchronisation utility pbulk-base-0.43 Core components of the modular bulk build framework pbulk-0.48 Modular bulk build framework m4-1.4.16 GNU version of UNIX m4 macro language processor sendmail-8.14.5 The well known Mail Transport Agent perl-5.14.1 Practical Extraction and Report Language libexecinfo-1.1 BSD Licensed clone of backtrace facility found in GNU libc. m09@root 19:24:03/111004(~)% /usr/sbin/pkg_info -K /usr/pkg_bulk/.pkgdb -E 'f2c>=2009' m09@root 19:24:25/111004(~)% /usr/sbin/pkg_info -E 'f2c>=2009' f2c-20100903一度消して、もう一度 pbulk を実行しても反対側に入ってしまう。何故かな。 あれ、反対側に入るのが正しいのか。 むしろ、pbulk の中で、次のように、 -K で tool 側を見ているのがおかしい pkg=`/usr/pkg_bulk/sbin/pkg_info -K /usr/pkg_bulk/.pkgdb -E "$pattern" || true`; これは次の部分、違うか。PKGBASE ではない。-E でもない。 /usr/pkgsrc/mk/flavor/pkg/views.mk
47 pkg=`${PKG_INFO_CMD} -K $$dbdir -e ${PKGBASE} || ${TRUE}`; \
/usr/pkgsrc/mk/flavor/pkg/resolve-dependencies
32 find_best() {
33 ${PKG_INFO} -E "$1" || ${TRUE}
34 }
35
36 ${CAT} ${DEPENDS_FILE} | while read type pattern dir; do
37 pkg=`find_best "$pattern"`
38 case "$pkg" in
この 37 行目 -> 33 行目 の方だった。
この resolve-dependecies がどこから呼ばれているかと言うと、
/usr/pkgsrc/mk/flavor/pkg/depends.mk の
55 _RESOLVE_DEPENDS_CMD= \
56 ${PKGSRC_SETENV} _PKG_DBDIR=${_PKG_DBDIR:Q} PKG_INFO=${PKG_INFO:Q} \
57 _DEPENDS_FILE=${_DEPENDS_FILE:Q} \
58 ${SH} ${PKGSRCDIR}/mk/flavor/pkg/resolve-dependencies \
59 " "${BOOTSTRAP_DEPENDS:Q} \
60 " "${BUILD_DEPENDS:Q} \
61 " "${DEPENDS:Q}
ここには -K がないな。-K が見つかるのは次のところ(かな)
/usr/pkgsrc/mk/buildlink3/bsd.buildlink3.mk
321 . if empty(_BLNK_PKG_DBDIR.${_pkg_}:M*not_found)
322 _BLNK_PKG_INFO.${_pkg_}?= ${PKG_INFO_CMD} -K ${_BLNK_PKG_DBDIR.${_pkg_}:H}
323 . else
324 _BLNK_PKG_INFO.${_pkg_}?= ${PKG_INFO_CMD} -K ${_PKG_DBDIR}
325 . endif
それともこれかな/usr/pkgsrc/mk/flavor/pkg/flavor-vars.mk
PKGTOOLS_ARGS?= -K ${_PKG_DBDIR}
これ怪しい/usr/pkg_bulk/etc/mk.conf: PKG_DBDIR= /usr/pkg_bulk/.pkgdbいや、これは合っている。 /usr/pkg/etc/mk.conf に書いても、消してしまうので確められない。 ちなみに、今は /limited-list に次の行しかありません (/limited_list (下線)から名前を変えています)。 devel/libtool-baseあれ、/usr/etc/pkg/mk.conf かな。違うよな。 多分きれいさっぱり、最初からやれば、何とかなる気もする。 libexec/pbulk/client-cleanを使えば、きれいに出来るよ、と 書いてある 一応やり直したつもりだが、やはり同じ。他の人は出来ているのだから、 何か自分で変なことをやっているかと思うが、まだ見つからない。 ( つっこみ )
|
最近の日記 2025年10月25日 ・recover from disk error 2025年10月23日 ・dd does not duplicate Windows 11 boot disk ? 2025年10月13日 ・missing package 2025年10月04日 ・pkgin search pkgname segfaults 2025年08月16日 ・installboot (Although it’s too late) | ||