databases/mongodb70: add flavor for RPI-compatible version

The default flavor is the upstream supported version. For older
ARM CPUs we have an -armv80a flavor now. MongoDB is known to be used by
net-mgmt/unifi* users on this hardware. MongoDB 6.0 is planned to go out
of support in July 2025 [1], so this is preparation to make MongoDB 7.0
the default dependency for Unifi.

[1] https://www.mongodb.com/legal/support-policy/lifecycles
This commit is contained in:
Ronald Klop 2025-02-17 11:23:16 +01:00
parent c825940466
commit 5ceff01406
No known key found for this signature in database
GPG Key ID: 551E8E6207A42166
2 changed files with 24 additions and 0 deletions

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.
20250217:
AFFECTS: users of databases/mongodb70
AUTHOR: ronald@FreeBSD.org
MongoDB on non-LSE ARM CPUs like Raspberry Pi 4 works but is
unsupported upstream and can give corruption on high concurrency.
Please read https://jira.mongodb.org/browse/SERVER-71772 for details.
Port mongodb70 is flavored to create two packages:
mongodb70 and mongodb70-armv80a
Please install mongodb70-armv80a on RPI4 or similar ARM systems as pkg
mongodb70 will fail on runtime with unsupported instruction error.
20250208:
AFFECTS: users of net-mgmt/netbox
AUTHOR: kai@FreeBSD.org

View File

@ -38,6 +38,9 @@ LIB_DEPENDS= libcurl.so:ftp/curl \
libyaml-cpp.so:devel/yaml-cpp \
libzstd.so:archivers/zstd
FLAVORS= default armv80a
armv80a_PKGNAMESUFFIX= ${DISTVERSION:R:S/.//}-armv80a
USES= compiler:c++20-lang cpe python:build scons shebangfix ssl
# gmake is used while running ${WRKSRC}/src/third_party/mozjs/gen-config.sh
USES+= gmake pkgconfig
@ -90,6 +93,9 @@ GROUPS= mongodb
OPTIONS_DEFINE= LTO NOAVX SASL
OPTIONS_DEFINE_aarch64= ARMV80A
OPTIONS_DEFAULT= NOAVX SASL
.if ${FLAVOR:U} == armv80a
OPTIONS_SET+= ARMV80A
.endif
# MongoDB on non-LSE ARM cpu like Raspberry Pi can work but is unsupported upstream.
# Can give corruption on high concurrency.
@ -110,6 +116,10 @@ SASL_MAKE_ARGS= --use-sasl-client
.include <bsd.port.pre.mk>
.if ${FLAVOR:U} == armv80a && ${ARCH} != aarch64
IGNORE= flavor armv80a is only valid on aarch64
.endif
ALL_TARGET= install-core
# This ports is only following the Major Release.