Apache Subversion is an enterprise-class centralized version control
system, providing reliable long-term storage of changes to files and
directories, remote access for working across networks, and the ability
to branch and tag changesets cheaply.
This port contains an LTS release.
===> The following configuration options are available for subversion-lts-1.14.5_8:
BDB=off: Berkeley DB support
DOCS=on: Build and/or install documentation
GPG_AGENT=on: Enable GPG agent credential cache
NLS=on: Native Language Support
SASL=off: SASL authentication support
SERF=on: WebDAV/Delta-V (HTTP/HTTPS) repo access module
SVNSERVE_WRAPPER=off: Enable svnserve wrapper (umask setter)
TOOLS=on: Install several tools
===> Use 'make config' to modify these settings
Affects: users of devel/subversion-lts and devel/subversion
Author: michaelo@FreeBSD.org
Reason:
The port option STATIC has been broken since 2022-01 because textproc/utf8proc
does not provide an archive with CMake. Therefore, it has been removed.
Reason:
devel/subversion-lts has been updated from 1.10.x to the latest LTS version,
1.14.x. Some changes between these releases may require attention from
administrators or users.
Refer to https://subversion.apache.org/docs/release-notes/1.14.html#compat-misc for details.
devel/subversion-lts: deprecate, use devel/subversion instead
Upstream no longer maintains a separate LTS release line, so this
port has no path forward other than tracking the same 1.14.x branch
indefinitely while devel/subversion moves ahead. Mark it DEPRECATED
and schedule removal via EXPIRATION_DATE.
The same deprecation also needs to apply to the WITH_SUBVERSION_VER=LTS
build of every slave port (devel/java-/py-/ruby-/p5-subversion,
security/subversion-gnome-keyring, www/mod_subversion): they never
touch devel/subversion-lts/Makefile directly, they go through
devel/subversion/Makefile.addons's own .elif LTS branch, which had no
warning of its own. Add a matching DEPRECATED/EXPIRATION_DATE pair
there too.
Bump PORTREVISION for subversion-lts and PORTREVISION_LTS for every
slave port.
Add a warning comment above both DEPRECATED lines flagging that
removal touches many unrelated ports and must be coordinated with the
maintainer first, not done as a routine EXPIRATION_DATE cleanup sweep.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
devel/{,java-}subversion{,-lts}: misc low-risk cleanups
- java-subversion: document the real cause of MAKE_JOBS_UNSAFE (build.conf's
Java-target add-deps only thread into the phony aggregate target, not the
javac -h compile rule, so -j can run javahl-types-java before
javahl-java's NativeResources.class exists).
- subversion{,-lts}: drop GPG_AGENT_BUILD_DEPENDS; --with-gpg-agent is a
pure configure-time #define with no build-time dependency on the gpg-agent
binary, only a runtime one (already covered by GPG_AGENT_RUN_DEPENDS).
- subversion{,-lts}: remove the dead .if ${PREFIX} != "/usr" guard around two
REINPLACE_CMD calls in post-patch; PREFIX defaults to LOCALBASE and is never
literally /usr in a standard ports build, so the guard was always true.
- mod_subversion: remove the dead PLIST_SUB+= SED=${SED} token;
pkg-plist has no %%SED%% reference.
Bump PORTREVISION for subversion and subversion-lts.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
devel/subversion{,-lts}: install real bash completion instead of dead DATADIR
copy
Install tools/client-side/bash_completion to
share/bash-completion/completions/svn, the real path
shells/bash-completion's framework scans, and symlink the other five
commands it defines completions for (svnadmin, svndumpfilter, svnlook,
svnsync, svnversion) to it. No dependency on shells/bash-completion is
added; an admin who wants completion installs that port themselves.
Bump PORTREVISION for both ports since this adds new plist content.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
devel/subversion{,-lts}: fix GNOME Keyring post-configure to target
SVN_HAVE_LIBSECRET
security/subversion-gnome-keyring provides the library for
--with-gnome-keyring (SVN_HAVE_LIBSECRET), not the legacy
--with-old-gnome-keyring (SVN_HAVE_GNOME_KEYRING). The REINPLACE_CMD in
post-configure was patching the wrong macro (SVN_HAVE_GNOME_KEYRING /
SVN_HAVE_KWALLET), which had no effect on what the installed keyring
support package actually needs enabled.
Bump PORTREVISION for both ports since this changes build behavior.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
devel/subversion{,-lts}: replace the TEST option with the native test target
Drop OPTIONS_DEFINE=TEST and the custom test: build / -@make check -C
${WRKSRC} target; declare TEST_DEPENDS unconditionally and set
TEST_TARGET=check instead, run via the framework's native make test.
devel/subversion{,-lts}: regenerate build-outputs.mk live instead of a frozen
snapshot
Replace the hand-maintained files/build-outputs.mk.addons snapshot
(copied into WRKSRC verbatim at pre-patch time) with a live
gen-make.py --release run in post-patch, after build.conf has already
been patched. The frozen snapshot is dated 2015 and drifts from
upstream's actual build.conf on every new release; regenerating it
live means build.conf is the single source of truth for what gets
built and installed.
devel/{,java-,ruby-}subversion{,-lts}: drop compiler-specific flags
Remove every compiler-conditional/workaround flag from this port
family, relying on stock Clang/libc++ behavior instead:
- devel/subversion, devel/subversion-lts: drop the amd64-only
CFLAGS+=-fpic -DPIC block and USES=compiler. Add files/patch-configure:
configure's "additional flags to link C++ libraries" check only
special-cases *freebsd10* as needing no extra -lstdc++; every later
FreeBSD release falls through to the default case and gets -lstdc++
added, which fails to link since FreeBSD has shipped Clang/libc++
(no libstdc++.so) since 10.0. Broaden the match to *freebsd*.
- devel/java-subversion: drop the post-configure block that blanked
out LT_CXX_LIBADD by hand when COMPILER_TYPE == clang, superseded
by the configure-level fix above; drop the now-unused
USES=compiler. Also drop JAVA_OS=native, matching www/tomcat-native
(another native-JNI port with --with-java-home=${JAVA_HOME}), which
carries no such restriction either.
- devel/ruby-subversion: drop CFLAGS+=-fdeclspec and the
-Wno-error=int-conversion/-Wno-error=incompatible-function-pointer-types
workaround -- warnings that no longer occur with the current
toolchain.
Bump PORTREVISION/PORTREVISION_LATEST/PORTREVISION_LTS for every
touched port.
devel/subversion{,-lts}: make apr_memcache opt-out explicit
configure otherwise silently autodetects a standalone apr_memcache installation
on the build host for fs_fs caching (server-side only FSFS repository caching);
this was never actually supported. Pass --without-apr_memcache explicitly
instead of leaving it to autodetection.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
devel/{,py-,ruby-,p5-}subversion{,-lts}: rewrite stale COMMENT/pkg-descr, drop
inconsistent @ prefixing
* Replace the circa-2000 cvs(1)-comparison COMMENT/pkg-descr with a description
of what Subversion actually is.
* Change GPG_AGENT_DESC's "password store" to "credential cache", matching
Subversion's own --help wording.
* Drop inconsistent @ prefixing on command lines in devel/subversion's Makefile
and Makefile.common.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
devel/py-subversion: split test target, with fix tests in python >= 3.14
To fix both of latest and LTS, add a patch to fix the tests
both in devel/subversion and devel/subversion-lts.
PR: 294183
MFH: 2026Q3
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}: remove port option STATIC
Since the switch to CMake for textproc/utf8proc
(207abfe1369d1ef1d89fae73b1091b37b9060ef7) the static library is not being built
anymore. This means that the static build of Subversion has been broken since
2022-01. For the past two years only one has complained (PR 279430) and
the maintainer of textproc/utf8proc (PR 280429) cannot easily provide an archive
with CMake anymore. Therefore, removing the STATIC port option for good.
PR: 279430
Approved by: jrm (mentor)
Differential Revision: https://reviews.freebsd.org/D46096
*/*: take ownership of lev@'s Subversion ports
As agreed with lev@, I am taking ownership of these ports.
Approved by: jrm (mentor), lev
Differential Revision: https://reviews.freebsd.org/D44862
*/*: Properly depend on Subversion LTS or latest with WITH_SUBVERSION_VER
When LTS version of Subversion is set in make.conf (WITH_SUBVERSION_VER)
depending ports will still depend on latest version (devel/subversion)
instead of LTS one (devel/subversion-lts). This will cause dependency
conflicts when packages are distributed with Poudriere, namely pkg(8)
will report them and fail to install.
Make all affected ports properly depend on the right port based on the
value set in WITH_SUBVERSION_VER.
Approved by: jrm (mentor), otis (mentor), lev (maintainer timeout)
Differential Revision: https://reviews.freebsd.org/D43864
devel/subversion: retire commit message FreeBSD template
With all FreeBSD repos converted to Git there is no need for the custom
svn template option.
Reviewed by: lev
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D38640
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
devel/subversion-lts: Turn off FREEBSD_TEMPLATE by default.
As now subversion is not used for FreeBSD development, have this option
turned on by default has little sense.
PR: 258627
devel/subversion-lts: Make all binaries stripping explicit.
Running ${STRIP_CMD} on non-binary file can left zero-length
temporary file.
Strip all binaries explicitly, with list of them and loop, instead
of calling ${STRIP_CMD} with '*'.
devel/subversion-lts: Update to latest 1.10.x version which fix two CVEs
Update devel/subversion-lts to latest 1.10.8 version.
This update fixes two CVEs
Security: CVE-2021-28544
Security: CVE-2022-24070
Fix CONFLICTS entries of multiple ports
There have been lots of missing CONFLICTS_INSTALL entries, either
because conflicting ports were added without updating existing ports,
due to name changes of generated packages, due to mis-understanding
the format and semantics of the conflicts entries, or just due to
typoes in package names.
This patch is the result of a comparison of all files contained in
the official packages with each other. This comparison was based on
packages built with default options and may therefore have missed
further conflicts with optionally installed files.
Where possible, version numbers in conflicts entries have been
generalized, some times taking advantage of the fact that a port
(Only the first 15 lines of the commit message are shown above )
Remove most expired ports that depend on Python 2.7:
Exceptions are:
- mail/mailman, our listservers still use it
- www/chromium, solely because of popular demand,
upstream is (slowly) working on porting it to Python 3
- ports that have actual patches for Python 3 against
them (Cinnamon and a few unrelated other ports)
- llvm70 and qt5-webengine because they seem to have a lot
of dependencies which need further analysis
- sysutils/uefi-edk2-bhyve because bhyve seems to use them
- python2 and python27 themselves
I'm sure there will be complaints, but the nice thing about
a version control system is that we can revert and adjust things.
(Only the first 15 lines of the commit message are shown above )
Ports MUST NOT set WITH_DEBUG.
WITH_DEBUG is a user facing variable. When a user wants to build a port
with debugging symbols enabled, they either set WITH_DEBUG globally, or
WITH_DEBUG_PORTS+=category/port.
Approved by: bapt
With hat: portmgr
Differential Revision: https://reviews.freebsd.org/D23940