#author("2024-07-25T11:28:31+09:00","default:kuji","kuji") #author("2024-07-25T11:30:19+09:00","default:kuji","kuji") CONTENTS #contents ---- Lastmodified &lastmod; ---- *www2 [#k0456d46] /etc/make.conf DEFAULT_VERSIONS+= bdb=18 WITH_BDB6_PERMITTED=yes ######### DEFAULT_VERSIONS+= perl5=5.36 DEFAULT_VERSIONS+= python=3.9 python3=3.9 [[/usr/ports/UPDATING:https://piano2nd.smb.net/PukiWiki/?FreeBSD+13.0-R+to+13.1R13.1R#peb471bb]] 727 16:01 portupgrade -o lang/perl5.36 -f lang/perl5.34 728 16:02 portupgrade -f `pkg shlib -qR libperl.so.5.34` 729 16:16 /usr/ports/lang/perl5.36 730 16:16 cd /usr/ports/lang/perl5.36 731 16:16 make reinstall clean 732 16:17 pkg delete perl5.36-5.36.3_1 733 16:17 make install clean *smb212 [#eae3c48b] **/etc/make.conf [#w7df1418] #DEFAULT_VERSIONS+= perl5=5.32 NO_SENDMAIL= true OPTIONS_UNSET+=X11 DEFAULT_VERSIONS+= bdb=18 WITH_BDB6_PERMITTED=yes ########################################### ↓ これを追加 DEFAULT_VERSIONS+= python=3.9 python3=3.9 # portupgrade -r --batch apache24-2.4.58_2 [Reading data from pkg(8) ... - 450 packages found - done] ** Port marked as IGNORE: www/apache24: Invalid perl5 version 5.34 ---> Skipping 'www/mod_php81' (mod_php81-8.1.27_1) because a requisite package 'apache24-2.4.58_2' (www/apache24) failed (specify -k to force) ** Listing the failed packages (-:ignored / *:skipped / !:failed) - www/apache24 (marked as IGNORE) * www/mod_php81 (mod_php81-8.1.27_1) と言われる。perl はインストールされていないが **/usr/ports/UPDATING [#x2444bc8] によれば、20231017 にデフォルトのパールバージョンが変更されている。 20231017: AFFECTS: users of lang/perl5* AUTHOR: delphij@FreeBSD.org The default Perl version has been switched to Perl 5.36. If you are using binary packages to upgrade your system, you do not have anything to do, pkg upgrade will do the right thing. For the other people, assuming you are migrating from 5.34 to 5.36, do: First, add to /etc/make.conf: DEFAULT_VERSIONS+= perl5=5.36 Portupgrade users: portupgrade -o lang/perl5.36 -f lang/perl5.34 You can now remove the DEFAULT_VERSIONS line added earlier from /etc/make.conf Then you will need to rebuild everything that uses libperl.so, you can do so with: portupgrade -f `pkg shlib -qR libperl.so.5.34` If, for some reason, this command fails at one point, it is safe to run it again, it will not rebuild what it already rebuilt, as the ports that have been rebuilt no longer depend on libperl.so.5.34 but on libperl.so.5.36. にしたがって、先ず /etc/make.conf に DEFAULT_VERSIONS+= perl5=5.36 を追加 ついで portupgrade -o lang/perl5.36 -f lang/perl5.34 インストール後 DEFAULT_VERSIONS+= perl5=5.36 をコメントアウト。で portupgrade -f `pkg shlib -qR libperl.so.5.34` を実行。 これで、 # portupgrade -r --batch apache24-2.4.58_2 が完走した。 *** php imagick.so のエラーが出る [#c2261589] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/local/lib/php/20210902-zts/imagick.so (/usr/local/lib/libMagickWand-7.so.10: version VERS_10.0 required by /usr/local/lib/php/20210902-zts/imagick.so not defined), /usr/local/lib/php/20210902-zts/imagick.so.so (Cannot open "/usr/local/lib/php/20210902-zts/imagick.so.so")) in Unknown on line 0 これは、pecl-imagickの再インストールで回避できた。 1006 8:00 cd /usr/ports/graphics/pecl-imagick 1007 8:01 make config 1008 8:01 make reinstall *** bind-tools-9.18.24 < needs updating (port has 9.18.27_1) [#ec0873f7] portupgrade すると、bind916と同じ場所にインストールするのでコンフリクトする、というエラーが出る。 これは、bind916 と一緒に使っていたが、現在は、bind918となっていて、このpkgは一旦削除。すると、bind916も動じに削除されるので、bind918をインストールする。bind-tools は、同時にインストールされる。 *** bind916-9.16.48_1 < needs updating (port has 9.18.27_1) (=> 'dns/bind918') [#v82a81ea] 前述の通り、/usr/ports/dns/bind918 にて make install clean する *** net-snmp-5.9.4_5,1 < needs updating (port has 5.9.4_6,1) [#tb920e03] こちらは、 # portupgrade -r --batch net-snmp-5.9.4_5,1 でアップグレード完了した。 これで、smb212のパッケージは全部アップデートできた。 * sun3 [#z6ae8741] /etc/make.conf にperlのデフォルト記述がないが、perl5-5.36.3_1 がインストールされている。 portsupgrade -a で エラーで残って居るのが・・ py39-certbot-2.9.0,1 < needs updating (port has 2.11.0,1) py39-fail2ban-1.0.2_1 < needs updating (port has 1.1.0) py39-sqlite3-3.9.18_7 < needs updating (port has 3.9.19_7) sqlite3-3.45.1,1 < needs updating (port has 3.46.0,1) *** sqlite3-3.45.1,1 [#a1a3bc28] これは、portupgrade だとエラーでとまるので、/usr/ports/databases/py-sqlite3 から make reinstall clean でOKだった。 *** py39-sqlite3-3.9.18_7 [#c48d80ef] これも、同様に /usr/ports/databases/sqlite3 からの make reinstall clean で対処出来た。 *** py39-fail2ban-1.0.2_1 [#l9e5efd4] これは、portupgrade -r --batch py39-fail2ban-1.0.2_1 でOKだった。 *** py39-certbot-2.9.0,1 [#nb169f72] これも同様に、/usr/ports/security/py-certbot から make reinstall clean でOKだった。ホッ * sun1 [#sd2410f1] /etc/make.conf は、これだけ。 OPTIONS_UNSET+=X11 DEFAULT_VERSIONS+= bdb=18 WITH_BDB6_PERMITTED=yes 因みにインストールされているパッケージは、 ############# 2024/07/18 ############### #perl5-5.34.3_3 #php81-8.1.28 #python39-3.9.18_2 なので、 ########################################### ↓ これを追加 DEFAULT_VERSIONS+= python=3.9 python3=3.9 DEFAULT_VERSIONS+= perl5=5.36 して、 ついで portupgrade -o lang/perl5.36 -f lang/perl5.34 インストール後 DEFAULT_VERSIONS+= perl5=5.36 をコメントアウト。で portupgrade -f `pkg shlib -qR libperl.so.5.34` を実行。 **ここでも、[[php imagick.so のエラーが出る]] ので、 [#i39367af] 1006 8:00 cd /usr/ports/graphics/pecl-imagick 1008 8:01 make reinstall これで、portupgrade -ar --batch が走れる *** bind-tools-9.18.24 [#v07fbed9] bind916 bind918 は入れていないが bind-tools-9.18.24 が入って居てアップグレードエラーしていた。 portupgrade してみた ---- * Piano2nd [#x69f4e1f] portupgrade -f `pkg shlib -qR libperl.so.5.34` で、以下のエラー > Note: Vulnerable ports are marked as such even if there is no update available. => If you wish to ignore this vulnerability rebuild with 'make DISABLE_VULNERABILITIES=yes' *** Error code 1 Stop. make[2]: stopped in /usr/ports/databases/mysql80-client *** Error code 1 Stop. make[1]: stopped in /usr/ports/databases/mysql80-client *** Error code 1 Stop. make: stopped in /usr/ports/databases/p5-DBD-mysql egrep: empty (sub)expression ** Comma # portupgrade -m "DISABLE_VULNERABILITIES=yes" -f `pkg shlib -qR libperl.so.5.34` とすると・・・ ====> Compressing man pages (compress-man) ===> Installing ldconfig configuration file ===> Installing for mysql80-client-8.0.35 ===> Checking if mysql80-client is already installed ===> Registering installation for mysql80-client-8.0.35 as automatic Installing mysql80-client-8.0.35... pkg-static: mysql80-client-8.0.35 conflicts with mariadb105-client-10.5.23 (installs files into the same place). Problematic file: /usr/local/bin/my_print_defaults *** Error code 1 Stop. make[2]: stopped in /usr/ports/databases/mysql80-client *** Error code 1 Stop. make[1]: stopped in /usr/ports/databases/mysql80-client *** Error code 1 Stop. make: stopped in /usr/ports/databases/p5-DBD-mysql egrep: empty (sub)expression ** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20240724-93496-sju4ge env UPGRADE_TOOL=portupgrade UPGRADE_PORT=p5-DBD-mysql-4.050_1 UPGRADE_PORT_VER=4.050_1 make DISABLE_VULNERABILITIES=yes ** Fix the problem and try again. ** Listing the failed packages (-:ignored / *:skipped / !:failed) ! databases/p5-DBD-mysql (p5-DBD-mysql-4.050_1) (unknown build error) と言うエラー。piano2nd は、mariadb105 で稼働中・・・う~む。。。。 # pkg delete p5-DBD-mysql-4.050_1 Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 2 packages (of 0 packages in the universe): Installed packages to be REMOVED: opendmarc: 1.4.2_1 p5-DBD-mysql: 4.050_1 Number of packages to be removed: 2 Proceed with deinstalling packages? [y/N]: # pkg delete opendmarc Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: opendmarc: 1.4.2_1 Number of packages to be removed: 1 Proceed with deinstalling packages? [y/N]: ** portupgrade -ar --batch [#o71c1d76] ** Listing the failed packages (-:ignored / *:skipped / !:failed) - japanese/mailman (port directory error) - devel/llvm80 (port deleted) ! databases/p5-DBD-mysql (p5-DBD-mysql-4.050_1) (security vulnerabilities) * mail/opendmarc (opendmarc-1.4.2_1) とここで、ググって見て、p5-DBD-MariaDB というパッケージの存在を知る。 https://freebsd.pkgs.org/13/freebsd-amd64/p5-DBD-MariaDB-1.23.pkg.html *** UPDATING [#fde2523c] 20240408: AFFECTS: users of databases/p5-DBD-mysql AUTHOR: flo@FreeBSD.org Upstream removed support for MariaDB from the 5.0 branch. So if you use MariaDB you need to use databases/p5-DBD-mysql4 from now on. Portmaster users: portmaster -o databases/p5-DBD-mysql4 databases/p5-DBD-mysql portmaster -a Portupgrade users: portupgrade -o databases/p5-DBD-mysql4 -f databases/p5-DBD-mysql portupgrade -a だそうな・・・。 更に検索すると、https://www.zabutone.com/installing-opendmarc-on-freebsd/ に、/etc/make.conf に、DEFAULT_VERSIONS= mysql=10.5m の様に MariaDB105 をデフルトにする様に記述して、 に、 /etc/make.conf に、 DEFAULT_VERSIONS= mysql=10.5m の様に MariaDB105 をデフルトにする様に記述しておくと、「mysql80-client-8.0.35 conflicts with ・・・」が出てこなくなって /usr/ports/mail/opendmarc で、make install すると、完走した。 ====> Compressing man pages (compress-man) ===> Staging rc.d startup script(s) ===> Installing for opendmarc-1.4.2_2 ===> Checking if opendmarc is already installed ===> Registering installation for opendmarc-1.4.2_2 Installing opendmarc-1.4.2_2... # pkg info -dr opendmarc-1.4.2_2 opendmarc-1.4.2_2 Depends on : p5-HTTP-Message-6.46 libspf2-1.2.11_2 perl5-5.36.3_1 p5-Switch-2.17_1 p5-DBI-1.643 p5-DBD-mysql4-4.052 mariadb105-client-10.5.24 ---- Total access &counter(total);:本日 &counter(today);:昨日 &counter(yesterday); #counter([total|today|yesterday]);