Re: FreeBSD で db5 -> db18 する

From: 内藤祐一郎 <naito.yuichiro_at_gmail.com>
Date: Tue, 01 Nov 2022 01:49:17 UTC
内藤です。

ざっくり見てみた感想ですけれども、

https://cgit.freebsd.org/ports/tree/Mk/Uses/bdb.mk#n66

に

#                                                                            
#   Since 2020-12-02, this name is not fitting too much but                  
#   retained for now for compatibility. The name of this variable            
#   is subject to change especially once db6 were removed.                   
.  if defined(WITH_BDB6_PERMITTED) || ${_bdb_ARGS} == 18
_DB_DEFAULTS+=  18
.  endif

とありますので、現状は WITH_BDB6_PERMITTED を定義しないと
bdb18 は使ってくれないことになります。

ので、竹内さんの設定は今のところ正しいと思います。

ただ、既に bdb5 が EoL となったことから、もう少し使いやすい、
または分かりやすい指定ができるように改善すると思いますので、
将来的には変わると思います。

今のところは WITH_BDB6PERMITTED が必要と思っておくと
良いのではないかと思います。


> 2022/10/30 15:24、Yoshito Takeuchi <kinchan@kinchan.com>のメール:
> 
> お世話になります、竹内です。
> 
> FreeBSD の daily security run output に
> ```
> Checking for packages with security vulnerabilities:
> Database fetched: Sun Oct 30 03:18:04 JST 2022
> db5-5.3.28_8: Tag: expiration_date Value: 2022-06-30
> db5-5.3.28_8: Tag: deprecated Value: EOLd, potential security issues,
> maybe use db18 instead
> ```
> と警告が出ていたのですが、その内 ports/UPDATING にアップデート方法が載るだろうとほったらかしにしていました。本日
> UPDATING を見ても特に記載がないので db18 への移行方法を調べました。
> db5 の依存関係は私の環境では
> ```
> ruby30-bdb
> cyrus-sasl2
> ```
> が依存している事が分かりました。
> で、/etc/make.conf に
> ```
> DEFAULT_VERSIONS+= bdb=18
> ```
> と記述して、試しに
> ```
> cd /usr/ports/security/cyrus-sasl2
> make deinstall reinstall clean
> ```
> したのですが db18 依存になってくれません。
> [適当にググったら](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261523)
> ```
> DEFAULT_VERSIONS+= bdb=18
> WITH_BDB6_PERMITTED=yes
> ```
> との情報があったので試すと db18 依存になってくれました。
> 両方を再 make した後
> ```
> pkg delete db5
> ```
> すると db5 だけ削除できました。
> これで良いのでしょうか?
> アドバイスを頂けると幸いです。



-- 
内藤 祐一郎
naito.yuichiro@gmail.com