summaryrefslogtreecommitdiff
path: root/mk/bulk/build
blob: 9f1c70fe8f9047f1f40c6d25a4fcf4c73521e137 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/bin/sh
# $NetBSD: build,v 1.6 2000/12/30 14:53:28 dmcmahill Exp $
#
# Do builk build
#
# (c) 2000 Hubert Feyrer, All Rights Reserved.
#

echo Bulk build started: `date`
echo ""

# Pull in ADMIN etc.:
if [ -f "$BULK_BUILD_CONF" ]; then
    . $BULK_BUILD_CONF
else
	conf=`dirname $0`/build.conf
	if [ -f "$conf" ]; then
		. $conf
	else
		echo "$0: Cannot find config file $conf, aborting."
		exit 1
	fi
fi

if [ "$http_proxy" != "" ]; then
	echo "Using HTTP proxy $http_proxy"
	export http_proxy
fi
if [ "$ftp_proxy" != "" ]; then
	echo "Using FTP proxy $ftp_proxy"
	export ftp_proxy
fi
echo ""

unset DISPLAY		# allow sane failure for gimp, xlispstat

cd ${USR_PKGSRC}

# extract the name of the files used for the build log and broken build log.
# these have defaults set by bsd.bulk-pkg.mk and may be overridden in /etc/mk.conf
BROKENF=`( cd $USR_PKGSRC/pkgtools/pkglint ; make show-var VARNAME=BROKENFILE )`;
export BROKENF
if [ "$BROKENF" = "" ]; then
	echo "Had problems determining the name of the .broken.files"
	exit 1
fi
BLDLOG=`( cd $USR_PKGSRC/pkgtools/pkglint ; make show-var VARNAME=BUILDLOG )`;
export BLDLOG
if [ "$BLDLOG" = "" ]; then
	echo "Had problems determining the name of the .make.files"
	exit 1
fi


if [ "$1" = "restart" ]; then
	echo Restarting - skipping pre-build script
else
	sh mk/bulk/pre-build	# make veryveryclean :)
fi

# Figure out optimal build order, and build
if [ "$1" != "restart" ]; then
	sh mk/bulk/printdepends | tsort | tee .l
fi
nice -n 20 make \
		SPECIFIC_PKGS=1 \
		GROUP_SPECIFIC_PKGS="`cat .l | tr '\012' ' '`" \
		bulk-package | sed 's/^/'`uname -p`'> /g'
rm .l

# Perl was wiped, reinstall it!
( cd lang/perl5-base ; make bulk-install )
perl mk/bulk/post-build | mail -s "pkgsrc/`uname -p` bulk build results `date +%F`" $ADMIN

# Done!
echo ""
echo Bulk build ended: `date`