pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

mk/*-package.mk: test packages needing multiple repositories



Module Name:	pkgsrc-wip
Committed By:	Roland Illig <rillig%NetBSD.org@localhost>
Pushed By:	rillig
Date:		Sat Mar 3 15:58:52 2018 +0000
Changeset:	78260257bd8b868fa9197292f528663033a83e61

Modified Files:
	mk-scm-tests/Makefile
	mk-scm-tests/files/test
	mk/cvs-package.mk
	mk/fossil-package.mk
	mk/git-package.mk
	mk/hg-package.mk
	mk/svn-package.mk
	pilemc-svn/Makefile

Log Message:
mk/*-package.mk: test packages needing multiple repositories

A package can fetch from multiple repositories at the same time. It is
even possible to mix different SCM systems.

While testing this, it became clear that the word MODULE in the variable
names only applies to CVS. In all other SCMs, it was a copy-and-paste
mistake. It has therefore been changed to EXTRACTDIR, since that
describes the intention much better. For Git, the old GIT_MODULE will
continue to work for a short time, the other SCMs don't need this
backwards compatibility since only a single package used that feature.

The file name for the cached archive has been changed to include the
repository ID. This was necessary to support multiple checkouts of the
same repository.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=78260257bd8b868fa9197292f528663033a83e61

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 mk-scm-tests/Makefile   | 30 +++++++++++++++++++----
 mk-scm-tests/files/test | 12 ++++++----
 mk/cvs-package.mk       | 29 +++++++++++++++-------
 mk/fossil-package.mk    | 32 ++++++++++++-------------
 mk/git-package.mk       | 64 ++++++++++++++++++++++++-------------------------
 mk/hg-package.mk        |  2 +-
 mk/svn-package.mk       | 41 +++++++++++++++++--------------
 pilemc-svn/Makefile     | 11 ++++-----
 8 files changed, 130 insertions(+), 91 deletions(-)

diffs:
diff --git a/mk-scm-tests/Makefile b/mk-scm-tests/Makefile
index 1076a8cf48..4e97d9e203 100644
--- a/mk-scm-tests/Makefile
+++ b/mk-scm-tests/Makefile
@@ -28,27 +28,49 @@ do-install:
 .include "../../mk/bsd.prefs.mk"
 
 .if ${SCM_UNDER_TEST} == cvs
-CVS_ROOT=	${.CURDIR}/tmp/repo
+CVS_ROOT=		${.CURDIR}/tmp/repo
+CVS_REPOSITORIES=	2017 current
+CVS_ROOT.2017=		${CVS_ROOT}
+CVS_MODULE.2017=	${CVS_MODULE}
+CVS_TAG.2017=		v2017
+CVS_ROOT.current=	${CVS_ROOT}
+CVS_MODULE.current=	${CVS_MODULE}
 .include "../../wip/mk/cvs-package.mk"
 .endif
 
 .if ${SCM_UNDER_TEST} == fossil
-FOSSIL_REPO=	${.CURDIR}/tmp/repo/pkgbase/pkgbase.fossil
+FOSSIL_REPO=		${.CURDIR}/tmp/repo/pkgbase/pkgbase.fossil
+FOSSIL_REPOSITORIES=	2017 current
+FOSSIL_REPO.2017=	${FOSSIL_REPO}
+FOSSIL_VERSION.2017=	v2017
+FOSSIL_REPO.current=	${FOSSIL_REPO}
 .include "../../wip/mk/fossil-package.mk"
 .endif
 
 .if ${SCM_UNDER_TEST} == git
-GIT_REPO=	${.CURDIR}/tmp/repo/pkgbase
+GIT_REPO=		${.CURDIR}/tmp/repo/pkgbase
+GIT_REPOSITORIES=	2017 current
+GIT_REPO.2017=		${GIT_REPO}
+GIT_TAG.2017=		v2017
+GIT_REPO.current=	${GIT_REPO}
 .include "../../wip/mk/git-package.mk"
 .endif
 
 .if ${SCM_UNDER_TEST} == hg
 HG_REPO=	${.CURDIR}/tmp/repo/pkgbase
+HG_REPOSITORIES=	2017 current
+HG_REPO.2017=		${HG_REPO}
+HG_TAG.2017=		v2017
+HG_REPO.current=	${HG_REPO}
 .include "../../wip/mk/hg-package.mk"
 .endif
 
 .if ${SCM_UNDER_TEST} == svn
-SVN_REPO=	file://${.CURDIR}/tmp/repo/pkgbase/trunk
+SVN_REPO=		file://${.CURDIR}/tmp/repo/pkgbase/trunk
+SVN_REPOSITORIES=	2017 current
+SVN_REPO.2017=		${SVN_REPO}
+SVN_REVISION.2017=	1
+SVN_REPO.current=	${SVN_REPO}
 .include "../../wip/mk/svn-package.mk"
 .endif
 
diff --git a/mk-scm-tests/files/test b/mk-scm-tests/files/test
index 6d6a5f02cd..d58509a3b6 100644
--- a/mk-scm-tests/files/test
+++ b/mk-scm-tests/files/test
@@ -206,11 +206,19 @@ test_scm() { # usage: test_scm scm-name
 	setup_${1}_repository
 	wrkdir=`pkgsrc_make show-var VARNAME=WRKDIR`
 
+	step "Dumping API variables for $scm_display_name (for manual inspection)"
+	SCM_UNDER_TEST="$1" pkgsrc_make clean
+	SCM_UNDER_TEST="$1" pkgsrc_make "show-all-$1"
+	:
+	: "needs to be inspected manually"
+
 	step "Testing $scm_display_name"
 	SCM_UNDER_TEST="$1" pkgsrc_make clean
 	SCM_UNDER_TEST="$1" pkgsrc_make patch
 	:
 	assert_that --file "$wrkdir/pkgbase/today" --has-content "2018-03-01"
+	assert_that --file "$wrkdir/2017/today"    --has-content "2017-01-01"
+	assert_that --file "$wrkdir/current/today" --has-content "2018-03-01"
 
 	step "Testing $scm_display_name with CHECKOUT_DATE"
 	SCM_UNDER_TEST="$1" pkgsrc_make clean
@@ -225,11 +233,7 @@ test_scm() { # usage: test_scm scm-name
 	:
 	assert_that --file "$wrkdir/pkgbase/today" --has-content "2017-01-01"
 
-	step "Dumping API variables for $scm_display_name (for manual inspection)"
 	SCM_UNDER_TEST="$1" pkgsrc_make clean
-	SCM_UNDER_TEST="$1" pkgsrc_make "show-all-$1"
-	:
-	: "needs to be inspected manually"
 }
 
 main() {
diff --git a/mk/cvs-package.mk b/mk/cvs-package.mk
index 8572ec6ebf..c729f50602 100644
--- a/mk/cvs-package.mk
+++ b/mk/cvs-package.mk
@@ -31,6 +31,13 @@
 #
 #	Default: ${DISTNAME} without the version number
 #
+# CVS_EXTRACTDIR (optional)
+#	The directory where the repository is checked out, relative to
+#	${WRKDIR}.
+#	Mostly useful when having multiple repositories.
+#
+#	Default: ${CVS_MODULE}
+#
 # CVS_TAG (optional)
 #	The CVS tag that is checked out. If no tag is specified, the
 #	latest daily version is checked out, influencing the PKGREVISION.
@@ -43,13 +50,14 @@
 #	is the list of repository IDs. For each of these repositories,
 #	parameterized variants of the above variables are defined.
 #
+#	The default value for CVS_EXTRACTDIR.${repo} is ${repo},
+#	the repository ID.
+#
 #	Example:
 #	CVS_REPOSITORIES=	stable latest
 #	CVS_ROOT.stable=	${CVS_GNU_ROOT}/project
-#	CVS_MODULE.stable=	stable
 #	CVS_TAG.stable=		v1.2.3
-#	CVS_ROOT.latest=	${CVS_GNU_ROOT}/project/trunk
-#	CVS_MODULE.latest=	latest
+#	CVS_ROOT.latest=	${CVS_GNU_ROOT}/project
 #
 # CVS_PROJECT
 #	The project name to be used in CVS_ROOT_SOURCEFORGE.
@@ -97,9 +105,10 @@ PKGREVISION?=		${_CVS_PKGVERSION:S/.//g}
 # The common case of a single repository
 .if defined(CVS_ROOT)
 CVS_MODULE?=		${PKGBASE:S,-cvs$,,}
+CVS_EXTRACTDIR?=	${CVS_MODULE}
 CVS_REPOSITORIES+=	default
 WRKSRC?=		${WRKDIR}/${CVS_MODULE}
-.  for varbase in CVS_ROOT CVS_MODULE CVS_TAG
+.  for varbase in CVS_ROOT CVS_MODULE CVS_TAG CVS_EXTRACTDIR
 .    if defined(${varbase})
 ${varbase}.default=	${${varbase}}
 .    endif
@@ -142,6 +151,7 @@ _CVS_DISTDIR=		${DISTDIR}/cvs-packages
 
 .for repo in ${CVS_REPOSITORIES}
 CVS_MODULE.${repo}?=		${repo}
+CVS_EXTRACTDIR.${repo}?=	${repo}
 
 # Determine appropriate checkout date or tag
 .  if defined(CVS_TAG.${repo})
@@ -159,12 +169,13 @@ _CVS_TAG.${repo}=	${_CVS_TODAY:Q}
 .  endif
 
 # The cached archive
-_CVS_DISTFILE.${repo}=	${PKGBASE}-${CVS_MODULE.${repo}}-${_CVS_TAG.${repo}}.tar.gz
+_CVS_DISTFILE.${repo}=	${PKGBASE}-${repo}-${_CVS_TAG.${repo}}.tar.gz
 
 # Define the shell variables used by the following commands
 _CVS_CMD.vars.${repo}= \
 	root=${CVS_ROOT.${repo}:Q}; \
 	module=${CVS_MODULE.${repo}:Q}; \
+	extractdir=${CVS_EXTRACTDIR.${repo}:Q}; \
 	archive=${_CVS_DISTDIR}/${_CVS_DISTFILE.${repo}:Q}
 
 # Extract the cached archive
@@ -191,13 +202,13 @@ _CVS_CMD.checkout.${repo}= \
 	${STEP_MSG} "Checking out $$module from $$root.";		\
 	${_CVS_CMDLINE} -d "$$root"					\
 	    checkout ${_CVS_CHECKOUT_FLAGS} ${_CVS_TAG_FLAG.${repo}}	\
-	      -d "$$module" "$$module"
+	      -d "$$extractdir" "$$module"
 
 # Create the cached archive from the checked out repository
 _CVS_CMD.create_archive.${repo}= \
 	${STEP_MSG} "Creating cached CVS archive $${archive\#\#*/}.";	\
 	${MKDIR} "$${archive%/*}";					\
-	pax -w "$$module" | gzip > "$$archive.tmp";			\
+	pax -w "$$extractdir" | gzip > "$$archive.tmp";			\
 	${MV} "$$archive.tmp" "$$archive"
 .endfor
 
@@ -216,12 +227,12 @@ do-cvs-extract: .PHONY
 
 # Debug info for show-all and show-all-cvs
 _VARGROUPS+=		cvs
-_PKG_VARS.cvs+=		CVS_ROOT CVS_MODULE CVS_TAG CHECKOUT_DATE CVS_REPOSITORIES
+_PKG_VARS.cvs+=		CVS_ROOT CVS_MODULE CVS_TAG CHECKOUT_DATE CVS_EXTRACTDIR CVS_REPOSITORIES
 _SYS_VARS.cvs+=		DISTFILES PKGNAME PKGREVISION WRKSRC
 _SYS_VARS.cvs+=		CVS_ROOT_GNU CVS_ROOT_NONGNU CVS_ROOT_SOURCEFORGE CVS_PROJECT
 _SYS_VARS.cvs+=		_CVS_DISTDIR _CVS_PKGVERSION
 .for repo in ${CVS_REPOSITORIES}
-.  for varbase in CVS_ROOT CVS_MODULE CVS_TAG
+.  for varbase in CVS_ROOT CVS_MODULE CVS_TAG CVS_EXTRACTDIR
 _PKG_VARS.cvs+=		${varbase}.${repo}
 .  endfor
 .  for varbase in _CVS_DISTFILE
diff --git a/mk/fossil-package.mk b/mk/fossil-package.mk
index 62f022b8b9..7d21278547 100644
--- a/mk/fossil-package.mk
+++ b/mk/fossil-package.mk
@@ -23,7 +23,7 @@
 #	If the package needs more than one repository, see
 #	FOSSIL_REPOSITORIES below.
 #
-# FOSSIL_MODULE (optional)
+# FOSSIL_EXTRACTDIR (optional)
 #	The directory where the files are extracted, relative to WRKDIR.
 #
 #	Default: ${DISTNAME} without the version number
@@ -38,14 +38,14 @@
 #	is the list of repository IDs. For each of these repositories,
 #	parameterized variants of the above variables are defined.
 #
+#	The default value for FOSSIL_EXTRACTDIR.${repo} is ${repo},
+#	the repository ID.
+#
 #	Example:
 #	FOSSIL_REPOSITORIES=	stable latest
 #	FOSSIL_REPO.stable=	http://core.tcl.tk/tcl/
-#	FOSSIL_MODULE.stable=	stable
 #	FOSSIL_VERSION.stable=	v1.2.3
 #	FOSSIL_REPO.latest=	http://core.tcl.tk/tcl/
-#	FOSSIL_MODULE.latest=	latest
-#	FOSSIL_VERSION.latest=	--latest
 #
 # Variables set by this file:
 #
@@ -72,13 +72,13 @@ PKGREVISION?=		${${DATE} -u +'%Y%m%d':L:sh}
 .endif
 
 .if defined(FOSSIL_REPO)
-FOSSIL_REPOSITORIES+=	default
-FOSSIL_REPO.default=	${FOSSIL_REPO}
-FOSSIL_MODULE.default=	${DISTNAME:C,-[0-9].*,,}
+FOSSIL_REPOSITORIES+=		default
+FOSSIL_REPO.default=		${FOSSIL_REPO}
+FOSSIL_EXTRACTDIR.default=	${DISTNAME:C,-[0-9].*,,}
 .  if defined(FOSSIL_VERSION)
-FOSSIL_VERSION.default=	${FOSSIL_VERSION}
+FOSSIL_VERSION.default=		${FOSSIL_VERSION}
 .  endif
-WRKSRC?=		${WRKDIR}/${FOSSIL_MODULE.default}
+WRKSRC?=			${WRKDIR}/${FOSSIL_EXTRACTDIR.default}
 .endif
 
 FOSSIL_REPOSITORIES?=	# none
@@ -98,16 +98,16 @@ _FOSSIL_CMD=		${PREFIX}/bin/fossil
 _FOSSIL_DISTDIR=	${DISTDIR}/fossil-packages
 
 .for repo in ${FOSSIL_REPOSITORIES}
-FOSSIL_MODULE.${repo}?=		${repo}
+FOSSIL_EXTRACTDIR.${repo}?=	${repo}
 FOSSIL_VERSION.${repo}?=	--latest
 
 # The cached archive
-_FOSSIL_DISTFILE.${repo}=	${PKGBASE}-${FOSSIL_MODULE.${repo}}.clone
+_FOSSIL_DISTFILE.${repo}=	${PKGBASE}-${repo}.clone
 
 # Define the shell variables used by the following commands
 _FOSSIL_CMD.vars.${repo}= \
 	repo=${FOSSIL_REPO.${repo}:Q}; \
-	module=${FOSSIL_MODULE.${repo}:Q}; \
+	extractdir=${FOSSIL_EXTRACTDIR.${repo}:Q}; \
 	archive=${_FOSSIL_DISTDIR}/${_FOSSIL_DISTFILE.${repo}:Q}; \
 	version=${FOSSIL_VERSION.${repo}:Q}
 
@@ -121,8 +121,8 @@ _FOSSIL_CMD.clone_repo.${repo}= \
 # Open the cloned repository
 _FOSSIL_CMD.open_repo.${repo}= \
 	${STEP_MSG} "Opening Fossil repo $${archive\#\#*/}.";		\
-	${MKDIR} "$$module";						\
-	cd "$$module";							\
+	${MKDIR} "$$extractdir";					\
+	cd "$$extractdir";						\
 	${_FOSSIL_CMD} open "$$archive"
 
 # Pull changes from remote repository and save them in local repository
