トップ «前の日記(2018-03-04) 最新 次の日記(2018-03-06)» 編集

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

2018-03-05 :-)

_ [pkgsrc][pbulk][バルクビルド][NetBSD]pkgsrc bulk build

基本的にはこの手順通りなんだけどいくつかハマったのでメモしておく。

Chapter 7. Creating binary packages for everything in pkgsrc (bulk builds)

(cd /usr && ftp -o - http://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.gz | tar -zxf-)
sh pbulk.sh -n -l

pbulk.sh のオプションは以下の意味。-l しないと limited_list の PATH が /limited_list となってしまう。-l しておくと /usr/pbulk/etc/limited_list が使われるようになる。ようするに PREFIX が適用される。

  • n: native(NetBSD)
  • l: use limited_list

/usr/pbulk/etc/pbulk.conf を編集。ignore_missing_dependencies は依存関係でエラーになる場合があるので無視する( ref. Re: pbulk dependency resolution failed )

ignore_missing_dependencies=yes

/usr/pbulk/etc/pbulk.list を編集する。バルクビルドの対象とするパッケージを書く。例えばこう。これを書かない場合は全部のパッケージをビルドするハメになるので注意。

devel/git

/usr/pkgsrc を chown しておく。理由は後述。

chown -R pbulk:users pkgsrc

ビルド

/usr/pbulk/bin/bulkbuild

レポートは以下のディレクトリに HTML とか dot とか txt で保存される。

/mnt/bulklog/meta/report.*

chown

chown しないと怒られる。pbulk:users で /usr/pkgsrc を変更しようとするのでそりゃまあ。unprivileged とはなんだったのか。

===> Skipping vulnerability checks.
WARNING: No /var/db/pkg/pkg-vulnerabilities file found.
WARNING: To fix run: `/usr/sbin/pkg_admin -K /var/db/pkg fetch-pkg-vulnerabilities'.
mkdir: /usr/pkgsrc/pkgtools/cwrappers/work: Permission denied
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/pkgtools/cwrappers

レポートしちゃうんですけど

コンソールログに以下のように印字される。

Building pkg_summary...
Building SHA512...
Build reports...
Sending report mail...   <===
Uploading report...
Uploading packages...

メール送信処理はここ。なお report_recipients はデフォルトだと "pkgsrc-bulk@netbsd.org" に設定されている。

/usr/pbulk/libexec/pbulk/report

echo "Sending report mail..."
cat ${loc}/report.txt | ${mail} -s "${report_subject_prefix} ${platform} ${build_start_iso}" ${report_recipients}

この処理は無条件に実行される。libexec/pbulk/report も無条件に実行される。pbulk.conf にレポート送信有無を設定する変数は無いので上記処理をコメントアウトしておく。