Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Dec 2013 14:26:31 +0100
From:      Tijl Coosemans <tijl@FreeBSD.org>
To:        olli hauer <ohauer@gmx.de>
Cc:        Mathieu Arnold <mat@FreeBSD.org>, svn-ports-head@freebsd.org, svn-ports-all@freebsd.org, Matthias Andree <mandree@FreeBSD.org>, ports-committers@freebsd.org
Subject:   Re: svn commit: r332017 - head/devel/subversion17
Message-ID:  <20131209142631.43861210@kalimero.tijl.coosemans.org>
In-Reply-To: <52A4F213.7060303@gmx.de>
References:  <201310292201.r9TM15df056478@svn.freebsd.org> <EE1C4CE479CEC1E30C7895E9@ogg.in.absolight.net> <20131207150704.5ff18aae@kalimero.tijl.coosemans.org> <52A48BAF.8050607@FreeBSD.org> <52A4F213.7060303@gmx.de>

next in thread | previous in thread | raw e-mail | index | archive | help
--MP_/l/1bUptYdYcKFVyLFU_6bS0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

On Sun, 08 Dec 2013 23:26:27 +0100 olli hauer wrote:
> On 2013-12-08 16:09, Matthias Andree wrote:
>> Am 07.12.2013 15:07, schrieb Tijl Coosemans:
>>> On Mon, 02 Dec 2013 18:03:16 +0100 Mathieu Arnold wrote:
>>>> +--On 29 octobre 2013 22:01:05 +0000 Olli Hauer <ohauer@FreeBSD.org> wrote:
>>>> | -PKGNAMESUFFIX=	17
>>>> | +#7setting7PKGSUFFIX7not7possible7wo.7having7a7Mk/Uses7file7and7fixing7a7
>>>> | bunch7of7ports
>>>> | +#PKGNAMESUFFIX=	17
>>>>
>>>> I've grepped through the whole ports tree, and I couldn't find any port
>>>> that depends on subversion1[67] using their package name, as in
>>>> subversion<1.8:{$PORTS}..., they only depends on the svn binary being
>>>> there, so adding PKGNAMESUFFIX will not hurt any bit.
>>>>
>>>> If I'm wrong, please show me which ports have their dependencies that needs
>>>> fixing.
>>>
>>> The subversion-java slave port sets PKGNAMESUFFIX=-java, so setting
>>> PKGNAMESUFFIX=17 in the master makefile would override that.
>>>
>>> The other slave ports (perl,ruby,python) set PKGNAMEPREFIX so maybe
>>> the java port should do that too.
>> 
>> Is there any purpose in keeping old garbage around?
>> Such as new client not working with old server?
>> If not, let's just axe the older versions rather than fix package name
>> conflicts.
> 
> The subversion java port is fixed, I'm more concerned with ports using
> 
> - ..._DEPENDS= subversion>=$version
> - ..._DEPENDS= p5-subversion>=$version
> - ..._DEPENDS= ${PYTHON_PKGNAMEPREFIX}subversion>=0:
> 
> Having PKGNAMEPREFIX will prevent building this ports in case default
> subversion != devel/subversion even they work fine with subversion 1.6.
> 
> I'm going now over all ports depending on 'devel/subversion*' to check for
> false declaration e.g using 'subversion>=1.7.0:' where 1.6 is sufficient.
> 
> Long time ago I've written a SVN framework, but got no or negative feedback
> so I stopped the work. Hopefully I can find a bunch of time to start working
> again on it.
> 
> http://lists.freebsd.org/pipermail/freebsd-ports/2011-July/068561.html

You can set PKGNAMESUFFIX only on the master subversion ports.  For the
bindings there's only one package so there's no package name conflict.
This way *_DEPENDS=p5-subversion>=$version would continue to work.

For ports that depend on subversion itself maybe we can create USES=svn.
The attached patch is a first attempt at that.  It allows ports to
depend on subversion (build,run,build+run,fetch).  It also supports
DEFAULT_VERSIONS, so users can set "DEFAULT_VERSIONS= subversion=1.7"
in make.conf and then USES=svn will depend on devel/subversion17.

