FreeBSD - メンテナンス・トラブルシュート - pkg・ports アップデート関連 - ode-10.4.0 → 10.4.1

 
1. 概要
2. 腑に落ちないオチ

1. 概要

 発生は 2018年6月16日。

> pkg version -vl "<"
node-10.4.0                        <   needs updating (index has 10.4.1)
 ということにつき

> portupgrade -Rr node
[Reading data from pkg(8) ... - 400 packages found - done]
[Gathering depends for www/node ............................................................ done]
[Gathering depends for www/npm ... done]
[Exclude up-to-date packages ....................... done]
--->  Upgrading 'node-10.4.0' to 'node-10.4.1' (www/node)
--->  Building '/usr/ports/www/node'
===>  Cleaning for node-10.4.1
===>  License MIT accepted by the user
===>   node-10.4.1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by node-10.4.1 for building
===>  Extracting for node-10.4.1
=> SHA256 Checksum OK for node-v10.4.1.tar.gz.
===>  Patching for node-10.4.1
===>  Applying FreeBSD patches for node-10.4.1
===>   node-10.4.1 depends on executable: gmake - found
===>   node-10.4.1 depends on file: /usr/local/bin/python2.7 - found
===>   node-10.4.1 depends on package: pkgconf>=1.3.0_1 - found
===>   node-10.4.1 depends on shared library: libcares.so - found (/usr/local/lib/libcares.so)
===>   node-10.4.1 depends on shared library: libuv.so - found (/usr/local/lib/libuv.so)
===>   node-10.4.1 depends on shared library: libicui18n.so - found (/usr/local/lib/libicui18n.so)
===>  Configuring for node-10.4.1
ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)

・・・中略・・・

AttributeError: 'module' object has no attribute 'sha1'
===>  Script "configure" failed unexpectedly.
Please report the problem to bhughes@FreeBSD.org [maintainer] and attach the
"/usr/ports/www/node/work/node-v10.4.1/config.log" including the output of
the failure of your make command. Also, it might be a good idea to provide
an overview of all packages installed on your system (e.g. a
/usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/www/node
*** Error code 1

Stop.
make: stopped in /usr/ports/www/node
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20180616-218-fh09xz env UPGRADE_TOOL=portupgrade UPGRADE_PORT=node-10.4.0 UPGRADE_PORT_VER=10.4.0 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        ! www/node (node-10.4.0)        (unknown build error)
 どうも

===>   node-10.4.1 depends on file: /usr/local/bin/python2.7 - found

  File "/usr/local/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
 あたりが気になります。  現在 python2.7 から python3.6 へ移行しているので、その呪い?

2. 腑に落ちないオチ

 納得のいかない話ではあるのですが・・・。  同時に発生していた「SSL(Secure Sockets Layer)」の方の問題で(結局これも python がからんでいるのですが・・・)。  openssl を openssl-devel へと移行した結果・・・。

> portupgrade -Rr node

・・・略・・・

Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
        node-10.4.0

Number of packages to be removed: 1

The operation will free 30 MiB.
[1/1] Deinstalling node-10.4.0...
[1/1] Deleting files for node-10.4.0: 100%
[Reading data from pkg(8) ... - 395 packages found - done]
--->  Installing the new version via the port
===>  Installing for node-10.4.1
===>   Registering installation for node-10.4.1
Installing node-10.4.1...
Note: If you need npm (Node Package Manager), please install www/npm.

===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/bin/node

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
http://nodejs.org/
===>  Cleaning for node-10.4.1
--->  Cleaning out obsolete shared libraries
 通っちゃったのです。