svn commit: r309314 - in head: . release/scripts share/mk

2016-11-29 Thread Matthew Seaman
Author: matthew (ports committer)
Date: Wed Nov 30 07:16:29 2016
New Revision: 309314
URL: https://svnweb.freebsd.org/changeset/base/309314

Log:
  Allow a user-overridable setting 'PKG_CMD' to control the command used
  to create a repo during 'make packages'
  
  This would have been useful for a situation I found myself in where
  pkg(8) had been upgraded to a version that wanted the FBSD_1.5 ABI
  version but libc.so.7 had not been upgraded, and only provided
  FBSD_1.4. I found I needed to update libc in order to run pkg, and I
  also needed to use pkg to update libc... Which is why pkg-static
  exists, but there's currently no way to tell the build system to use
  pkg-static instead of pkg.
  
  This creates a variable PKG_CMD, default value 'pkg', that can be
  overridden from the command line.
  
  Reviewed by:  gjb
  Approved by:  gjb
  Differential Revision:https://reviews.freebsd.org/D8120

Modified:
  head/Makefile.inc1
  head/release/scripts/make-pkg-package.sh
  head/share/mk/bsd.own.mk

Modified: head/Makefile.inc1
==
--- head/Makefile.inc1  Wed Nov 30 06:26:37 2016(r309313)
+++ head/Makefile.inc1  Wed Nov 30 07:16:29 2016(r309314)
@@ -1379,7 +1379,8 @@ packages: .PHONY
 package-pkg: .PHONY
rm -rf /tmp/ports.${TARGET} || :
env ${WMAKEENV:Q} SRCDIR=${.CURDIR} PORTSDIR=${PORTSDIR} 
REVISION=${_REVISION} \
-   PKG_VERSION=${PKG_VERSION} REPODIR=${REPODIR} 
WSTAGEDIR=${WSTAGEDIR} \
+   PKG_CMD=${PKG_CMD} PKG_VERSION=${PKG_VERSION} 
REPODIR=${REPODIR} \
+   WSTAGEDIR=${WSTAGEDIR} \
sh ${.CURDIR}/release/scripts/make-pkg-package.sh
 
 real-packages: stage-packages create-packages sign-packages .PHONY
@@ -1417,11 +1418,11 @@ create-world-packages:  _pkgbootstrap .PH
/^name/ { printf("===> Creating %s-", $$2); next } \
/^version/ { print $$2; next } \
' ${WSTAGEDIR}/$${pkgname}.ucl ; \
-   pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
+   ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o 
ALLOW_BASE_SHLIBS=yes \
create -M ${WSTAGEDIR}/$${pkgname}.ucl \
-p ${WSTAGEDIR}/$${pkgname}.plist \
-r ${WSTAGEDIR} \
-   -o ${REPODIR}/$$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh 
config ABI)/${PKG_VERSION} ; \
+   -o ${REPODIR}/$$(${PKG_CMD} -o 
ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION} ; \
done
 
 create-kernel-packages:_pkgbootstrap .PHONY
