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.
===> The following configuration options are available for subversion-1.15.0_2:
DOCS=on: Build and/or install documentation
GPG_AGENT=on: Enable GPG agent credential cache
HOOKS=off: Install server-side hook script examples
NLS=on: Native Language Support
SASL=off: SASL authentication support
SERF=on: WebDAV/Delta-V (HTTP/HTTPS) repo access module
SVNSERVE_WRAPPER=on: Enable svnserve wrapper (umask setter)
TOOLS=off: Install several tools
===> Use 'make config' to modify these settings
Reason:
The port has been updated to 1.15.0 and received a full rework of
both the master and slave ports, not just a version bump. A lot of
content that used to ship has been thrown out: the TOOLS option now
only gates a handful of genuinely niche binaries (svnauthz,
svnauthz-validate, and svnbench moved into the core package); the
svnmover, fsfs-access-map, and x509-parser tools are no longer
built or installed at all; fsfs-stats is renamed to svnfsfs-stats;
and the example-scripts DATADIR no longer ships upstream's
contributor/CI/release tooling (dist/, buildbot/, po/, dev/,
examples/, client-side/, server-side/, backup/) -- only xslt/ is
still installed unconditionally, with hook-scripts/ moved behind a
new HOOKS option. Repository creation (the old WITH_REPOSITORY_CREATION
knob) has also been dropped entirely; that is now solely the admin's
job, not the port's.
Separately, the svnserve user and group are now managed through the
ports framework (USERS=/GROUPS=, registered in the tree's UIDs/GIDs
files) instead of the port's own pw useradd/groupadd logic. The
standard home directory for the svn account is now /var/db/svn,
matching svnserve's own rc.d default. If you already have a
manually-created svn user/group from a previous install with a
different home directory (e.g. /home/svn), either migrate your data
to /var/db/svn or edit the svn user's home directory accordingly;
the port will not do this for you.
Reason:
The BDB option has been removed. Berkeley DB support in Subversion has
been deprecated upstream for over a decade; the port now always builds
with --without-berkeley-db --disable-bdb6. If you were using the BDB
filesystem backend, you must migrate your repositories to FSFS before
upgrading:
# svnadmin dump /path/to/repo > repo.dump
# svnadmin create --fs-type fsfs /path/to/new-repo
# svnadmin load /path/to/new-repo < repo.dump
2024-08-15
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.
devel/subversion: stop duplicating BINS_TO_STRIP for SVNSERVE_WRAPPER
Both branches of the .if PORT_OPTIONS:MSVNSERVE_WRAPPER block listed
the exact same 11 binaries, differing only in whether svnserve carried
a .bin suffix. Compute SVNSERVE_EXT once and reuse it both in SUB_LIST
(for svnserve.in's procname substitution) and inline in
BINS_TO_STRIP, instead of maintaining two full copies of the list.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
devel/subversion: fix svnserve rc.d status/stop when SVNSERVE_WRAPPER is on
When SVNSERVE_WRAPPER is enabled (now the default), bin/svnserve is
the umask-setting wrapper, which execs straight into bin/svnserve.bin
-- same PID, but the running process image is svnserve.bin, not
svnserve. rc.subr's run_rc_command built-ins (status, stop, restart,
poll) match running processes against procname, defaulting to
command's basename when procname is unset; since command is still the
wrapper path, every one of those built-ins fails to find the actually
running daemon ("svnserve is not running" even while it is).
Set procname explicitly to the real binary path, swapping in .bin via
a new SUB_LIST token when the wrapper is active, same pattern already
used for BINS_TO_STRIP.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Reported by: vvd
devel/subversion: update to 1.15.0, full rework of master and slave ports
devel/subversion:
- Bump to 1.15.0 (DISTVERSION).
- Replace the opt-in WITH_REPOSITORY_CREATION pw useradd/groupadd
logic with framework USERS=/GROUPS=, mirroring devel/git's
git_daemon pattern; register the svn account in UIDs/GIDs with
HOME=/var/db/svn to match svnserve's own rc.d default. Repository
creation itself is dropped as out of scope for a port to manage.
Documented in UPDATING, since it affects existing installs with a
manually-created svn account.
- TOOLS now only gates genuinely niche binaries; drop it from
OPTIONS_DEFAULT, add SVNSERVE_WRAPPER instead. svnauthz/
svnauthz-validate/svnbench move into core via a patch-build.conf
hunk, matching Debian. svnmover, fsfs-access-map, and x509-parser
(Only the first 15 lines of the commit message are shown above )
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/subversion: remove the BDB option
Berkeley DB support has been deprecated upstream for over a decade and
is slated for removal in a future Subversion release. Pass
--without-berkeley-db --disable-bdb6 explicitly instead of gating it
behind an opt-in option: configure otherwise autodetects and links
against whatever BDB happens to be present on the build host, with no
corresponding LIB_DEPENDS/pkg-plist entries to track it.
Drop the pre-configure apu-config BDB-version probe (moot once BDB is
never enabled), the %%BDB%% pkg-plist entries for libsvn_fs_base and
its pkgconfig file, and the DATADIR/bdb/*.py BDB-only scripts (excluded
at extraction time via EXTRACT_AFTER_ARGS, same as the tools/ tree's
other dead-weight subtrees).
Remove files/pkg-message.in: unreferenced by any SUB_FILES/PKGMESSAGE,
and its content described the now-moot BDB deprecation warning.
devel/subversion-lts is intentionally untouched and keeps BDB support
as-is.
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/Makefile.addons: Add missing .include
Users who incorrectly set WITH_SUBVERSION_VER to something other than
latest or LTS encounter errors.
make -C/usr/ports/devel/py-subversion -VPORTNAME
make: "/usr/ports/Mk/bsd.port.mk" line 1829: Malformed conditional (${ARCH} ==
"amd64")
in /usr/share/mk/bsd.port.mk:27
in /usr/share/mk/bsd.port.post.mk:4
in /usr/ports/devel/py-subversion/Makefile:34
...
Resolve these errors by adding a missing .include directive.
PR: 281750
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46807
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
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>
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: 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: 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: Update to latest version 1.14.2, fix two CVEs
Update subversion to 1.14.2. This fix two CVEs.
Also, allows build with database/db18.
PR: 262672
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 )
Update subversion to new version 1.14.0.
1.14.0 is LTS, but `devel/subversion-lts' is still 1.10.x, because it
allows to build `devel/py-subversion' with Python 2.7.
`devel/py-subversion' will be built with Python 3.5+ for version 1.14.0.
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
devel/subversion: Enable the GPG_AGENT option by default
gpg-agent is one of the easiest ways of storing credentials in Subversion.
Let's enable support for it by default to make life easier for Subversion
users, who do not want to depend on gnome-keyring or kwallet for password
storing.
PR: 244280
Approved by: lev (maintainer)
Differential Revision: https://reviews.freebsd.org/D23849
Mk/bsd.sanity.mk: Flag non-integer PORTREVISION/PORTEPOCH
Currently they are not checked and something like PORTREVISION=foo
or just PORTREVISION= is accepted. Some ports use indirection via
custom variables for them so it is worthwhile to check that they
are set to sane values.
While here fix ports that currently have non-integer PORTREVISION
or PORTEPOCH.
Approved by: portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D21225
Add patch from upstream commit r1839662, which fixes automatic conflict
resolution for files removed from the merge target when the merge source
and merge target have no proper common ancestor. This is a depressingly
common scenario in the FreeBSD base tree.
Approved by: maintainer (lev)
Obtained from: https://svn.apache.org/r1839662
Fix a common grammar error: "can not" means the opposite of "cannot."
"Can not" means "it is possible not to," and "cannot" means "it is impossible
to."
(1) Remove devel/subversion18
(2) Intoroduce devel/subversion19 from latest pre-1.10 devel/subversion
(3) Rework all addons to unify versioning code.
FLAVORS is not used because it will conflict with Python FLAVORS
(4) Restore mod_dontdothat for www/mod_dav_svn
devel/apr1: Fix runtime issues of dependent port
- iconv is in base in all supported FreeBSD versions
- Fix build with MariaDB 10.2 [2]
- Bump portrevision in dependencies
PR: 226705 [1], 226026 [2]
With hat: apache
Approved by: joneum (apache)
devel/subversion: chase r359585
libsqlite3.la is no longer installed, so check for an ICU function
likely to be used.
PR: 214552
Reported by: antoine (via exp-run in bug 214384)
Approved by: portmgr blanket
Change header installation location for kdelibs4-based ports.
Install x11/kdelibs4's headers into include/kde4 instead of include (which
consequently causes several other ports to have their installation paths
changed too).
The idea behind this is to reduce path conflicts between KDE4 ports and the
upcoming KDE Frameworks 5 ports that will be installed into include/KF5. If
we continue installing the KDE4 headers into include/, we can end up in a
situation like this:
c++ [...] -I/usr/local/include -I/usr/local/include/KF5 file.cpp
If the KDE4 and KF5 versions of a port have the same headers, the KDE4 port
will unintentionally be picked up first and the build will fail.
(Only the first 15 lines of the commit message are shown above )
- update to 1.9.3
- do not fail STRIP with script files (wildcard STRIP)
Version 1.9.3
(15 Dec 2015, from /branches/1.9.x)
http://svn.apache.org/repos/asf/subversion/tags/1.9.3
User-visible changes:
- Client-side bugfixes:
* svn: fix possible crash in auth credentials cache (r1705328)
* cleanup: avoid unneeded memory growth during pristine cleanup (r1706241)
* diff: fix crash when repository is on server root (r1705060 et al)
* fix translations for commit notifications (r1709389, r1709562)
* ra_serf: fix crash in multistatus parser (r1706323, r1706324)
* svn: report lock/unlock errors as failures (r1701598 et al)
(Only the first 15 lines of the commit message are shown above )
(1) Place pkgconfig files to proper directory (libdata)
(2) Strip binaries and libraries if MAINTAINER_DEBUG is not set
(3) Set WITH_DEBUG if MAINTAINER_DEBUG option is selected
PR: 204496
Submitted by: Dmitry Marakasov <amdmi3@FreeBSD.org>
Remove UNIQUENAME and LATEST_LINK.
UNIQUENAME was never unique, it was only used by USE_LDCONFIG and now,
we won't have conflicts there.
Use PKGBASE instead of LATEST_LINK in PKGLATESTFILE, the *only* consumer
is pkg-devel, and it works just fine without LATEST_LINK as pkg-devel
has the correct PKGNAME anyway.
Now that UNIQUENAME is gone, OPTIONSFILE is too. (it's been called
OPTIONS_FILE now.)
Reviewed by: antoine, bapt
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D3336
Move the phabricator line to the end, it seems it only works there.
With hat: phabric-admin@
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D2943
Number of commits found: 366 (showing only 100 on this page)