- 1. 概要
- 2. 状況
- 3. 対策
1. 概要
発生は、2025年11月12日。
2. 状況
下記の状態にありまして。
$ portversion -v | grep '<'
[Reading data from pkg(8) ... - 879 packages found - done]
py311-acme-4.2.0,1 < needs updating (port has 4.2.0_1,1)
py311-aioquic-1.3.0 < needs updating (port has 1.3.0_1)
py311-bcrypt-5.0.0 < needs updating (port has 5.0.0_1)
py311-cryptography-44.0.3_4,1 < needs updating (port has 45.0.7_1,1)
py311-jh2-5.0.10 < needs updating (port has 5.0.10_1)
py311-maturin-1.9.6 < needs updating (port has 1.9.6_1)
py311-openssl-25.0.0_1,1 < needs updating (port has 25.3.0_1,1) (=> 'security/py-pyopenssl')
上からアップグレードしようとします。
env BATCH=yes portupgrade -rR py311-acme
すると。
[Reading data from pkg(8) ... - 879 packages found - done]
[Gathering depends for security/py-acme ............................... done]
[Gathering depends for security/py-certbot ............... done]
[Exclude up-to-date packages ............. done]
---> Upgrading 'py311-acme-4.2.0,1' to 'py311-acme-4.2.0_1,1' (security/py-acme)
---> Building '/usr/ports/security/py-acme'
===> Cleaning for py311-acme-4.2.0_1,1
===> License APACHE20 accepted by the user
===> py311-acme-4.2.0_1,1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by py311-acme-4.2.0_1,1 for building
===> Extracting for py311-acme-4.2.0_1,1
=> SHA256 Checksum OK for acme-4.2.0.tar.gz.
===> Patching for py311-acme-4.2.0_1,1
===> py311-acme-4.2.0_1,1 depends on package: py311-setuptools>=0 - found
・・・ 略 ・・・
====> Compressing man pages (compress-man)
===> Installing for py311-cryptography-45.0.7_1,1
===> Checking if py311-cryptography is already installed
===> An older version of py311-cryptography is already installed (py311-cryptography-44.0.3_4,1)
You may wish to ''make deinstall'' and install this port again
by ''make reinstall'' to upgrade it properly.
If you really wish to overwrite the old port of py311-cryptography
without deleting it first, set the variable "FORCE_PKG_REGISTER"
in your environment or the "make install" command line.
*** Error code 1
Stop.
make[2]: stopped in /usr/ports/security/py-cryptography
*** Error code 1
Stop.
make[1]: stopped in /usr/ports/security/py-pyopenssl
*** Error code 1
Stop.
make: stopped in /usr/ports/security/py-acme
egrep: empty (sub)expression
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20251112-55918-bn7w5i env UPGRADE_TOOL=portupgrade UPGRADE_PORT=py311-acme-4.2.0,1 UPGRADE_PORT_VER=4.2.0,1 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
! security/py-acme (py311-acme-4.2.0,1) (unknown build error)
てなことになります。
3. 対策
結局、これは、依存関係とインストール順がかみあっていないことが原因のようです。
まず。
cd /usr/ports/security/py-cryptography
make NO_DIALOG=yes
make reinstall
次に。
env BATCH=yes portupgrade -rR py311-openssl
ここまで、上記の順にやれば、以降は、残るものがあっても、「portupgrade」でアップグレードできます。
|