Created attachment 258758 [details] Accept BDB version "185" instead of "18" There seems to be an issue with the detection of the BDB version that is compiled in the devel/apr1 libraries. On my 13.4-RELEASE-p3 system: # cd /usr/ports/devel/subversion && make showconfig ===> The following configuration options are available for subversion-1.14.5: BDB=on: Berkeley DB support DOCS=off: Build and/or install documentation GPG_AGENT=off: Enable GPG agent password store NLS=off: Native Language Support SASL=off: SASL authentication support SERF=off: WebDAV/Delta-V (HTTP/HTTPS) repo access module SVNSERVE_WRAPPER=on: Enable svnserve wrapper (umask setter) TEST=off: Run subversion test suite TOOLS=on: Install several tools ===> Use 'make config' to modify these settings The port does not build but rather says: You should build `devel/apr1' with Berkeley DB (4, 5, 6 or 18) support to use subversion with it. Please rebuild `devel/apr1' with option `BDB' and try again. Or you can disable Berkeley DB support. Only 'fs' repository backend will be available. Then I went to check devel/apr1: # cd /usr/ports/devel/apr1 && make showconfig ===> The following configuration options are available for apr-1.7.5.1.6.3_3: IPV6=off: IPv6 protocol support ====> Database support GDBM=off: GNU dbm library support LDAP=off: LDAP protocol support MYSQL=off: MySQL database support NDBM=off: NDBM support ODBC=off: ODBC database backend PGSQL=off: PostgreSQL database support SQLITE=off: SQLite database support ====> Berkeley DB provider: you can only select none or one of them BDB1=off: Berkeley DB 1.85 support (BSD 3-clause) BDB5=off: Berkeley DB v5 support (deprecated) BDB18=on: Berkeley DB 18.x support (AGPLv3) ====> Cryptography provider: you can only select none or one of them SSL=on: OpenSSL crypto driver NSS=off: NSS crypto driver ===> Use 'make config' to modify these settings The problem seems to be that the Makefile expects ${APR_APU_DIR}/${APU_CONFIG} --db-version to return "18", while in my case it returns "185". I patched devel/subversion's Makefile to accept "185" instead of "18" (see attachment) but then it fails at the install phase: # make install ===> Installing for subversion-1.14.5 ===> Checking if subversion is already installed ===> Registering installation for subversion-1.14.5 pkg-static: Unable to access file /usr/ports/devel/subversion/work/stage/usr/local/lib/libsvn_fs_base-1.a:No such file or directory pkg-static: Unable to access file /usr/ports/devel/subversion/work/stage/usr/local/lib/libsvn_fs_base-1.so:No such file or directory pkg-static: Unable to access file /usr/ports/devel/subversion/work/stage/usr/local/lib/libsvn_fs_base-1.so.0:No such file or directory pkg-static: Unable to access file /usr/ports/devel/subversion/work/stage/usr/local/lib/libsvn_fs_base-1.so.0.0.0:No such file or directory pkg-static: Unable to access file /usr/ports/devel/subversion/work/stage/usr/local/libdata/pkgconfig/libsvn_fs_base.pc:No such file or directory *** Error code 1 Stop. make[1]: stopped in /usr/ports/devel/subversion *** Error code 1 Stop. make: stopped in /usr/ports/devel/subversion I look forward to your help because I ran the "make deinstall" part and now I am stuck with no svn... Thank you in advance!
Maintainer informed via mail
Maintainer here...I didn't receive an email. Do you still have repos which use BDB as a backend? I will try to have a look, but this will take a bit of time.
Hello, thank you for asking! I just found out that no, I am not using BDB on my repositories... so I could build devel/subversion _without_ the BDB support and now all is going well on my system.
Note also that the BDB backend has been deprecated long time ago. FSFS is the gold standard for the past 10 years.
It gave it a spin, it is even worse than I have expected. The feature has been broken for years now more or less. Additionally to your patch there are many other shortcomings: * I do not know whether Subversion and APU can use two different BDB versions (I guess so) * --with-berkeley-db was never passed, but is imperative, without an arg to it, it will use the same version as APU * --enable-bdb6 was passed, but does not apply < 6. Will it be skipped silently? * "BDB_USES=bdb" should adjust for the same version as in APU which it doesn't, but in that case --with-berkeley-db=... is required * Subversion passed -ldb at configure time, but that is not available, rather libdb-18.so, needs analysis. Ideally, Subversion would use the same as APU. But in any case, this is quite some effort to fix something which has been deprecated/broken for years. I don't want to go through that effort unless someone gives me strong reasons to do so. I am inclined to mark that feature as BROKEN. WDYT?
Hello, to be honest, I have been unable to build subversion for some _months_ but I did not consider it urgent. Today I tried to get into this issue and see if I could finally solve it. This issue has been present at least since last December, when you last updated the port version. Thanks to your first question, today I discovered that I never ever needed that feature: my oldest SVN repository on my FreeBSD machine already used fsfs! So yes, IMHO we can just drop BDB support at all, also considering that: 1- the BDB backend has been deprecated long time ago (your words), 2- no one else has reported this problem in the last months. I suggest you could bump the port revision and add an entry in UPDATING so that everyone else is warned about this change. My patch must be discarded; I would remove it from this report if I could. I hope this helps.
FYI: https://subversion.apache.org/docs/release-notes/1.8.html#bdb-deprecated (first released – June 18, 2013). Almost 12 years ago. I will respond to the rest tomorrow. Meanwhile, please describe what is not working (building) for you it works flawlessly for me in poudriere.
FTR: https://lists.apache.org/thread/kn0yw4f8p6tn2tzq4obr5r5v609g6g1m
I tried to describe the problem in comment #1 But now I am convinced that this report is about a deprecated feature. I agree that BDB support from the devel/subversion port shall be removed or considered BROKEN... whatever you think it's best. Thank you!
(In reply to Arrigo Marchiori from comment #9) I will first add a simple band-aid and pkg-install warning that the feature will go away. Later I will remove, after 2025Q2 has been released.
For the sake of completeness: https://reviews.freebsd.org/D49406
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=055a1041eda4541cd680526da713ad16ac4bbf43 commit 055a1041eda4541cd680526da713ad16ac4bbf43 Author: Michael Osipov <michaelo@FreeBSD.org> AuthorDate: 2025-03-18 12:28:38 +0000 Commit: Michael Osipov <michaelo@FreeBSD.org> CommitDate: 2025-03-20 10:11:22 +0000 devel/subversion{,-lts}: Band-aid port option BDB and deprecate for removal * Limit BDB to supported versions (4+) by Subversion only * Pass mandatory configure option * Band-aid when enabled for some combinations with devel/apr1 and bdb in DEFAULT_VERSIONS * Deprecate it as it is deprecated upstream already for almost 12 years and about to be removed in 1.15 PR: 285495 Tested by: michaelo Approved by: jrm (mentor) Differential Revision: https://reviews.freebsd.org/D49406 devel/subversion-lts/Makefile | 6 +++--- devel/subversion-lts/Makefile.common | 4 ++-- devel/subversion-lts/files/pkg-message.in | 3 +++ devel/subversion/Makefile | 6 +++--- devel/subversion/Makefile.common | 4 ++-- devel/subversion/files/pkg-message.in | 3 +++ 6 files changed, 16 insertions(+), 10 deletions(-)