mail/bogofilter-bdb: Remove expired port.

We had to transfer and clean up a few bits from bogofilter-bdb
to bogofilter (the LMDB) based port, and I am also adding an UPDATING
entry.
This commit is contained in:
Matthias Andree
2025-06-30 15:50:48 +02:00
parent 44faa583bc
commit 507cbd8040
12 changed files with 114 additions and 124 deletions
+1
View File
@@ -4615,3 +4615,4 @@ devel/libmimedir||2025-06-30|Has expired: Last release in 2008, no consumers in
devel/py-openapi-codec|devel/py-openapi-core|2025-06-30|Has expired: Upstream archived the repository. Please use devel/py-openapi-core instead
devel/linenoise-ng||2025-06-30|Has expired: Upstream repo archived Oct 28, 2020
devel/libflatarray||2025-06-30|Has expired: Last activity from upstream 5 years ago and last release in 2016
devel/bogofilter-bdb||2025-06-30|Has expired: The Berkeley DB interface is obsolete. Read UPDATING and use one of the other devel/bogofilter* ports instead
+14
View File
@@ -5,6 +5,20 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
20250630:
AFFECTS: users of mail/bogofilter-bdb
AUTHOR: mandree@FreeBSD.org
The mail/bogofilter-bdb port has expired and will be removed.
1. BEFORE uninstallation or changing to a different mail/bogofilter*
variant, please use bogoutil to export all user data bases (wordlist.db)
to text files, bogoutil has a -d option for that.
2. ONLY THEN install a different variant. The base port (bogofilter)
uses LMDB, the -kc variant uses KyotoCabinet and -sqlite uses SQLite3
for their database backends.
3. THEN re-import the word list for each user with bogoutil -l.
20250629:
AFFECTS: users of japanese/anthy
AUTHOR: nobutaka@FreeBSD.org
-1
View File
@@ -29,7 +29,6 @@
SUBDIR += bincimap
SUBDIR += bmf
SUBDIR += bogofilter
SUBDIR += bogofilter-bdb
SUBDIR += bogofilter-kc
SUBDIR += bogofilter-sqlite
SUBDIR += bsd-vacation
-103
View File
@@ -1,103 +0,0 @@
PORTNAME= bogofilter
DISTVERSION= 1.3.0.rc1
PORTREVISION?= 0
CATEGORIES?= mail
MASTER_SITES= SF/bogofilter/bogofilter-current/bogofilter-1.3.0.beta/ \
https://gitlab.com/-/project/12408342/uploads/647db3bd2f28a1f91bdd3bb1945d91fe/
PKGNAMESUFFIX?= -bdb
MAINTAINER?= mandree@FreeBSD.org
COMMENT= Fast, teachable, learning spam detector
WWW= https://bogofilter.sourceforge.io/
LICENSE= GPLv2
.if !defined(MASTERDIR) || ${MASTERDIR} == ${.CURDIR}
# building master port
USES+= bdb:5+
DEPRECATED= The Berkeley DB database interface is obsolescent.
EXPIRATION_DATE=2025-06-30
IGNORE= This port has expired. Once its infrastructure will have moved out the base port (LMDB), it will be removed
.endif
OPTIONS_DEFINE= GSL UNICODE DOCS
OPTIONS_DEFAULT= GSL UNICODE
GSL_DESC= Link with system-wide GSL dynamically (recommended)
UNICODE_DESC= Normalize tokens to Unicode (UTF-8) (recommended)
CONFLICTS_INSTALL?= bogofilter-sqlite bogofilter bogofilter-kc
USES+= cpe perl5 shebangfix tar:xz
SHEBANG_FILES= contrib/randomtrain.sh contrib/scramble.sh \
src/tests/unsort.pl contrib/*.pl
USE_PERL5= run
GNU_CONFIGURE= yes
CPE_VENDOR= bogofilter_project
UNICODE_USES= iconv
UNICODE_CONFIGURE_ENABLE= unicode
GSL_LIB_DEPENDS= libgsl.so:math/gsl
GSL_CONFIGURE_OFF= --with-included-gsl
PORTDOCS= *
TEST_TARGET= check
.include <bsd.port.pre.mk>
BF_LIBS?= -l${BDB_LIB_NAME}
BF_CPPFLAGS?= -I${BDB_INCLUDE_DIR} -I${LOCALBASE}/include
CONFIGURE_ARGS+= --sysconfdir=${PREFIX}/etc
.if !defined(MASTERDIR) || ${MASTERDIR} == ${.CURDIR}
CONFIGURE_ARGS+= --with-database=db
.endif
.if ${PORT_OPTIONS:MUNICODE}
BF_LIBS+= ${ICONV_LIB}
.endif
CPPFLAGS+= ${BF_CPPFLAGS}
LIBS+= -L${LOCALBASE}/lib ${BF_LIBS}
CONFIGURE_ENV+= PERL="${PERL}"
INSTALL_TARGET= install-strip prefix=${PREFIX} mandir=${PREFIX}/share/man
post-patch:
${REINPLACE_CMD} -e 's/INTEGRITY_TESTS = t.lock1 t.lock3 t.valgrind/INTEGRITY_TESTS = t.lock1/' \
-e 's/ENVIRON_TESTS = t.abort/ENVIRON_TESTS =/' \
${WRKSRC}/src/tests/Makefile.in
post-build:
cd ${WRKSRC}/src && ${SETENVI} SHELL=${SH} ${MAKE_CMD} ${TEST_TARGET} ${_MAKE_JOBS} SHELL=${SH} \
|| { r=$$? ; head -n30000 ${WRKSRC}/src/tests/test-suite.log ; exit $$r ; }
post-install:
@${MKDIR} ${STAGEDIR}${DOCSDIR}/contrib
.for i in html programmer xml
@${MKDIR} ${STAGEDIR}${DOCSDIR}/${i}
.endfor
.for i in AUTHORS COPYING INSTALL NEWS README README.git \
doc/README.validation TODO GETTING.STARTED \
RELEASE.NOTES doc/README.db doc/README.sqlite \
doc/integrating-with-postfix doc/integrating-with-qmail \
doc/bogofilter-tuning.HOWTO.html doc/bogofilter-SA-* \
doc/bogofilter-faq.html doc/bogofilter-faq-fr.html
${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}
.endfor
.for i in README.randomtrain README.contrib
${INSTALL_DATA} ${WRKSRC}/contrib/${i} ${STAGEDIR}${DOCSDIR}/contrib/${i}
.endfor
${INSTALL_DATA} ${WRKSRC}/doc/*.html ${STAGEDIR}${DOCSDIR}/html
${INSTALL_DATA} ${WRKSRC}/doc/*.xml ${STAGEDIR}${DOCSDIR}/xml
${INSTALL_DATA} ${WRKSRC}/doc/programmer/README.freebsd ${STAGEDIR}${DOCSDIR}/programmer
${INSTALL_PROGRAM} ${WRKSRC}/bogogrep ${STAGEDIR}${PREFIX}/bin/
.for i in bfproxy.pl bogofilter-milter.pl bogo.R bogofilter-qfe.sh \
mime.get.rfc822.pl parmtest.sh printmaildir.pl \
bogominitrain.pl \
randomtrain.sh scramble.sh spamitarium.pl stripsearch.pl trainbogo.sh
${INSTALL_SCRIPT} ${WRKSRC}/contrib/${i} ${STAGEDIR}${DOCSDIR}/contrib/${i}
.endfor
.for i in dot-qmail-bogofilter-default \
mailfilter.example vm-bogofilter.el
${INSTALL_DATA} ${WRKSRC}/contrib/${i} ${STAGEDIR}${DOCSDIR}/contrib/${i}
.endfor
.include <bsd.port.post.mk>
+3 -2
View File
@@ -4,16 +4,17 @@ CATEGORIES= mail
PKGNAMESUFFIX= -kc
MAINTAINER= mandree@FreeBSD.org
COMMENT= Fast, teachable, learning spam detector (KyotoCabinet database)
LIB_DEPENDS= libkyotocabinet.so:databases/kyotocabinet
CONFLICTS_INSTALL= bogofilter bogofilter-lmdb bogofilter-sqlite
CONFLICTS_INSTALL= bogofilter bogofilter-bdb bogofilter-sqlite # bogofilter-bdb is historic, but let's keep this for a while
CONFIGURE_ARGS= --with-database=kyotocabinet
BF_CPPFLAGS= -I${LOCALBASE}/include
BF_LIBS=
DESCR= ${PKGDIR}/pkg-descr
MASTERDIR= ${.CURDIR}/../bogofilter-bdb
MASTERDIR= ${.CURDIR}/../bogofilter
.include "${MASTERDIR}/Makefile"
+3 -2
View File
@@ -4,15 +4,16 @@ CATEGORIES= mail
PKGNAMESUFFIX= -sqlite
MAINTAINER= mandree@FreeBSD.org
COMMENT?= Fast, teachable, learning spam detector (SQLite3 database)
USES= sqlite
CONFLICTS_INSTALL= bogofilter bogofilter-lmdb bogofilter-kc
CONFLICTS_INSTALL= bogofilter bogofilter-bdb bogofilter-kc # bogofilter-bdb is historic, but let's keep this for a while
CONFIGURE_ARGS= --with-database=sqlite
BF_CPPFLAGS= -I${LOCALBASE}/include
BF_LIBS=
DESCR= ${PKGDIR}/pkg-descr
MASTERDIR= ${.CURDIR}/../bogofilter-bdb
MASTERDIR= ${.CURDIR}/../bogofilter
.include "${MASTERDIR}/Makefile"
+89 -12
View File
@@ -1,19 +1,96 @@
PORTNAME= bogofilter
PORTREVISION= 0
CATEGORIES= mail
PKGNAMESUFFIX= # blank, to override bogofilter-bdb's
DISTVERSION= 1.3.0.rc1
PORTREVISION?= 0
CATEGORIES?= mail
MASTER_SITES= SF/bogofilter/bogofilter-current/bogofilter-1.3.0.beta/ \
https://gitlab.com/-/project/12408342/uploads/647db3bd2f28a1f91bdd3bb1945d91fe/
PKGNAMESUFFIX?= # blank by default, and ?= so slave ports can override
MAINTAINER= mandree@FreeBSD.org
MAINTAINER?= mandree@FreeBSD.org
COMMENT?= Fast, teachable, learning spam detector (LMDB database)
WWW= https://bogofilter.sourceforge.io/
LIB_DEPENDS= liblmdb.so:databases/lmdb
LICENSE= GPLv2
CONFLICTS_INSTALL= bogofilter-bdb bogofilter-kc bogofilter-sqlite
OPTIONS_DEFINE= GSL UNICODE DOCS
OPTIONS_DEFAULT= GSL UNICODE
GSL_DESC= Link with system-wide GSL dynamically (recommended)
UNICODE_DESC= Normalize tokens to Unicode (UTF-8) (recommended)
CONFIGURE_ARGS= --with-database=lmdb
BF_CPPFLAGS= -I${LOCALBASE}/include
BF_LIBS=
DESCR= ${PKGDIR}/pkg-descr
CONFLICTS_INSTALL?= bogofilter-bdb bogofilter-kc bogofilter-lmdb bogofilter-sqlite # bogofilter-bdb and -lmdb are historic, but let's keep them for a while
MASTERDIR= ${.CURDIR}/../bogofilter-bdb
USES+= cpe perl5 shebangfix tar:xz
SHEBANG_FILES= contrib/randomtrain.sh contrib/scramble.sh \
src/tests/unsort.pl contrib/*.pl
USE_PERL5= run
GNU_CONFIGURE= yes
.include "${MASTERDIR}/Makefile"
CPE_VENDOR= bogofilter_project
UNICODE_USES= iconv
UNICODE_CONFIGURE_ENABLE= unicode
GSL_LIB_DEPENDS= libgsl.so:math/gsl
GSL_CONFIGURE_OFF= --with-included-gsl
PORTDOCS= *
TEST_TARGET= check
.include <bsd.port.pre.mk>
BF_CPPFLAGS?= -I${LOCALBASE}/include
BF_LIBS?= # empty, can be passed in by slave ports
CONFIGURE_ARGS+= --sysconfdir=${PREFIX}/etc
.if !defined(MASTERDIR) || ${MASTERDIR} == ${.CURDIR}
CONFIGURE_ARGS+= --with-database=lmdb
LIB_DEPENDS= liblmdb.so:databases/lmdb
.endif
.if ${PORT_OPTIONS:MUNICODE}
BF_LIBS+= ${ICONV_LIB}
.endif
CPPFLAGS+= ${BF_CPPFLAGS}
LIBS+= -L${LOCALBASE}/lib ${BF_LIBS}
CONFIGURE_ENV+= PERL="${PERL}"
INSTALL_TARGET= install-strip prefix=${PREFIX} mandir=${PREFIX}/share/man
post-patch:
${REINPLACE_CMD} -e 's/INTEGRITY_TESTS = t.lock1 t.lock3 t.valgrind/INTEGRITY_TESTS = t.lock1/' \
-e 's/ENVIRON_TESTS = t.abort/ENVIRON_TESTS =/' \
${WRKSRC}/src/tests/Makefile.in
post-build:
cd ${WRKSRC}/src && ${SETENVI} SHELL=${SH} ${MAKE_CMD} ${TEST_TARGET} ${_MAKE_JOBS} SHELL=${SH} \
|| { r=$$? ; head -n30000 ${WRKSRC}/src/tests/test-suite.log ; exit $$r ; }
post-install:
@${MKDIR} ${STAGEDIR}${DOCSDIR}/contrib
.for i in html programmer xml
@${MKDIR} ${STAGEDIR}${DOCSDIR}/${i}
.endfor
.for i in AUTHORS COPYING INSTALL NEWS README README.git \
doc/README.validation TODO GETTING.STARTED \
RELEASE.NOTES doc/README.db doc/README.sqlite \
doc/integrating-with-postfix doc/integrating-with-qmail \
doc/bogofilter-tuning.HOWTO.html doc/bogofilter-SA-* \
doc/bogofilter-faq.html doc/bogofilter-faq-fr.html
${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}
.endfor
.for i in README.randomtrain README.contrib
${INSTALL_DATA} ${WRKSRC}/contrib/${i} ${STAGEDIR}${DOCSDIR}/contrib/${i}
.endfor
${INSTALL_DATA} ${WRKSRC}/doc/*.html ${STAGEDIR}${DOCSDIR}/html
${INSTALL_DATA} ${WRKSRC}/doc/*.xml ${STAGEDIR}${DOCSDIR}/xml
${INSTALL_DATA} ${WRKSRC}/doc/programmer/README.freebsd ${STAGEDIR}${DOCSDIR}/programmer
${INSTALL_PROGRAM} ${WRKSRC}/bogogrep ${STAGEDIR}${PREFIX}/bin/
.for i in bfproxy.pl bogofilter-milter.pl bogo.R bogofilter-qfe.sh \
mime.get.rfc822.pl parmtest.sh printmaildir.pl \
bogominitrain.pl \
randomtrain.sh scramble.sh spamitarium.pl stripsearch.pl trainbogo.sh
${INSTALL_SCRIPT} ${WRKSRC}/contrib/${i} ${STAGEDIR}${DOCSDIR}/contrib/${i}
.endfor
.for i in dot-qmail-bogofilter-default \
mailfilter.example vm-bogofilter.el
${INSTALL_DATA} ${WRKSRC}/contrib/${i} ${STAGEDIR}${DOCSDIR}/contrib/${i}
.endfor
.include <bsd.port.post.mk>
@@ -6,7 +6,7 @@ words, and returns a status code indicating whether or not the message is spam.
Bogofilter decodes base64 or quoted-printable encoded texts and ignores non-text
attachments and HTML comments.
The supported database backends are LMDB, Kyoto Cabinet and SQLite3, and
for a while still Berkeley DB. The upstream version would theoretically
also support QDBM and Tokyo Cabinet, but these are not currently available
as FreeBSD ports.
The supported database backends are LMDB, Kyoto Cabinet and SQLite3.
The upstream version would theoretically also support QDBM and
Tokyo Cabinet, but these are not currently available as FreeBSD ports.
Berkeley DB support is being phased out.