Author: phk
Date: Thu May 25 21:59:19 2017
New Revision: 318903
URL: https://svnweb.freebsd.org/changeset/base/318903

Log:
  Try to keep up with the ports system Makefiles.

Modified:
  head/tools/tools/sysbuild/sysbuild.sh

Modified: head/tools/tools/sysbuild/sysbuild.sh
==============================================================================
--- head/tools/tools/sysbuild/sysbuild.sh       Thu May 25 21:41:06 2017        
(r318902)
+++ head/tools/tools/sysbuild/sysbuild.sh       Thu May 25 21:59:19 2017        
(r318903)
@@ -95,6 +95,9 @@ PORTS_WE_WANT='
 
 PORTS_OPTS="BATCH=YES A4=yes"
 
+PORTS_WITHOUT=""
+PORTS_WITH=""
+
 CONFIGFILES='
 '
 
@@ -174,6 +177,9 @@ log_it() (
 
 #######################################################################
 
+ports_make() {
+       make $* WITH="${PORTS_WITH}" WITHOUT="${PORTS_WITHOUT}" ${PORTS_OPTS}
+}
 
 ports_recurse() (
        cd /usr/ports
@@ -191,7 +197,7 @@ ports_recurse() (
        for d
        do
                if [ ! -d $d ] ; then
-                       echo "Missing port $d" 1>&2
+                       echo "Missing port $d ($t)" 1>&2
                        continue
                fi
                d=`cd /usr/ports && cd $d && /bin/pwd`
@@ -210,15 +216,12 @@ ports_recurse() (
                        (
                        cd $d
                        l=""
-                       for a in `make -V _UNIFIED_DEPENDS ${PORTS_OPTS}`
+                       for a in `ports_make -V _UNIFIED_DEPENDS`
                        do
                                x=`expr "$a" : '.*:\(.*\)'`
                                l="${l} ${x}"
                        done
                        ports_recurse $d $l
-                       # -> _UNIFIED_DEPENDS
-                       #ports_recurse $d `make -V _DEPEND_DIRS ${PORTS_OPTS}`
-                       #ports_recurse $d `make all-depends-list`
                        )
                        echo "$d" >> /tmp/_.plist
                fi
@@ -242,14 +245,14 @@ ports_build() (
        do
                b=`echo $p | tr / _`
                t=`echo $p | sed "s,${pd},,"`
-               pn=`cd $p && make package-name ${PORTS_OPTS}`
+               pn=`cd $p && ports_make package-name`
 
                if [ "x`basename $p`" == "xpkg" ] ; then
                        log_it "Very Special: $t ($pn)"
 
                        (
                        cd $p
-                       make clean all install ${PORTS_OPTS}
+                       ports_make clean all install 
                        ) > _.$b 2>&1 < /dev/null
                        continue
                fi
@@ -270,7 +273,7 @@ ports_build() (
                        fi
                fi
 
-               miss=`(cd $p ; make missing ${PORTS_OPTS}) || true`
+               miss=`(cd $p ; ports_make missing) || true`
 
                if [ "x${miss}" != "x" ] ; then
                        log_it "NB: MISSING for $p:" $miss
@@ -280,15 +283,16 @@ ports_build() (
                (
                        set +e
                        cd $p
-                       make clean ${PORTS_OPTS}
-                       if make install ${PORTS_OPTS} ; then
+                       ports_make clean
+                       if ports_make install ; then
                                if [ "x${PKG_DIR}" != "x" ] ; then
-                                       make package ${PORTS_OPTS}
+                                       ports_make package
                                fi
                        else
                                log_it FAIL build $p
                        fi
-                       make clean ${PORTS_OPTS}
+                       ports_make clean
+
                ) > _.$b 2>&1 < /dev/null
        done
 )
@@ -309,15 +313,15 @@ ports_prefetch() (
                b=`echo $p | tr / _`
                (
                        cd $p
-                       if make checksum $PORTS_OPTS ; then
+                       if ports_make checksum ; then
                                rm -f /${ldir}/_.prefetch.$b
                                echo "OK $p" >> /${ldir}/_.prefetch
                                exit 0
                        fi
-                       make distclean
-                       make checksum $PORTS_OPTS || true
+                       ports_make distclean
+                       ports_make checksum || true
 
-                       if make checksum $PORTS_OPTS > /dev/null 2>&1 ; then
+                       if ports_make checksum > /dev/null 2>&1 ; then
                                rm -f /${ldir}/_.prefetch.$b
                                echo "OK $p" >> /${ldir}/_.prefetch
                        else
@@ -472,8 +476,7 @@ ln -s /freebsd/${SRC_PATH} /usr/src
 if $do_world ; then
        if [ "x${OBJ_PATH}" != "x" ] ; then
                rm -rf /usr/obj
-               mkdir -p /freebsd/${OBJ_PATH}
-               ln -s /freebsd/${OBJ_PATH} /usr/obj
+               (cd /freebsd && mkdir -p ${OBJ_PATH} && ln -s ${OBJ_PATH} 
/usr/obj)
        else
                rm -rf /usr/obj
                mkdir -p /usr/obj
@@ -493,8 +496,8 @@ do
        )
 done
 
-export PORTS_WE_WANT
-export PORTS_OPTS
+#export PORTS_WE_WANT
+#export PORTS_OPTS
 
 #######################################################################
 
@@ -548,7 +551,7 @@ log_it Installkernel
 
 if [ "x${OBJ_PATH}" != "x" ] ; then
        rmdir ${SBMNT}/usr/obj
-       ln -s /freebsd/${OBJ_PATH} ${SBMNT}/usr/obj
+       ( cd /freebsd && mkdir -p ${OBJ_PATH} && ln -s ${OBJ_PATH} 
${SBMNT}/usr/obj )
 fi
 
 log_it Wait for ports prefetch
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to