[Midnightbsd-cvs] mports [22248] trunk/Mk: move clean depends to a script

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat Jan 28 17:25:49 EST 2017


Revision: 22248
          http://svnweb.midnightbsd.org/mports/?rev=22248
Author:   laffer1
Date:     2017-01-28 17:25:48 -0500 (Sat, 28 Jan 2017)
Log Message:
-----------
move clean depends to a script

Modified Paths:
--------------
    trunk/Mk/bsd.mport.mk

Added Paths:
-----------
    trunk/Mk/scripts/clean-depends-list.sh

Modified: trunk/Mk/bsd.mport.mk
===================================================================
--- trunk/Mk/bsd.mport.mk	2017-01-28 22:20:49 UTC (rev 22247)
+++ trunk/Mk/bsd.mport.mk	2017-01-28 22:25:48 UTC (rev 22248)
@@ -3505,7 +3505,6 @@
 # Dependency lists: both build and runtime, recursive.  Print out directory names.
 
 _UNIFIED_DEPENDS=${PKG_DEPENDS} ${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS}
-_DEPEND_DIRS=	${_UNIFIED_DEPENDS:C,^[^:]*:([^:]*).*$,\1,} ${DEPENDS:C,:.*,,}
 _DEPEND_SPECIALS=	${_UNIFIED_DEPENDS:M*\:*\:*:C,^[^:]*:([^:]*):.*$,\1,}
 
 all-depends-list:
@@ -3519,9 +3518,17 @@
 			dp_SCRIPTSDIR="${SCRIPTSDIR}" \
 			${SH} ${SCRIPTSDIR}/all-depends-list.sh
 
+CLEAN-DEPENDS-LIST= \
+	${SETENV} dp_ALLDEPENDS="${_UNIFIED_DEPENDS}" \
+			dp_PORTSDIR="${PORTSDIR}" \
+			dp_MAKE="${MAKE}" \
+			dp_PKGNAME="${PKGNAME}" \
+			dp_SCRIPTSDIR="${SCRIPTSDIR}" \
+			${SH} ${SCRIPTSDIR}/clean-depends-list.sh
+
 .if !target(clean-depends)
 clean-depends:
-	@for dir in $$(${CLEAN-DEPENDS-FULL}); do \
+	@for dir in $$(${CLEAN-DEPENDS-LIST} full); do \
 		(cd $$dir; ${MAKE} NOCLEANDEPENDS=yes clean); \
 	done
 .endif
@@ -3528,7 +3535,7 @@
 
 .if !target(limited-clean-depends)
 limited-clean-depends:
-	@for dir in $$(${CLEAN-DEPENDS-LIMITED}); do \
+	@for dir in $$(${CLEAN-DEPENDS-LIST} limited); do \
 		(cd $$dir; ${MAKE} NOCLEANDEPENDS=yes clean); \
 	done
 .endif

Added: trunk/Mk/scripts/clean-depends-list.sh
===================================================================
--- trunk/Mk/scripts/clean-depends-list.sh	                        (rev 0)
+++ trunk/Mk/scripts/clean-depends-list.sh	2017-01-28 22:25:48 UTC (rev 22248)
@@ -0,0 +1,49 @@
+#!/bin/sh
+# $MidnightBSD$
+
+. ${dp_SCRIPTSDIR}/functions.sh
+
+set -e
+validate_env dp_PKGNAME dp_MAKE dp_PORTSDIR
+set -u
+
+arg=$1
+shift
+if [ "${arg}" != "full" -a "${arg}" != "limited" ]; then
+	echo "the first argument can only be 'full' or 'limited'" >&2
+	exit 1
+fi
+
+check_dep() {
+	for _dep ; do
+		myifs=${IFS}
+		IFS=:
+		set -- ${_dep}
+		IFS=${myifs}
+
+		case "${2}" in
+			/*) d=${2} ;;
+			*) d=${dp_PORTSDIR}/${2} ;;
+		esac
+
+		case " ${checked} " in
+			*\ ${d}\ *) continue ;; # Already checked
+		esac
+		checked="${checked} ${d}"
+		if [ ! -d ${d} ]; then
+			echo "${dp_PKGNAME}: \"${d}\" non-existent -- dependency list incomplete" >&2
+			continue
+		fi
+		set -- $(${dp_MAKE} -C ${d} -VWRKDIR -V_UNIFIED_DEPENDS)
+		if [ -d ${1} ]; then
+			echo ${d}
+		elif [ "$arg" = "limited" ]; then
+			break
+		fi
+		shift
+		check_dep $@
+	done
+}
+
+checked=
+check_dep ${dp_ALLDEPENDS}


Property changes on: trunk/Mk/scripts/clean-depends-list.sh
___________________________________________________________________
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


More information about the Midnightbsd-cvs mailing list