@@ -151,11 +151,11 @@ do-fossil-extract: .PHONY
 
 # Debug info for show-all and show-all-fossil
 _VARGROUPS+=		fossil
-_PKG_VARS.fossil+=	FOSSIL_REPO FOSSIL_MODULE FOSSIL_VERSION FOSSIL_REPOSITORIES
+_PKG_VARS.fossil+=	FOSSIL_REPO FOSSIL_EXTRACTDIR FOSSIL_VERSION FOSSIL_REPOSITORIES
 _SYS_VARS.fossil+=	DISTFILES PKGREVISION WRKSRC
 _SYS_VARS.fossil+=	_FOSSIL_DISTDIR
 .for repo in ${FOSSIL_REPOSITORIES}
-.  for varbase in FOSSIL_REPO FOSSIL_MODULE FOSSIL_VERSION
+.  for varbase in FOSSIL_REPO FOSSIL_EXTRACTDIR FOSSIL_VERSION
 _PKG_VARS.fossil+=	${varbase}.${repo}
 .  endfor
 .  for varbase in _FOSSIL_DISTFILE
diff --git a/mk/git-package.mk b/mk/git-package.mk
index e05e990c65..7ffd4cec72 100644
--- a/mk/git-package.mk
+++ b/mk/git-package.mk
@@ -28,16 +28,15 @@
 #		git://git%github.com@localhost:NetBSD/pkgsrc.git
 #		git%github.com@localhost:NetBSD/pkgsrc.git
 #
