ports/184391: [patch] ports-mgmt/tinderbox update to 4.1.0

ohauer at FreeBSD.org ohauer at FreeBSD.org
Sat Nov 30 11:00:01 UTC 2013


>Number:         184391
>Category:       ports
>Synopsis:       [patch] ports-mgmt/tinderbox update to 4.1.0
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Nov 30 11:00:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     ohauer
>Release:        
>Organization:
>Environment:

>Description:
Update ports-mgmt/tinderbox to version 4.1.0

>How-To-Repeat:

>Fix:

--- tinderbox-4.1.0.diff begins here ---
Index: tinderbox/Makefile
===================================================================
--- tinderbox/Makefile	(revision 335279)
+++ tinderbox/Makefile	(working copy)
@@ -2,8 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	tinderbox
-PORTVERSION=	4.0.1
-PORTREVISION=	4
+PORTVERSION=	4.1.0
 CATEGORIES=	ports-mgmt
 MASTER_SITES=	http://tinderbox.marcuscom.com/ \
 		http://T32.TecNik93.com/FreeBSD/ports/${PORTNAME}/sources/
Index: tinderbox/distinfo
===================================================================
--- tinderbox/distinfo	(revision 335279)
+++ tinderbox/distinfo	(working copy)
@@ -1,2 +1,2 @@
-SHA256 (tinderbox/tinderbox-4.0.1.tar.gz) = 4d49e62bcfd94438f4dce3481fab7d89c86cc200fc73a9c0744ddd01b36bc92e
-SIZE (tinderbox/tinderbox-4.0.1.tar.gz) = 150826
+SHA256 (tinderbox/tinderbox-4.1.0.tar.gz) = b2950034fe66ab36b741b99dc3d59626cef3f75a46b128d77f08e679bf69e5ee
+SIZE (tinderbox/tinderbox-4.1.0.tar.gz) = 151397
Index: tinderbox/files/patch-chroot
===================================================================
--- tinderbox/files/patch-chroot	(revision 335279)
+++ tinderbox/files/patch-chroot	(working copy)
@@ -1,395 +0,0 @@
-Calculate dependencies in a chroot
-
-Index: lib/makemake
-===================================================================
-RCS file: /space/cvs/marcuscom-cvs/portstools/tinderbox/lib/makemake,v
-retrieving revision 1.48
-diff -u -r1.48 makemake
---- lib/makemake	6 Nov 2012 21:55:47 -0000	1.48
-+++ lib/makemake	5 Oct 2013 16:30:30 -0000
-@@ -135,11 +135,12 @@
- my (
-         %pkgdir,   %pkgdeps,  %pkgedeps, %pkgpdeps, %pkgfdeps,
-         %pkgbdeps, %pkgrdeps, @duds,     $portbase, $makecache,
--        %pkgtdeps, %pkgpkgdeps,
-+        %pkgtdeps, %pkgpkgdeps,          $chroot,
- );
- 
- $portbase  = $ENV{'PORTSDIR'};
--$makecache = new Tinderbox::MakeCache($portbase, $ENV{'PKGSUFFIX'});
-+$chroot    = $ENV{'CHROOT'};
-+$makecache = new Tinderbox::MakeCache($portbase, $chroot, $ENV{'PKGSUFFIX'});
- 
- while (scalar(@PORTS)) {
-         my $port    = shift @PORTS;
-@@ -148,7 +149,7 @@
- 
-         next if (defined($pkgdir{$portdir}));
- 
--        $tportdir = "$portbase/$portdir";
-+        $tportdir = "$chroot$portbase/$portdir";
-         if (!-d $tportdir) {
-                 print STDERR "ERROR: Directory $tportdir does not exist.\n";
-                 if (defined($pkgdeps{$portdir})
-Index: lib/tc_command.pl
-===================================================================
-RCS file: /space/cvs/marcuscom-cvs/portstools/tinderbox/lib/tc_command.pl,v
-retrieving revision 1.184
-diff -u -r1.184 tc_command.pl
---- lib/tc_command.pl	28 Apr 2013 20:05:40 -0000	1.184
-+++ lib/tc_command.pl	5 Oct 2013 16:30:31 -0000
-@@ -1536,7 +1536,8 @@
- sub addPortToOneBuild {
-         my $build = $ds->getBuildByName($opts->{'b'});
-         my $makecache =
--            new Tinderbox::MakeCache($ENV{'PORTSDIR'}, $ENV{'PKGSUFFIX'});
-+            new Tinderbox::MakeCache($ENV{'PORTSDIR'}, $ENV{'CHROOT'},
-+                                     $ENV{'PKGSUFFIX'});
-         my @bports = ();
- 
-         if (!$opts->{'d'}) {
-@@ -3414,12 +3415,14 @@
-         my $cache = shift;
-         my $deps  = shift;
- 
--        my $portdir = $ENV{'PORTSDIR'} . "/" . $port;
-+        my $portsdir = $ENV{'CHROOT'} . $ENV{'PORTSDIR'};
-+
-+        my $portdir = $portsdir . "/" . $port;
-         return undef if (!-d $portdir);
- 
-         # Canonicalize the port directory.
-         $port = abs_path($portdir);
--        $port =~ s|$ENV{'PORTSDIR'}/||;
-+        $port =~ s|$portsdir/||;
- 
-         if (defined($deps)) {
-                 my @list;
-Index: lib/tc_command.sh
-===================================================================
-RCS file: /space/cvs/marcuscom-cvs/portstools/tinderbox/lib/tc_command.sh,v
-retrieving revision 1.175
-diff -u -r1.175 tc_command.sh
---- lib/tc_command.sh	7 Aug 2013 18:25:52 -0000	1.175
-+++ lib/tc_command.sh	5 Oct 2013 16:30:32 -0000
-@@ -1385,7 +1385,7 @@
-     cleanDirs ${buildName} ${BUILD_DIR}
- 
-     if [ "${MD_FSTYPE}" = "ufs" -o "${MD_FSTYPE}" = "zfs" ]; then
--	if [ -n "${MD_SIZE}" -a ${MD_SIZE%[a-zA-Z]} -gt 0 ]; then
-+	if [ -n "${MD_SIZE}" ] && [ ${MD_SIZE%[a-zA-Z]} -gt 0 ]; then
- 	    # setup md (ramdisk) backing for the build
- 	    mdconfig -a -t swap -s ${MD_SIZE} > /tmp/tinderbuild_md.${build}
- 	    read MD_UNIT </tmp/tinderbuild_md.${build}
-@@ -1400,7 +1400,7 @@
- 	    fi
- 	fi
-     elif [ "${MD_FSTYPE}" = "tmpfs" ]; then
--	if [ -n "${MD_SIZE}" -a ${MD_SIZE%[a-zA-Z]} -gt 0 ]; then
-+	if [ -n "${MD_SIZE}" ] && [ ${MD_SIZE%[a-zA-Z]} -gt 0 ]; then
- 	    mount -t tmpfs -o size=${MD_SIZE} tmpfs ${BUILD_DIR}
- 	else
- 	    mount -t tmpfs tmpfs ${BUILD_DIR}
-@@ -1416,7 +1416,7 @@
-     execute_hook "postBuildExtract" "BUILD=${buildName} DESTDIR=${BUILD_DIR} JAIL=${jailName} PB=${pb} RC=0"
- 
-     # Finalize environment
--    cp -f /etc/resolv.conf ${BUILD_DIR}/etc
-+    cp /etc/resolv.conf ${BUILD_DIR}/etc || touch ${BUILD_DIR}/etc/resolv.conf
- 
-     return 0
- }
-@@ -1957,7 +1957,16 @@
- 	${tc} updatePortsTree -p ${portstree}
-     fi
- 
--    # Create makefile if required
-+    # Set up the chrooted environment
-+    osmajor=$(echo ${jail} | sed -E -e 's|(^[[:digit:]]+).*$|\1|')
-+    if [ ${osmajor} -lt 6 ]; then
-+	echo "tinderbuild: unhandled OS version: ${osmajor}"
-+	tinderbuild_cleanup 1
-+    fi
-+
-+    tinderbuild_setup
-+
-+    # Create Makefile if required
-     if [ ${skipmake} -eq 0 ]; then
- 	echo "tinderbuild: creating makefile..."
- 
-@@ -1966,19 +1975,16 @@
- 	(
- 	    export PORTBUILD_ARGS="$(echo ${pbargs})"
- 	    buildenvNoHost ${build}
--	    if ! requestMount -t portstree -p ${portstree}; then
--		echo "tinderbuild: cannot mount portstree: ${portstree}"
--		exit 1
--	    fi
--	    env PORTSDIR=$(tinderLoc portstree ${portstree})/ports \
-+	    buildenv ${jail} ${portstree} ${build}
-+	    HOST_WORKDIR=$(${tc} configGet | \
-+		awk -F= '/^HOST_WORKDIR/ {print $2}')
-+	    env PORTSDIR=/a/ports \
-+		CHROOT=$(tinderLoc buildroot ${build}) \
- 		$(tinderLoc scripts lib/makemake) ${noduds} ${build} ${ports}
- 	)
- 	if [ $? -ne 0 ]; then
- 	    echo "tinderbuild: failed to generate Makefile for ${build}"
--	    cleanupMounts -t portstree -p ${portstree}
- 	    tinderbuild_cleanup 1
--	else
--	    cleanupMounts -t portstree -p ${portstree}
- 	fi
-     fi
- 
-@@ -1987,15 +1993,6 @@
- 	tinderbuild_cleanup 0
-     fi
- 
--    # Set up the chrooted environment
--    osmajor=$(echo ${jail} | sed -E -e 's|(^[[:digit:]]+).*$|\1|')
--    if [ ${osmajor} -lt 6 ]; then
--	echo "tinderbuild: unhandled OS version: ${osmajor}"
--	tinderbuild_cleanup 1
--    fi
--
--    tinderbuild_setup
--
-     # Seatbelts off.  Away we go.
-     ${tc} updateBuildStatus -b ${build} -s PORTBUILD
-     tinderbuild_phase 0 ${jobs} ${pkgDir}
-@@ -2045,7 +2042,11 @@
- addPortToBuild_cleanup () {
-     jail=$1
-     portsTree=$2
-+    build=$3
- 
-+    cleanupMounts -t buildports -b ${build}
-+    cleanupMounts -t buildsrc -b ${build}
-+    cleanupMounts -t buildoptions -b ${build}
-     cleanupMounts -t jail -j ${jail}
-     cleanupMounts -t portstree -p ${portsTree}
- }
-@@ -2070,7 +2071,29 @@
- 	exit 1
-     fi
- 
--    trap "addPortToBuild_cleanup ${jail} ${portsTree}" 1 2 3 9 10 11 15
-+    # Extracting the Jail tarball takes ages on some systems, so we can
-+    # pretty safely (for these purposes) reuse the extraction as long as
-+    # resolv.conf is newer than the tarball (resolv.conf is created
-+    # by makeBuild)
-+    HOST_WORKDIR=$(${tc} configGet | awk -F= '/^HOST_WORKDIR/ {print $2}')
-+    if [ $(tinderLoc jailtarball ${jail}) -ot \
-+	 $(tinderLoc buildroot ${build})/etc/resolv.conf ]; then
-+	echo "addPortToBuild: recent jail tarball exists; no need to reextract"
-+    else
-+	echo "addPortToBuild: extracting jail tarball to calculate dependencies inside"
-+	makeBuild -b ${build}
-+    fi
-+
-+    if ! requestMount -t buildports -b ${build} -r -n; then
-+	echo "addPortToBuild: cannot mount ports source inside ${build}"
-+	exit 1
-+    fi
-+    if ! requestMount -t buildsrc -b ${build} -r -n; then
-+	echo "addPortToBuild: cannot mount base source inside ${build}"
-+	exit 1
-+    fi
-+
-+    trap "addPortToBuild_cleanup ${jail} ${portsTree} ${build}" 1 2 3 9 10 11 15
- 
-     # Save TERM since we need that for OPTIONS
-     save_TERM=${TERM}
-@@ -2082,22 +2105,30 @@
-     buildenv ${jail} ${portsTree} ${build}
-     buildenvNoHost ${build}
- 
--    export PORTSDIR=$(tinderLoc portstree ${portsTree})/ports
--    if [ -z "${portDir}" ]; then
--	${tc} addPortToOneBuild -b ${build} ${norecurse}
--    else
--        if [ ! -d ${PORTSDIR}/${portDir} ]; then
--            echo "addPort: Unknown port ${portDir}"
--            exit 1
--        fi
--        ${tc} addPortToOneBuild -b ${build} -d ${portDir} ${norecurse}
-+    if [ ${options} -eq 1 -a ${OPTIONS_ENABLED} -eq 1 ]; then
-+	mkdir -p $(tinderLoc options ${build}) \
-+		 $(tinderLoc buildoptions ${build})
-+	if ! requestMount -t buildoptions -b ${build} \
-+		-s $(tinderLoc options ${build}) -n; then
-+	    echo "addPortToBuild: cannot mount options inside ${build}"
-+	    exit 1
-+	fi
-     fi
-+
-+    export PORTSDIR=/a/ports
-+    export CHROOT=$(tinderLoc buildroot ${build})
-+
-+    if [ -n "${portDir}" ] && [ ! -d ${CHROOT}/${PORTSDIR}/${portDir} ]; then
-+        echo "addPort: Unknown port ${portDir}"
-+        exit 1
-+    fi
-+
-     if [ ${options} -eq 1 -a ${OPTIONS_ENABLED} -eq 1 ]; then
- 	pdirs=""
- 	if [ -z "${portDir}" ]; then
- 	    pdirs=$(${tc} getPortsForBuild -b ${build} 2>/dev/null)
- 	else
--	    pdirs="${PORTSDIR}/${portDir}"
-+	    pdirs="${portDir}"
- 	fi
- 	rmconfig=true
- 	if [ ${cleanOptions} -eq 1 ]; then
-@@ -2108,28 +2139,38 @@
- 	    fi
- 	fi
- 	for pdir in ${pdirs}; do
--	    if [ -d ${pdir} ]; then
-+	    if [ -d ${CHROOT}${PORTSDIR}/${pdir} ]; then
- 	        export TERM=${save_TERM}
-+		if ! cp /usr/local/bin/dialog4ports-static ${CHROOT}/; then
-+		    echo "In order to customise OPTIONS, you must install"
-+		    echo "ports-mgmt/dialog4ports-static."
-+		    break
-+		fi
- 	        read -p "Generating options for ${build}; hit Enter to continue..." key
- 	        echo ""
- 	        if [ -z "${norecurse}" ]; then
--		    ( cd ${pdir} && ${rmconfig} \
--		      && make -k config-recursive )
-+		    chroot ${CHROOT} /bin/sh -c \
-+			"cd ${PORTSDIR}/${pdir} && ${rmconfig} && \
-+			make -k DIALOG4PORTS=/dialog4ports-static \
-+			    config-recursive"
- 	        else
--		    ( cd ${pdir} && ${rmconfig} \
--		      && make config )
-+		    chroot ${CHROOT} /bin/sh -c \
-+			"cd ${PORTSDIR}/${pdir} && ${rmconfig} && \
-+			make DIALOG4PORTS=/dialog4ports-static config"
- 	        fi
- 	    fi
- 	done
-     fi
- 
-+    ${tc} addPortToOneBuild -b ${build} ${portDir:+-d} ${portDir} ${norecurse}
-+
-     if [ -n "${save_SRCBASE}" ]; then
- 	export SRCBASE=${save_SRCBASE}
-     else
- 	unset SRCBASE
-     fi
- 
--    addPortToBuild_cleanup ${jail} ${portsTree}
-+    addPortToBuild_cleanup ${jail} ${portsTree} ${build}
- }
- 
- addPort () {
-Index: lib/tinderlib.sh
-===================================================================
-RCS file: /space/cvs/marcuscom-cvs/portstools/tinderbox/lib/tinderlib.sh,v
-retrieving revision 1.83
-diff -u -r1.83 tinderlib.sh
---- lib/tinderlib.sh	10 Jun 2013 16:49:51 -0000	1.83
-+++ lib/tinderlib.sh	5 Oct 2013 16:30:32 -0000
-@@ -498,9 +498,7 @@
-     save_IFS=${IFS}
-     IFS='
- '
--    # Allow SRCBASE to be overridden
--    eval "export SRCBASE=${SRCBASE:-`realpath $(tinderLoc jail ${jail})/src`}" \
--	>/dev/null 2>&1
-+    # Do not set SRCBASE here-- we use chroots nowadays so /usr/src is there
- 
-     # Set ARCH (needed for cross-building)
-     export ARCH=$(${tc} getJailArch -j ${jail})
-@@ -524,13 +522,6 @@
-     eval "export __MAKE_CONF=${jailBase}/make.conf" >/dev/null 2>&1
-     eval "export LOCALBASE=/nonexistentlocal" >/dev/null 2>&1
-     eval "export PKG_DBDIR=/nonexistentdb" >/dev/null 2>&1
--    if [ x"${OPTIONS_ENABLED}" != x"1" ]; then
--        eval "export PORT_DBDIR=/nonexistentportdb" >/dev/null 2>&1
--    else
--	optionsDir=$(tinderLoc options ${build})
--
--	eval "export PORT_DBDIR=${optionsDir}" >/dev/null 2>&1
--    fi
-     eval "export LINUXBASE=/nonexistentlinux" >/dev/null 2>&1
-     eval "unset DISPLAY" >/dev/null 2>&1
- }
-Index: lib/Tinderbox/MakeCache.pm
-===================================================================
-RCS file: /space/cvs/marcuscom-cvs/portstools/tinderbox/lib/Tinderbox/MakeCache.pm,v
-retrieving revision 1.12
-diff -u -r1.12 MakeCache.pm
---- lib/Tinderbox/MakeCache.pm	4 Mar 2012 12:53:08 -0000	1.12
-+++ lib/Tinderbox/MakeCache.pm	5 Oct 2013 16:30:32 -0000
-@@ -49,6 +49,7 @@
-                 CACHE   => undef,
-                 SEEN    => undef,
-                 BASEDIR => shift,
-+                CHROOT  => shift,
-         }, $name;
- 
-         $self;
-@@ -67,7 +68,10 @@
- 
-         $tmp = '-V ' . join(' -V ', @makeTargets);
-         my $dir = $self->{BASEDIR} . '/' . $port;
--        @ret = split("\n", `cd $dir && make $tmp`);
-+        my $cmd = "cd $dir && make $tmp";
-+        $cmd = "chroot $self->{CHROOT} /bin/sh -c '$cmd'";
-+
-+        @ret = split("\n", `$cmd`);
- 
-         foreach $tmp (@makeTargets) {
-                 $self->{CACHE}->{$port}{$tmp} = shift @ret;
-? .fslckout
-? .fslckout-mjFA3F63973
-Index: lib/tc_command.sh
-===================================================================
-RCS file: /space/cvs/marcuscom-cvs/portstools/tinderbox/lib/tc_command.sh,v
-retrieving revision 1.176
-diff -u -r1.176 tc_command.sh
---- lib/tc_command.sh	7 Oct 2013 16:36:54 -0000	1.176
-+++ lib/tc_command.sh	7 Oct 2013 18:34:20 -0000
-@@ -2049,6 +2049,7 @@
-     cleanupMounts -t buildoptions -b ${build}
-     cleanupMounts -t jail -j ${jail}
-     cleanupMounts -t portstree -p ${portsTree}
-+    cleanenv
- }
- 
- addPortToBuild () {
- 
-Index: lib/tinderlib.sh
-===================================================================
-RCS file: /space/cvs/marcuscom-cvs/portstools/tinderbox/lib/tinderlib.sh,v
-retrieving revision 1.85
-diff -u -r1.85 tinderlib.sh
---- lib/tinderlib.sh	7 Oct 2013 16:36:54 -0000	1.85
-+++ lib/tinderlib.sh	13 Oct 2013 12:54:19 -0000
-@@ -506,7 +506,10 @@
-     save_IFS=${IFS}
-     IFS='
- '
--    # Do not set SRCBASE here-- we use chroots nowadays so /usr/src is there
-+
-+    # Allow SRCBASE to be overridden
-+    eval "export SRCBASE=${SRCBASE:-`realpath $(tinderLoc jail ${jail})/src`}" \
-+        >/dev/null 2>&1
- 
-     # Set ARCH (needed for cross-building)
-     export ARCH=$(${tc} getJailArch -j ${jail})
---- lib/tc_command.wrong	2013-10-19 21:15:58.461836978 +0100
-+++ lib/tc_command.sh	2013-10-19 21:16:32.105859389 +0100
-@@ -1967,7 +1967,6 @@
- 	(
- 	    export PORTBUILD_ARGS="$(echo ${pbargs})"
- 	    buildenvNoHost ${build}
--	    buildenv ${jail} ${portstree} ${build}
- 	    HOST_WORKDIR=$(${tc} configGet | \
- 		awk -F= '/^HOST_WORKDIR/ {print $2}')
- 	    env PORTSDIR=/a/ports \
--- tinderbox-4.1.0.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list