portsのsecurity/gnutls3 でmake installすると、最後の方で、こんなエラー。
====> Compressing man pages (compress-man)
===> Installing ldconfig configuration file
===> Building package for gnutls3-3.1.16_1
Creating package /work/usr/ports/security/gnutls3/work/gnutls3-3.1.16_1.tbz
Registering depends: libgpg-error-1.12 libidn-1.28_1 gettext-0.18.3.1 libiconv-1.14_1 p11-kit-0.20.1 libffi-3.0.13 nettle-2.7.1 gmp-5.1.3 ca_root_nss-3.15.2_1 libtasn1-3.3.
Creating bzip'd tar ball in '/work/usr/ports/security/gnutls3/work/gnutls3-3.1.16_1.tbz'
tar: info/gnutls3/gnutls.info-5: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors.
pkg_create: make_dist: tar command failed with code 256
*** [do-package] Error code 1
Stop in /usr/ports/security/gnutls3.
gnutls.info-5 というファイルがないらしいです。
# cd /usr/ports.work/security/gnutls3/work/gnutls-3.1.16/doc
# ls gnutls.info*
gnutls.info gnutls.info-1 gnutls.info-2 gnutls.info-3 gnutls.info-4
なるほど、gnutls.info-4 までしか無いですね。
ログメッセージを見てると、これらのファイルは、こんなコマンドで作られるようです。
makeinfo -I ../doc/ -I . -o gnutls.info gnutls.texi
なんとなく、直感が働きました
# which makeinfo
/usr/bin/makeinfo
もしも /usr/local/bin/makeinfo を使わせたらどうなる???
# rm gnutls.info*
# /usr/local/bin/makeinfo -I ../doc/ -I . -o gnutls.info gnutls.texi
./cha-intro-tls.texi:378: warning: @ref node name should not contain `:'
./cha-cert-auth.texi:201: warning: @ref node name should not contain `:'
./cha-cert-auth.texi:289: warning: @ref node name should not contain `:'
./cha-tokens.texi:356: warning: @ref node name should not contain `:'
# ls gnutls.info*
gnutls.info gnutls.info-2 gnutls.info-4
gnutls.info-1 gnutls.info-3 gnutls.info-5
gnutls.info-5 まで作られました。な~んだ。
ということで、PATHを変更。
# cd /usr/ports/security/gnutls3/
# make clean
===> Cleaning for gnutls3-3.1.16_1
# env PATH=/usr/local/bin/:$PATH make package clean
===> Fetching all distfiles required by gnutls3-3.1.16_1 for building
===> Extracting for gnutls3-3.1.16_1
=> SHA256 Checksum OK for gnutls-3.1.16.tar.xz.
途中省略
install -o root -g wheel -m 444 /work/usr/ports/security/gnutls3/work/gnutls-3.1.16/THANKS /work/usr/ports/security/gnutls3/work/stage/usr/local/share/doc/gnutls3
====> Compressing man pages (compress-man)
===> Installing ldconfig configuration file
===> Building package for gnutls3-3.1.16_1
Creating package /work/usr/ports/security/gnutls3/work/gnutls3-3.1.16_1.tbz
Registering depends: libgpg-error-1.12 libidn-1.28_1 gettext-0.18.3.1 libiconv-1.14_1 p11-kit-0.20.1 libffi-3.0.13 nettle-2.7.1 gmp-5.1.3 ca_root_nss-3.15.2_1 libtasn1-3.3.
Creating bzip'd tar ball in '/work/usr/ports/security/gnutls3/work/gnutls3-3.1.16_1.tbz'
===> Cleaning for gnutls3-3.1.16_1
うまくいってしまいました。
ところで、make packageだと、installされないですね。前はインストールまでされたのに・・・いつからそうなった?
ちなみに、infoファイルは、通常とは1階層だけ違うところにインストールされていました。
# ls /usr/local/info/gnutls3/gnutls.info*
/usr/local/info/gnutls3/gnutls.info /usr/local/info/gnutls3/gnutls.info-3
/usr/local/info/gnutls3/gnutls.info-1 /usr/local/info/gnutls3/gnutls.info-4
/usr/local/info/gnutls3/gnutls.info-2 /usr/local/info/gnutls3/gnutls.info-5
余談ですが、gnutls3の配布パッケージ内には、gnutls.info-5が存在します。
# make clean
===> Cleaning for gnutls3-3.1.16_1
# make patch
===> Fetching all distfiles required by gnutls3-3.1.16_1 for building
===> Extracting for gnutls3-3.1.16_1
=> SHA256 Checksum OK for gnutls-3.1.16.tar.xz.
===> Patching for gnutls3-3.1.16_1
===> gnutls3-3.1.16_1 depends on package: libtool>=2.4 - found
# ls /usr/ports.work/security/gnutls3/work/gnutls-3.1.16/doc/gnutls.info*
/usr/ports.work/security/gnutls3/work/gnutls-3.1.16/doc/gnutls.info
/usr/ports.work/security/gnutls3/work/gnutls-3.1.16/doc/gnutls.info-1
/usr/ports.work/security/gnutls3/work/gnutls-3.1.16/doc/gnutls.info-2
/usr/ports.work/security/gnutls3/work/gnutls-3.1.16/doc/gnutls.info-3
/usr/ports.work/security/gnutls3/work/gnutls-3.1.16/doc/gnutls.info-4
/usr/ports.work/security/gnutls3/work/gnutls-3.1.16/doc/gnutls.info-5
makeすると、消されて、作り直されるようです。