-# GIT_MODULE (optional)
-#	The name of the Git module.
-#
-#	This is where the repository gets extracted.
+# GIT_EXTRACTDIR (optional)
+#	The directory where the repository is checked out, relative to
+#	${WRKDIR}.
 #
 #	Default:
-#		For the GIT_MODULE variable, the default value is derived
+#		For GIT_EXTRACTDIR, the default value is derived
 #		from the last path component of GIT_REPO (so for
 #		git://git%github.com@localhost:NetBSD/pkgsrc.git, it becomes pkgsrc).
-#		For the GIT_MODULE.${repo} variables, the default is ${repo}.
+#		For GIT_EXTRACTDIR.${repo}, the default is ${repo}.
 #
 # GIT_BRANCH (optional)
 #	The branch to check out.
@@ -68,10 +67,8 @@
 #
 #	Example:
 #	GIT_REPOSITORIES=	first second
-#	GIT_MODULE.first=	first
 #	GIT_REPO.first=		git://git%github.com@localhost:NetBSD/pkgsrc.git
 #	GIT_REVISION.first=	8a311b3069ee79731eec38ca13eb13772cc49223
-#	GIT_MODULE.second=	second
 #	GIT_REPO.second=	git://git%github.com@localhost:NetBSD/pkgsrc.git
 #	GIT_BRANCH.second=	master
 #