@@ -1445,11 +1446,11 @@ create-kernel-packages: _pkgbootstrap .P
/name/ { printf("===> Creating %s-", $$2); next } \
/version/ {print $$2; next } ' \
${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.ucl ; \
-   pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
+   ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
create -M 
${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.ucl \
-p 
${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.plist \
-r ${KSTAGEDIR}/${DISTDIR} \
-   -o ${REPODIR}/$$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config 
ABI)/${PKG_VERSION}
+   -o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh 
config ABI)/${PKG_VERSION}
 .endfor
 .endif
 .if ${BUILDKERNELS:[#]} > 1 && ${NO_INSTALLEXTRAKERNELS} != "yes"
@@ -1474,25 +1475,25 @@ create-kernel-packages: _pkgbootstrap .P
/name/ { printf("===> Creating %s-", $$2); next } \
/version/ {print $$2; next } ' \
${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl ; 
\
-   pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
+   ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
create -M 
${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl \
-p 
${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.plist \
-r ${KSTAGEDIR}/kernel.${_kernel} \
-   -o ${REPODIR}/$$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config 
ABI)/${PKG_VERSION}
+   -o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh 
config ABI)/${PKG_VERSION}
 .endfor
 .endif
 .endfor
 .endif
 
 sign-packages: _pkgbootstrap .PHONY
-   @[ -L "${REPODIR}/$$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config 
ABI)/latest" ] && \
-   unlink ${REPODIR}/$$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config 
ABI)/latest ; \
-   pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh repo \
-   -o ${REPODIR}/$$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config 
ABI)/${PKG_VERSION} \
-   ${REPODIR}/$$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config 
ABI)/${PKG_VERSION} \
+   @[ -L "${REPODIR}/$$(${PKG_CMD}

svn commit: r284903 - head/share/misc

2015-06-28 Thread Matthew Seaman
Author: matthew (ports committer)
Date: Sun Jun 28 09:03:26 2015
New Revision: 284903
URL: https://svnweb.freebsd.org/changeset/base/284903

Log:
  Steve KArgl's commit bit taken in at his own request
  
  With hat: core-secretary
  Approved by:  core

Modified:
  head/share/misc/committers-src.dot

Modified: head/share/misc/committers-src.dot
==
--- head/share/misc/committers-src.dot  Sun Jun 28 07:44:07 2015
(r284902)
+++ head/share/misc/committers-src.dot  Sun Jun 28 09:03:26 2015
(r284903)
@@ -61,6 +61,7 @@ jkh [label="Jordan K. Hubbard\njkh@FreeB
 jlemon [label="Jonathan Lemon\njle...@freebsd.org\n1997/08/14\n2008/11/10"]
 joe [label="Josef Karthauser\n...@freebsd.org\n1999/10/22\n2008/08/10"]
 jtc [label="J.T. Conklin\n...@freebsd.org\n1993/06/12\n/??/??"]
+kargl [label="Steven G. Kargl\nka...@freebsd.org\n2011/01/17\n2015/06/28"]
 kbyanc [label="Kelly Yancey\nkby...@freebsd.org\n2000/07/11\n2006/07/25"]
 keichii [label="Michael Wu\nkeic...@freebsd.org\n2001/03/07\n2006/04/28"]
 linimon [label="Mark Linimon\nlini...@freebsd.org\n2006/09/30\n2008/05/04"]
@@ -205,7 +206,6 @@ julian [label="Julian Elischer\njulian@F
 jwd [label="John De Boskey\n...@freebsd.org\n2000/05/19"]
 kaiw [label="Kai Wang\nk...@freebsd.org\n2007/09/26"]
 kan [label="Alexander Kabaev\n...@freebsd.org\n2002/07/21"]
-kargl [label="Steven G. Kargl\nka...@freebsd.org\n2011/01/17"]
 ken [label="Ken Merry\n...@freebsd.org\n1998/09/08"]
 kensmith [label="Ken Smith\nkensm...@freebsd.org\n2004/01/23"]
 kevlo [label="Kevin Lo\nke...@freebsd.org\n2006/07/23"]
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r244553 - head/usr.sbin/pkg

2012-12-21 Thread Matthew Seaman
Author: matthew (ports committer)
Date: Fri Dec 21 20:01:13 2012
New Revision: 244553
URL: http://svnweb.freebsd.org/changeset/base/244553

Log:
  In preparation for making 'pkg -n' the one true method of determining
  whether a system has been configured to use pkgng, cause /usr/sbin/pkg
  recognise a -n option and exit with a failure code when the pkg port
  is not installed.
  
  Approved by:  bapt
  MFC after:2 weeks

Modified:
  head/usr.sbin/pkg/pkg.c

Modified: head/usr.sbin/pkg/pkg.c
==
--- head/usr.sbin/pkg/pkg.c Fri Dec 21 19:36:08 2012(r244552)
+++ head/usr.sbin/pkg/pkg.c Fri Dec 21 20:01:13 2012(r244553)
@@ -452,6 +452,16 @@ main(__unused int argc, char *argv[])
getenv("LOCALBASE") ? getenv("LOCALBASE") : _LOCALBASE);
 
if (access(pkgpath, X_OK) == -1) {
+   /* 
+* To allow 'pkg -n' to be used as a reliable test for whether
+* a system is configured to use pkg, don't bootstrap pkg
+* when that argument is given as argv[1].
+*/
+   if ( argv[1] != NULL && strcmp(argv[1], "-n") == 0) {
+   printf("%s", "pkg is not installed\n");
+   exit(EXIT_FAILURE);
+   }
+
/*
 * Do not ask for confirmation if either of stdin or stdout is
 * not tty. Check the environment to see if user has answer
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r244594 - head/usr.sbin/pkg

2012-12-22 Thread Matthew Seaman
Author: matthew (ports committer)
Date: Sat Dec 22 15:13:16 2012
New Revision: 244594
URL: http://svnweb.freebsd.org/changeset/base/244594

Log:
  Switch from 'pkg -n' to 'pkg -N' as the test for pkgn activation
  status. '-n' is already used extensively elsewhere in pkgng (to mean
  'dry-run') and this reduces the potential confusion
  
  Submitted by: eadler
  Approved by:  bapt
  MFC after:2 weeks

Modified:
  head/usr.sbin/pkg/pkg.c

Modified: head/usr.sbin/pkg/pkg.c
==
--- head/usr.sbin/pkg/pkg.c Sat Dec 22 15:01:29 2012(r244593)
+++ head/usr.sbin/pkg/pkg.c Sat Dec 22 15:13:16 2012(r244594)
@@ -453,11 +453,11 @@ main(__unused int argc, char *argv[])
 
if (access(pkgpath, X_OK) == -1) {
/* 
-* To allow 'pkg -n' to be used as a reliable test for whether
+* To allow 'pkg -N' to be used as a reliable test for whether
 * a system is configured to use pkg, don't bootstrap pkg
 * when that argument is given as argv[1].
 */
-   if ( argv[1] != NULL && strcmp(argv[1], "-n") == 0) {
+   if ( argv[1] != NULL && strcmp(argv[1], "-N") == 0) {
printf("%s", "pkg is not installed\n");
exit(EXIT_FAILURE);
}
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r244608 - head/usr.sbin/pkg

2012-12-23 Thread Matthew Seaman
Author: matthew (ports committer)
Date: Sun Dec 23 11:22:18 2012
New Revision: 244608
URL: http://svnweb.freebsd.org/changeset/base/244608

Log:
  Third time's the charm.  pkg -N output needs to go to stderr.
  
  Approved by:  bapt
  MFC after:2 weeks

Modified:
  head/usr.sbin/pkg/pkg.c

Modified: head/usr.sbin/pkg/pkg.c
==
--- head/usr.sbin/pkg/pkg.c Sun Dec 23 10:21:01 2012(r244607)
+++ head/usr.sbin/pkg/pkg.c Sun Dec 23 11:22:18 2012(r244608)
@@ -457,10 +457,8 @@ main(__unused int argc, char *argv[])
 * a system is configured to use pkg, don't bootstrap pkg
 * when that argument is given as argv[1].
 */
-   if ( argv[1] != NULL && strcmp(argv[1], "-N") == 0) {
-   printf("%s", "pkg is not installed\n");
-   exit(EXIT_FAILURE);
-   }
+   if ( argv[1] != NULL && strcmp(argv[1], "-N") == 0)
+   errx(EXIT_FAILURE, "pkg is not installed\n");
 
/*
 * Do not ask for confirmation if either of stdin or stdout is
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r244639 - head/usr.sbin/pkg

2012-12-23 Thread Matthew Seaman
Author: matthew (ports committer)
Date: Sun Dec 23 20:39:03 2012
New Revision: 244639
URL: http://svnweb.freebsd.org/changeset/base/244639

Log:
  Remove extraneous space and new-line.
  
  Submitted by: pjd, gcooper
  Approved by:  bapt
  MFC after:2 weeks

Modified:
  head/usr.sbin/pkg/pkg.c

Modified: head/usr.sbin/pkg/pkg.c
==
--- head/usr.sbin/pkg/pkg.c Sun Dec 23 20:12:57 2012(r244638)
+++ head/usr.sbin/pkg/pkg.c Sun Dec 23 20:39:03 2012(r244639)
@@ -457,8 +457,8 @@ main(__unused int argc, char *argv[])
 * a system is configured to use pkg, don't bootstrap pkg
 * when that argument is given as argv[1].
 */
-   if ( argv[1] != NULL && strcmp(argv[1], "-N") == 0)
-   errx(EXIT_FAILURE, "pkg is not installed\n");
+   if (argv[1] != NULL && strcmp(argv[1], "-N") == 0)
+   errx(EXIT_FAILURE, "pkg is not installed");
 
/*
 * Do not ask for confirmation if either of stdin or stdout is
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r231274 - head/usr.bin/calendar/calendars

2012-02-09 Thread Matthew Seaman
Author: matthew (ports committer)
Date: Thu Feb  9 14:13:56 2012
New Revision: 231274
URL: http://svn.freebsd.org/changeset/base/231274

Log:
  Add myself as a new committer
  
  Approved by:  shaun (mentor)

Modified:
  head/usr.bin/calendar/calendars/calendar.freebsd

Modified: head/usr.bin/calendar/calendars/calendar.freebsd
==
--- head/usr.bin/calendar/calendars/calendar.freebsdThu Feb  9 14:00:49 
2012(r231273)
+++ head/usr.bin/calendar/calendars/calendar.freebsdThu Feb  9 14:13:56 
2012(r231274)
@@ -274,6 +274,7 @@
 09/12  Weongyo Jeong  born in Haman, Korea, 1980
 09/12  Benedict Christopher Reuschling  born in Darmstadt, 
Germany, 1981
 09/12  William C. Fumerola II  born in Detroit, Michigan, 
United States, 1981
+09/14  Matthew Seaman  born in Bristol, United Kingdom, 
1965
 09/15  Aleksandr Rybalko  born in Odessa, Ukraine, 1977
 09/15  Dima Panov  born in Khabarovsk, Russian Federation, 
1978
 09/17  Maxim Bolotin  born in Rostov-on-Don, Russian 
Federation, 1976
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r231275 - head/share/misc

2012-02-09 Thread Matthew Seaman
Author: matthew (ports committer)
Date: Thu Feb  9 14:15:20 2012
New Revision: 231275
URL: http://svn.freebsd.org/changeset/base/231275

Log:
  Adding myself as a new committer
  
  Approved by:  shaun (mentor)

Modified:
  head/share/misc/committers-ports.dot

Modified: head/share/misc/committers-ports.dot
==
--- head/share/misc/committers-ports.dotThu Feb  9 14:13:56 2012
(r231274)
+++ head/share/misc/committers-ports.dotThu Feb  9 14:15:20 2012
(r231275)
@@ -134,6 +134,7 @@ marcus [label="Joe Marcus Clarke\nmarcus
 markus [label="Markus Brueffer\nmar...@freebsd.org\n2004/02/21"]
 martymac [label="Ganael Laplanche\nmarty...@freebsd.org\n2010/09/24"]
 mat [label="Mathieu Arnold\n...@freebsd.org\n2003/08/15"]
+matthew [label="Matthew Seaman\nmatt...@freebsd.org\n2012/02/07"]
 mezz [label="Jeremy Messenger\nm...@freebsd.org\n2004/04/30"]
 miwi [label="Martin Wilke\nm...@freebsd.org\n2006/06/04"]
 mm [label="Martin Matuska\n...@freebsd.org\n2007/04/04"]
@@ -413,6 +414,7 @@ sem -> delphij
 sem -> stas
 
 shaun -> timur
+shaun -> matthew
 
 sobomax -> demon
 sobomax -> glewis
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r310181 - in head: . release/scripts share/mk

2016-12-16 Thread Matthew Seaman
Author: matthew (ports committer)
Date: Fri Dec 16 23:05:47 2016
New Revision: 310181
URL: https://svnweb.freebsd.org/changeset/base/310181

Log:
  Revert r309339, thus re-instating r309314
  
  The original problem with conflicting definitions of ${PKG_CMD} was
  solved by r427523 in ports (see https://reviews.freebsd.org/D8677), so
  this should be safe now.
  
  Reviewed by:  gjb
  Approved by:  gjb
  Differential Revision:https://reviews.freebsd.org/D8120

Modified:
  head/Makefile.inc1
  head/release/scripts/make-pkg-package.sh
  head/share/mk/bsd.own.mk

Modified: head/Makefile.inc1
==
--- head/Makefile.inc1  Fri Dec 16 22:39:30 2016(r310180)
+++ head/Makefile.inc1  Fri Dec 16 23:05:47 2016(r310181)
@@ -1379,7 +1379,8 @@ packages: .PHONY
 package-pkg: .PHONY
rm -rf /tmp/ports.${TARGET} || :
env ${WMAKEENV:Q} SRCDIR=${.CURDIR} PORTSDIR=${PORTSDIR} 
REVISION=${_REVISION} \
-   PKG_VERSION=${PKG_VERSION} REPODIR=${REPODIR} 
WSTAGEDIR=${WSTAGEDIR} \
+   PKG_CMD=${PKG_CMD} PKG_VERSION=${PKG_VERSION} 
REPODIR=${REPODIR} \
+   WSTAGEDIR=${WSTAGEDIR} \
sh ${.CURDIR}/release/scripts/make-pkg-package.sh
 
 real-packages: stage-packages create-packages sign-packages .PHONY
@@ -1417,11 +1418,11 @@ create-world-packages:  _pkgbootstrap .PH
/^name/ { printf("===> Creating %s-", $$2); next } \
/^version/ { print $$2; next } \
' ${WSTAGEDIR}/$${pkgname}.ucl ; \
-   pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
+   ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o 
ALLOW_BASE_SHLIBS=yes \
create -M ${WSTAGEDIR}/$${pkgname}.ucl \
-p ${WSTAGEDIR}/$${pkgname}.plist \
-r ${WSTAGEDIR} \
-   -o ${REPODIR}/$$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh 
config ABI)/${PKG_VERSION} ; \
+   -o ${REPODIR}/$$(${PKG_CMD} -o 
ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION} ; \
done
 
 create-kernel-packages:_pkgbootstrap .PHONY
@@ -1445,11 +1446,11 @@ create-kernel-packages: _pkgbootstrap .P
/name/ { printf("===> Creating %s-", $$2); next } \
/version/ {print $$2; next } ' \
${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.ucl ; \
-   pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
+   ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
create -M 
${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.ucl \
-p 
${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.plist \
-r ${KSTAGEDIR}/${DISTDIR} \
-   -o ${REPODIR}/$$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config 
ABI)/${PKG_VERSION}
+   -o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh 
config ABI)/${PKG_VERSION}
 .endfor
 .endif
 .if ${BUILDKERNELS:[#]} > 1 && ${NO_INSTALLEXTRAKERNELS} != "yes"
@@ -1474,25 +1475,25 @@ create-kernel-packages: _pkgbootstrap .P
/name/ { printf("===> Creating %s-", $$2); next } \
/version/ {print $$2; next } ' \
${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl ; 
\
-   pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
+   ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
create -M 
${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl \
-p 
${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.plist \
-r ${KSTAGEDIR}/kernel.${_kernel} \
-   -o ${REPODIR}/$$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config 
ABI)/${PKG_VERSION}
+   -o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh 
config ABI)/${PKG_VERSION}
 .endfor
 .endif
 .endfor
 .endif
 
 sign-packages: _pkgbootstrap .PHONY
-   @[ -L "${REPODIR}/$$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config 
ABI)/latest" ] && \
-   unlink ${REPODIR}/$$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config 
ABI)/latest ; \
-   pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh repo \
-   -o ${REPODIR}/$$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config 
ABI)/${PKG_VERSION} \
-   ${REPODIR}/$$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config 
ABI)/${PKG_VERSION} \
+   @[ -L "${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config 
ABI)/latest" ] && \
+   unlink ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh 
config ABI)/latest ; \
+   ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh repo \
+   -o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh 
config ABI)/${PKG_VERSION} \
+   ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config 
ABI)/${PKG_VERSION} \
${