When the svnserve script is used, it must be modified to point to the repository directory with the --root= option. The port does not recognize that this script has been modified, deleting and rewriting every time the port is updated. Fix: Apply attached patch. (Thanks for assistance from nox@.) Patch attached with submission follows: How-To-Repeat: Install devel/subversion with the SVNSERVE_WRAPPER option enabled. Modify /usr/local/bin/svnserve. Reinstall the port, and the modified /usr/local/bin/svnserve is overwritten.
Responsible Changed From-To: freebsd-ports-bugs->lev Over to maintainer (via the GNATS Auto Assign Tool)
> When the svnserve script is used, it must be modified to point > to the repository directory with the --root= option. There is no need to code the svn root into the wrapper, the location can be specified in rc.conf via the 'svnserve_data=' param From rc.d/svnserve # svnserve_enable="YES" # # optional # svnserve_flags="-d --listen-port=3690 --listen-host 0.0.0.0" # svnserve_data="/usr/local/repositories" # svnserve_user="svn" # svnserve_group="svn" From my own rc.conf ( 40+ repos ) svnserve_flags="-d --listen-port=3690 --listen-host 0.0.0.0 --config-file=/repos/subversion/conf/svnserve.conf --log-file=/var/log/svn/svnserve.log" svnserve_data="/repos/subversion/svnroot" ...
On Mon, 28 Oct 2013, olli hauer wrote: >> When the svnserve script is used, it must be modified to point >> to the repository directory with the --root= option. > > > There is no need to code the svn root into the wrapper, the > location can be specified in rc.conf via the 'svnserve_data=' param > > From rc.d/svnserve > > # svnserve_enable="YES" > # # optional > # svnserve_flags="-d --listen-port=3690 --listen-host 0.0.0.0" > # svnserve_data="/usr/local/repositories" > # svnserve_user="svn" > # svnserve_group="svn" But this does not work if you want to use an svn+ssh checkout and svnserve (the binary) is not running. The /usr/local/bin/svnserve wrapper script is run directly. Is there another way to do that?
On 2013-10-28 23:46, Warren Block wrote: > On Mon, 28 Oct 2013, olli hauer wrote: > >>> When the svnserve script is used, it must be modified to point >>> to the repository directory with the --root= option. >> >> >> There is no need to code the svn root into the wrapper, the >> location can be specified in rc.conf via the 'svnserve_data=' param >> >> From rc.d/svnserve >> >> # svnserve_enable="YES" >> # # optional >> # svnserve_flags="-d --listen-port=3690 --listen-host 0.0.0.0" >> # svnserve_data="/usr/local/repositories" >> # svnserve_user="svn" >> # svnserve_group="svn" > > But this does not work if you want to use an svn+ssh checkout and svnserve (the binary) is not running. The /usr/local/bin/svnserve wrapper script is run directly. > > Is there another way to do that? > If svnserve is executed via the authorized_keys I see two ways # add the path to authorized_keys - command="/path/to/svnserve -t -r /virtual/root" TYPE KEY COMMENT # execute modified copy with paths in the script - command="/path/to/svnserve.repo1 ..." TYPE KEY COMMENT - command="/path/to/svnserve.repo2 ..." TYPE KEY COMMENT
Author: lev Date: Sat Feb 15 12:56:16 2014 New Revision: 344380 URL: http://svnweb.freebsd.org/changeset/ports/344380 QAT: https://qat.redports.org/buildarchive/r344380/ Log: (1) Make possible to build subversion with db6. (2) Fix and STAGEfy subversion-static. (3) Allow not to override/deinstall modified svnserve script if it is used. PR: ports/185005, ports/180121, ports/181340, ports/186446, ports/186764 Modified: head/devel/subversion-static/Makefile head/devel/subversion/Makefile head/devel/subversion/Makefile.common head/devel/subversion/pkg-plist Modified: head/devel/subversion-static/Makefile ============================================================================== --- head/devel/subversion-static/Makefile Sat Feb 15 12:50:46 2014 (r344379) +++ head/devel/subversion-static/Makefile Sat Feb 15 12:56:16 2014 (r344380) @@ -11,5 +11,13 @@ OPTIONS_SLAVE= FREEBSD_TEMPLATE P4_STYL MASTERDIR= ${.CURDIR}/../subversion PKGMESSAGE= ${.CURDIR}/pkg-message -NO_STAGE= yes +# Set these by hands, as options are undefined +PLIST_SUB+= TOOLS="@comment " \ + SVNSERVE_WRAPPER="@comment " \ + GNOME_KEYRING="@comment " \ + KDE_KWALLET="@comment " \ + BDB="@comment " \ + MOD_DAV_SVN="@comment " \ + NLS="@comment " + .include "${MASTERDIR}/Makefile" Modified: head/devel/subversion/Makefile ============================================================================== --- head/devel/subversion/Makefile Sat Feb 15 12:50:46 2014 (r344379) +++ head/devel/subversion/Makefile Sat Feb 15 12:56:16 2014 (r344380) @@ -62,8 +62,10 @@ EXTRA_PATCHES+= ${PATCHDIR}/extra-patch- .if ${PORT_OPTIONS:MSVNSERVE_WRAPPER} SUB_LIST+= SVNSERVE_BIN_EXT=".bin" +PLIST_SUB+= NO_SVNSERVE_WRAPPER="@comment " .else SUB_LIST+= SVNSERVE_BIN_EXT="" +PLIST_SUB+= NO_SVNSERVE_WRAPPER="" .endif .if ${PORT_OPTIONS:MMOD_DAV_SVN} @@ -87,6 +89,7 @@ USES+= gettext:build . endif . if ${PORT_OPTIONS:MBDB} BDB_BUILD_DEPENDS= yes +.else . endif OLD_LIB_DEPENDS:= ${LIB_DEPENDS:S!^!${LOCALBASE}/lib/!:C!(\.so|\.[0-9]+)?:!.a:!} BUILD_DEPENDS+= ${OLD_LIB_DEPENDS} @@ -96,6 +99,12 @@ PLIST_SUB+= DYNAMIC_ENABLED="@comment " PLIST_SUB+= DYNAMIC_ENABLED="" .endif +.if ${PORT_OPTIONS:MBDB} +CONFIGURE_ARGS+= --enable-bdb6 +.else +CONFIGURE_ARGS+= --without-berkeley-db +.endif + .if make(repository) WITH_REPOSITORY_CREATION= yes .endif @@ -193,12 +202,10 @@ post-install: ${MKREPOS_TARGET} .endif @${MKDIR} ${STAGEDIR}${DATADIR} (cd ${WRKSRC}/tools.examples && ${TAR} --exclude '*.in' -cf - * | ${TAR} -C ${STAGEDIR}${DATADIR} -xof - ) - @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} - .if ${PORT_OPTIONS:MSVNSERVE_WRAPPER} - @${INSTALL_SCRIPT} ${FILESDIR}/svnserve.wrapper ${STAGEDIR}${PREFIX}/bin/svnserve + @${INSTALL_SCRIPT} ${FILESDIR}/svnserve.wrapper ${STAGEDIR}${PREFIX}/bin/svnserve.sample .endif # =============================================================================== Modified: head/devel/subversion/Makefile.common ============================================================================== --- head/devel/subversion/Makefile.common Sat Feb 15 12:50:46 2014 (r344379) +++ head/devel/subversion/Makefile.common Sat Feb 15 12:56:16 2014 (r344380) @@ -3,7 +3,7 @@ PORTNAME= subversion PORTVERSION= 1.8.5 -PORTREVISION?= 1 +PORTREVISION?= 2 CATEGORIES+= devel MASTER_SITES= ${MASTER_SITE_APACHE} DIST_SUBDIR= subversion18 Modified: head/devel/subversion/pkg-plist ============================================================================== --- head/devel/subversion/pkg-plist Sat Feb 15 12:50:46 2014 (r344379) +++ head/devel/subversion/pkg-plist Sat Feb 15 12:56:16 2014 (r344380) @@ -13,8 +13,11 @@ bin/svnlook bin/svnmucc %%TOOLS%%bin/svnraisetreeconflict bin/svnrdump -bin/svnserve +%%NO_SVNSERVE_WRAPPER%%bin/svnserve +%%SVNSERVE_WRAPPER%%@unexec if cmp -s %D/bin/svnserve.sample %D/bin/svnserve; then rm -r %D/bin/svnserve; fi %%SVNSERVE_WRAPPER%%bin/svnserve.bin +%%SVNSERVE_WRAPPER%%bin/svnserve.sample +%%SVNSERVE_WRAPPER%%@exec if [ ! -f %D/bin/svnserve ] ; then cp -p %D/%F %B/bin/svnserve; fi bin/svnsync bin/svnversion include/subversion-1/mod_authz_svn.h _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Committed, thanks!