@@ -100,12 +97,12 @@ PKGREVISION?=		${_GIT_PKGVERSION:S/.//g}
 
 # The common case of a single repository
 .if defined(GIT_REPO)
-GIT_REPOSITORIES+=	default
-GIT_MODULE.default?=	${GIT_REPO:T:.git=}
-WRKSRC?=		${WRKDIR}/${GIT_MODULE.default}
+GIT_REPOSITORIES+=		default
+GIT_EXTRACTDIR.default?=	${GIT_REPO:T:.git=}
+WRKSRC?=			${WRKDIR}/${GIT_EXTRACTDIR.default}
 .  for varbase in GIT_REPO GIT_BRANCH GIT_REVISION GIT_TAG GIT_ENV
 .    if defined(${varbase})
-${varbase}.default=	${${varbase}}
+${varbase}.default=		${${varbase}}
 .    endif
 .  endfor
 .endif
@@ -131,8 +128,11 @@ _GIT_DISTDIR=		${DISTDIR}/git-packages
 
 # Definition of repository-specific variables
 .for repo in ${GIT_REPOSITORIES}
-GIT_MODULE.${repo}?=	${repo}
-_GIT_ENV.${repo}=	${GIT_ENV.${repo}}
+.if defined(GIT_MODULE.${repo}) # for backwards compatibility
+GIT_EXTRACTDIR.${repo}?=	${GIT_MODULE.${repo}}
+.endif
+GIT_EXTRACTDIR.${repo}?=	${repo}
+_GIT_ENV.${repo}=		${GIT_ENV.${repo}}
 
 _GIT_CMDLINE.${repo}=	${SETENV} ${_GIT_ENV.${repo}} ${_GIT_CMD}
 
@@ -157,12 +157,12 @@ _GIT_CLONE_FLAGS.${repo}+=	--depth 1
 .  endif
 
 # The cached archive
-_GIT_DISTFILE.${repo}=	${PKGBASE}-${GIT_MODULE.${repo}}-gitarchive.tar.gz
+_GIT_DISTFILE.${repo}=	${PKGBASE}-${repo}-gitarchive.tar.gz
 
 # Define the shell variables used by the following commands
 _GIT_CMD.vars.${repo}= \
 	repo=${GIT_REPO.${repo}:Q}; \
-	module=${GIT_MODULE.${repo}:Q}; \
+	extractdir=${GIT_EXTRACTDIR.${repo}:Q}; \
 	archive=${_GIT_DISTDIR}/${_GIT_DISTFILE.${repo}:Q}
 
 # Extract the cached archive
@@ -174,43 +174,43 @@ _GIT_CMD.extract_archive.${repo}= \
 
 # Check out and update the repository
 _GIT_CMD.checkout.${repo}= \
-	if [ ! -d "$$module" ]; then					\
-	  ${STEP_MSG} "Cloning Git archive $$module.";			\
+	if [ ! -d "$$extractdir" ]; then				\
+	  ${STEP_MSG} "Cloning Git repository $$repo.";			\
 	  ${_GIT_CMDLINE.${repo}}					\
-	    clone ${_GIT_CLONE_FLAGS.${repo}} "$$repo" "$$module";	\
+	    clone ${_GIT_CLONE_FLAGS.${repo}} "$$repo" "$$extractdir";	\
 	fi;								\
 	\
-	${STEP_MSG} "Fetching remote branches of $$module.";		\
-	${_GIT_CMDLINE.${repo}} -C "$$module"				\
+	${STEP_MSG} "Fetching remote branches.";			\
+	${_GIT_CMDLINE.${repo}} -C "$$extractdir"			\
 	  remote set-branches origin '*';				\
 	\
-	${STEP_MSG} "Updating Git working area $$module.";		\
-	${_GIT_CMDLINE.${repo}} -C "$$module"				\
+	${STEP_MSG} "Updating Git working area $$extractdir.";		\
+	${_GIT_CMDLINE.${repo}} -C "$$extractdir"			\
 	  fetch ${_GIT_FETCH_FLAGS.${repo}};				\
 	\
 	revision=${_GIT_REV.${repo}:Q};					\
 	checkout_date=${CHECKOUT_DATE:Q};				\
 	if [ "$$checkout_date" ]; then					\
 	  ${STEP_MSG} "Checking out $$revision at $$checkout_date.";	\
-	  ref=`${_GIT_CMDLINE.${repo}} -C "$$module" rev-list -n 1 --before="$${checkout_date}T00:00:01Z" "$$revision"`; \
-	  [ "$$ref" ] || ${FAIL_MSG} "[git-package.mk] Cannot find commit for module $$module revision $$revision at $$checkout_date"; \
-	  ${_GIT_CMDLINE.${repo}} -C "$$module"				\
+	  ref=`${_GIT_CMDLINE.${repo}} -C "$$extractdir" rev-list -n 1 --before="$${checkout_date}T00:00:01Z" "$$revision"`; \
+	  [ "$$ref" ] || ${FAIL_MSG} "[git-package.mk] Cannot find commit for repository "${repo:Q}" revision $$revision at $$checkout_date"; \
+	  ${_GIT_CMDLINE.${repo}} -C "$$extractdir"			\
 	    checkout ${_GIT_CHECKOUT_FLAGS} "$$ref";			\
 	else								\
 	  ${STEP_MSG} "Checking out $$revision.";			\
-	  ${_GIT_CMDLINE.${repo}} -C "$$module"				\
+	  ${_GIT_CMDLINE.${repo}} -C "$$extractdir"			\
 	    checkout ${_GIT_CHECKOUT_FLAGS} "$$revision";		\
 	fi;								\
 	\
-	${STEP_MSG} "Updating submodules of $$module.";			\
+	${STEP_MSG} "Updating submodules of $$extractdir.";		\
 	: "XXX: The revision of the submodules is not correct";		\
-	${_GIT_CMDLINE.${repo}} -C "$$module" submodule update --recursive
+	${_GIT_CMDLINE.${repo}} -C "$$extractdir" submodule update --recursive
 
 # Create the cached archive from the checked out repository
 _GIT_CMD.create_archive.${repo}= \
 	${STEP_MSG} "Creating cached Git archive $${archive\#\#*/}.";	\
 	${MKDIR} "$${archive%/*}";					\
-	pax -w "$$module" | gzip > "$$archive.tmp";			\
+	pax -w "$$extractdir" | gzip > "$$archive.tmp";			\
 	${MV} "$$archive.tmp" "$$archive"
 .endfor
 
@@ -229,10 +229,10 @@ do-git-extract: .PHONY
 # Debug info for show-all and show-all-git
 _VARGROUPS+=		git
 _PKG_VARS.git=		GIT_REPOSITORIES
-_PKG_VARS.git+=		GIT_REPO GIT_MODULE GIT_BRANCH GIT_REVISION GIT_TAG GIT_ENV
+_PKG_VARS.git+=		GIT_REPO GIT_EXTRACTDIR GIT_BRANCH GIT_REVISION GIT_TAG GIT_ENV
 _SYS_VARS.git=		DISTFILES PKGREVISION WRKSRC
 .for repo in ${GIT_REPOSITORIES}
-.  for varbase in GIT_REPO GIT_MODULE GIT_BRANCH GIT_REVISION GIT_TAG GIT_ENV
+.  for varbase in GIT_REPO GIT_EXTRACTDIR GIT_BRANCH GIT_REVISION GIT_TAG GIT_ENV
 _PKG_VARS.git+=		${varbase}.${repo}
 .  endfor
 .  for varbase in _GIT_REV _GIT_DISTFILE
diff --git a/mk/hg-package.mk b/mk/hg-package.mk
index e42b7d69df..d52c1927ef 100644
--- a/mk/hg-package.mk
+++ b/mk/hg-package.mk
@@ -110,7 +110,7 @@ _HG_TAG.${repo}=	${_HG_TODAY:Q}
 
 # Cache support:
 #   cache file name
-_HG_DISTFILE.${repo}=	${PKGBASE}-${HG_MODULE.${repo}}-${_HG_TAG.${repo}}.tar.gz
+_HG_DISTFILE.${repo}=	${PKGBASE}-${repo}-${_HG_TAG.${repo}}.tar.gz
 
 # Define the shell variables used by the following commands
 _HG_CMD.vars.${repo}= \
diff --git a/mk/svn-package.mk b/mk/svn-package.mk
index 03ee9b259f..ad65e6bd8b 100644
--- a/mk/svn-package.mk
+++ b/mk/svn-package.mk
@@ -22,8 +22,15 @@
 #
 #	Example: https://svn.code.sf.net/p/projectname/code/trunk
 #
-# SVN_MODULE (optional)
-#	The directory where the files are extracted, relative to WRKDIR.
+# SVN_EXTRACTDIR (optional)
+#	The directory where the repository is checked out, relative to
+#	${WRKDIR}.
+#
+#	Default:
+#		For SVN_EXTRACTDIR, the default value is derived
+#		from the last path component of GIT_REPO (so for
+#		git://git%github.com@localhost:NetBSD/pkgsrc.git, it becomes pkgsrc).
+#		For SVN_EXTRACTDIR.${repo}, the default is ${repo}.
 #
 # SVN_REVISION (optional)
 #	The revision to check out.
@@ -38,9 +45,7 @@
 #	Example:
 #	SVN_REPOSITORIES=	stable latest
 #	SVN_REPO.stable=	https://svn.code.sf.net/p/project/code/tag/1.0.0
-#	SVN_MODULE.stable=	stable
 #	SVN_REPO.latest=	https://svn.code.sf.net/p/project/code/trunk
-#	SVN_MODULE.latest=	latest
 #
 # Keywords: svn subversion
 
@@ -56,16 +61,16 @@ PKGREVISION?=		${_SVN_PKGREVISION_CMD:sh}
 
 # The common case of a single repository
 .if defined(SVN_REPO)
-SVN_MODULE?=		${SVN_REPO:S,/$,,:S,/trunk$,,:S,/code$,,:T}
+SVN_EXTRACTDIR?=	${SVN_REPO:S,/$,,:S,/trunk$,,:S,/code$,,:T}
 SVN_REPOSITORIES+=	default
 SVN_REPO.default=	${SVN_REPO}
-SVN_MODULE.default=	${SVN_MODULE}
+SVN_EXTRACTDIR.default=	${SVN_EXTRACTDIR}
 .  for varbase in SVN_REVISION
 .    if defined(${varbase})
 ${varbase}.default=	${${varbase}}
 .    endif
 .  endfor
-WRKSRC?=		${WRKDIR}/${SVN_MODULE}
+WRKSRC?=		${WRKDIR}/${SVN_EXTRACTDIR}
 .endif
 
 SVN_REPOSITORIES?=	# none
@@ -89,20 +94,20 @@ _SVN_DISTDIR=		${DISTDIR}/svn-packages
 
 # Definition of repository-specific variables
 .for repo in ${SVN_REPOSITORIES}
-SVN_MODULE.${repo}?=	${repo}
+SVN_EXTRACTDIR.${repo}?=	${repo}
 .  if defined(CHECKOUT_DATE)
-SVN_REVISION.${repo}?=	{${CHECKOUT_DATE}T00:00:00Z}
+SVN_REVISION.${repo}?=		{${CHECKOUT_DATE}T00:00:00Z}
 .  else
-SVN_REVISION.${repo}?=	HEAD
+SVN_REVISION.${repo}?=		HEAD
 .  endif
 
 # The cached archive
-_SVN_DISTFILE.${repo}=	${PKGBASE}-${SVN_MODULE.${repo}}-svnarchive.tar.gz
+_SVN_DISTFILE.${repo}=	${PKGBASE}-${repo}-svnarchive.tar.gz
 
 # Define the shell variables used by the following commands
 _SVN_CMD.vars.${repo}= \
 	repo=${SVN_REPO.${repo}:Q}; \
-	module=${SVN_MODULE.${repo}:Q}; \
+	extractdir=${SVN_EXTRACTDIR.${repo}:Q}; \
 	archive=${_SVN_DISTDIR}/${_SVN_DISTFILE.${repo}:Q}; \
 	revision=${SVN_REVISION.${repo}:Q}
 
@@ -125,20 +130,20 @@ _SVN_CMD.install_certs.${repo}= \
 
 # Check out the repository or update the cached one
 _SVN_CMD.fetch_repo.${repo}= \
-	if [ ! -d "$$module" ]; then			\
+	if [ ! -d "$$extractdir" ]; then				\
 	  ${STEP_MSG} "Checking out revision $$revision from repository $$repo."; \
 	  ${_SVN_CMD} checkout -r "$$revision" ${SVN_CHECKOUT_FLAGS}	\
-	    "$$repo" "$$module";					\
+	    "$$repo" "$$extractdir";					\
 	else								\
 	  ${STEP_MSG} "Updating to revision $$revision."; \
-	  ${_SVN_CMD} update -r "$$revision" ${SVN_CHECKOUT_FLAGS} "$$module"; \
+	  ${_SVN_CMD} update -r "$$revision" ${SVN_CHECKOUT_FLAGS} "$$extractdir"; \
 	fi
 
 # Create the cached archive from the checked out repository
 _SVN_CMD.create_archive.${repo}= \
 	${STEP_MSG} "Creating cached Subversion archive $${archive\#\#*/}."; \
 	${MKDIR} "$${archive%/*}";					\
-	pax -w "$$module" | gzip > "$$archive.tmp";			\
+	pax -w "$$extractdir" | gzip > "$$archive.tmp";			\
 	${MV} "$$archive.tmp" "$$archive"
 .endfor
 
@@ -157,11 +162,11 @@ do-svn-extract: .PHONY
 
 # Debug info for show-all and show-all-svn
 _VARGROUPS+=	svn
-_PKG_VARS.svn+=	SVN_REPO SVN_REVISION SVN_REPOSITORIES
+_PKG_VARS.svn+=	SVN_REPO SVN_REVISION SVN_EXTRACTDIR SVN_REPOSITORIES
 _SYS_VARS.svn+=	DISTFILES PKGREVISION
 _SYS_VARS.svn+=	_SVN_DISTDIR
 .for repo in ${SVN_REPOSITORIES}
-.  for varbase in SVN_REPO SVN_MODULE SVN_REVISION SVN_CERTS
+.  for varbase in SVN_REPO SVN_EXTRACTDIR SVN_REVISION SVN_CERTS
 _PKG_VARS.svn+=	${varbase}.${repo}
 .  endfor
 .  for varbase in _SVN_DISTFILE
diff --git a/pilemc-svn/Makefile b/pilemc-svn/Makefile
index b3a3730bb0..0429fee91a 100644
--- a/pilemc-svn/Makefile
+++ b/pilemc-svn/Makefile
@@ -1,25 +1,22 @@
 # $NetBSD: Makefile,v 1.2 2012/10/05 11:31:52 asau Exp $
 
 DISTNAME=	pilemc
-PKGNAME=	${DISTNAME}-svn-${VERSION}
+PKGNAME=	${DISTNAME}-svn-1.2alpha0
 CATEGORIES=	math
 
 MAINTAINER=	jihbed.research%gmail.com@localhost
 HOMEPAGE=	http://pilemc.hepforge.org/
 COMMENT=	Tool for the simulation of pile-up events at HepMC level
 
-SVN_REPOSITORIES=	pilemc
-SVN_REPO.pilemc=	http://pilemc.hepforge.org/svn/trunk/
+SVN_REPO=	http://pilemc.hepforge.org/svn/trunk/
+SVN_EXTRACTDIR=	pilemc
 
-WRKSRC=			${WRKDIR}/$(SVN_MODULE.pilemc)
-
-VERSION=	1.2alpha0
 GNU_CONFIGURE=	yes
 USE_TOOLS+=	aclocal autoconf automake # gmake gm4
 USE_LANGUAGES=	c c++
 
 pre-configure:
-	cd ${WRKSRC} &&  ./reconf && ./configure
+	cd ${WRKSRC} && ./reconf && ./configure
 
 .include "../../math/gsl/buildlink3.mk"
 .include "../../wip/hepmc/buildlink3.mk"


Home | Main Index | Thread Index | Old Index