Ports that don't work with particular versions of subversion could use
something like:

.if ${SUBVERSION_DEFAULT} == 1.6
IGNORE=	Port requires subversion 1.7 or higher
.endif
--MP_/l/1bUptYdYcKFVyLFU_6bS0
Content-Type: text/x-patch
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=svn.mk.patch

Index: Mk/bsd.default-versions.mk
===================================================================
--- Mk/bsd.default-versions.mk	(revision 335965)
+++ Mk/bsd.default-versions.mk	(working copy)
@@ -12,16 +12,20 @@
 .if !defined(_INCLUDE_BSD_DEFAULT_VERSIONS_MK)
 _INCLUDE_BSD_DEFAULT_VERSIONS_MK=	yes
 
+# tell bmake we use the old :L :U modifiers
+.MAKE.FreeBSD_UL= yes
+
 .for lang in ${DEFAULT_VERSIONS}
 _l=		${lang:C/=.*//g}
 ${_l:U}_DEFAULT=	${lang:C/.*=//g}
 .endfor
 
 PERL5_DEFAULT?=		5.16
-RUBY_DEFAULT?=		1.9
-TCLTK_DEFAULT?=		8.6
 PYTHON_DEFAULT?=	2.7
 PYTHON2_DEFAULT?=	2.7
 PYTHON3_DEFAULT?=	3.3
+RUBY_DEFAULT?=		1.9
+SUBVERSION_DEFAULT?=	1.8
+TCLTK_DEFAULT?=		8.6
 
 .endif
Index: Mk/Uses/svn.mk
===================================================================
--- Mk/Uses/svn.mk	(revision 0)
+++ Mk/Uses/svn.mk	(working copy)
@@ -0,0 +1,39 @@
+# $FreeBSD$
+#
+# Subversion support
+#
+# MAINTAINER:	ports@FreeBSD.org
+#
+# Feature:	svn
+# Usage:	USES=svn
+# Valid ARGS:	build, run, both (default), fetch
+
+.if !defined(_INCLUDE_USES_SVN_MK)
+_INCLUDE_USES_SVN_MK=	yes
+
+.if !defined(svn_ARGS)
+svn_ARGS=	both
+.endif
+
+.include "${PORTSDIR}/Mk/bsd.default-versions.mk"
+
+.if ${SUBVERSION_DEFAULT} == 1.8
+_SVN_DEPENDS=	svn:${PORTSDIR}/devel/subversion
+.else
+_SVN_DEPENDS=	svn:${PORTSDIR}/devel/subversion${SUBVERSION_DEFAULT:S/.//}
+.endif
+
+.if ${svn_ARGS} == both
+BUILD_DEPENDS+=	${_SVN_DEPENDS}
+RUN_DEPENDS+=	${_SVN_DEPENDS}
+.elif ${svn_ARGS} == build
+BUILD_DEPENDS+=	${_SVN_DEPENDS}
+.elif ${svn_ARGS} == fetch
+FETCH_DEPENDS+=	${_SVN_DEPENDS}
+.elif ${svn_ARGS} == run
+RUN_DEPENDS+=	${_SVN_DEPENDS}
+.else
+IGNORE=		USES=svn: invalid arguments: ${svn_ARGS}
+.endif
+
+.endif

Property changes on: Mk/Uses/svn.mk
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Index: devel/p5-subversion/Makefile
===================================================================
--- devel/p5-subversion/Makefile	(revision 335965)
+++ devel/p5-subversion/Makefile	(working copy)
@@ -6,12 +6,12 @@ PKGNAMEPREFIX=	p5-
 MAINTAINER=	lev@FreeBSD.org
 COMMENT=	Perl bindings for Version control system
 
-.if defined(WITH_SUBVERSION_VER) && ${WITH_SUBVERSION_VER} == 16
-MASTERDIR=	${.CURDIR}/../../devel/subversion16
-.elif defined(WITH_SUBVERSION_VER) && ${WITH_SUBVERSION_VER} == 17
-MASTERDIR=	${.CURDIR}/../../devel/subversion17
-.else
+.include "${.CURDIR}/../../Mk/bsd.default-versions.mk"
+
+.if ${SUBVERSION_DEFAULT} == 1.8
 MASTERDIR=	${.CURDIR}/../../devel/subversion
+.else
+MASTERDIR=	${.CURDIR}/../../devel/subversion${SUBVERSION_DEFAULT:S/.//}
 .endif
 PKGDIR=		${.CURDIR}
 
Index: devel/py-subversion/Makefile
===================================================================
--- devel/py-subversion/Makefile	(revision 335965)
+++ devel/py-subversion/Makefile	(working copy)
@@ -6,12 +6,12 @@ PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 MAINTAINER=	lev@FreeBSD.org
 COMMENT=	Python bindings for version control system
 
-.if defined(WITH_SUBVERSION_VER) && ${WITH_SUBVERSION_VER} == 16
-MASTERDIR=	${.CURDIR}/../../devel/subversion16
-.elif defined(WITH_SUBVERSION_VER) && ${WITH_SUBVERSION_VER} == 17
-MASTERDIR=	${.CURDIR}/../../devel/subversion17
-.else
+.include "${.CURDIR}/../../Mk/bsd.default-versions.mk"
+
+.if ${SUBVERSION_DEFAULT} == 1.8
 MASTERDIR=	${.CURDIR}/../../devel/subversion
+.else
+MASTERDIR=	${.CURDIR}/../../devel/subversion${SUBVERSION_DEFAULT:S/.//}
 .endif
 PKGDIR=		${.CURDIR}
 
Index: devel/ruby-subversion/Makefile
===================================================================
--- devel/ruby-subversion/Makefile	(revision 335965)
+++ devel/ruby-subversion/Makefile	(working copy)
@@ -6,13 +6,12 @@ PKGNAMEPREFIX=	ruby-
 MAINTAINER=	lev@FreeBSD.org
 COMMENT=	Ruby bindings for version control system
 
-.if defined(WITH_SUBVERSION_VER) && ${WITH_SUBVERSION_VER} == 16
-MASTERDIR=	${.CURDIR}/../../devel/subversion16
-.elif defined(WITH_SUBVERSION_VER) && ${WITH_SUBVERSION_VER} == 17
-BROKEN=	does not build with subversion17
-MASTERDIR=	${.CURDIR}/../../devel/subversion17
-.else
+.include "${.CURDIR}/../../Mk/bsd.default-versions.mk"
+
+.if ${SUBVERSION_DEFAULT} == 1.8
 MASTERDIR=	${.CURDIR}/../../devel/subversion
+.else
+MASTERDIR=	${.CURDIR}/../../devel/subversion${SUBVERSION_DEFAULT:S/.//}
 .endif
 PKGDIR=		${.CURDIR}
 
Index: java/java-subversion/Makefile
===================================================================
--- java/java-subversion/Makefile	(revision 335965)
+++ java/java-subversion/Makefile	(working copy)
@@ -7,12 +7,12 @@ CATEGORIES=	java
 MAINTAINER=	lev@FreeBSD.org
 COMMENT=	Java bindings for Version control system
 
-.if defined(WITH_SUBVERSION_VER) && ${WITH_SUBVERSION_VER} == 16
-MASTERDIR=	${.CURDIR}/../../devel/subversion16
-.elif defined(WITH_SUBVERSION_VER) && ${WITH_SUBVERSION_VER} == 17
-MASTERDIR=	${.CURDIR}/../../devel/subversion17
-.else
+.include "${.CURDIR}/../../Mk/bsd.default-versions.mk"
+
+.if ${SUBVERSION_DEFAULT} == 1.8
 MASTERDIR=	${.CURDIR}/../../devel/subversion
+.else
+MASTERDIR=	${.CURDIR}/../../devel/subversion${SUBVERSION_DEFAULT:S/.//}
 .endif
 PKGDIR=		${.CURDIR}
 

--MP_/l/1bUptYdYcKFVyLFU_6bS0--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131209142631.43861210>