summaryrefslogtreecommitdiff
path: root/auto/build
blob: 62e8d8b7b6f9b2efc8be9eae03a2a2e2a411c162 (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
#!/bin/bash

. config/bootstrap
. config/common
. config/kanotix
bit=32
[ "$LH_ARCHITECTURE" = "amd64" ] && bit=64

# Update kanotix-version (32/64-bit and timestamp)
[ ! -f config/chroot_local-includes/etc/kanotix-version ] && echo "Kanotix Hellfire 0000-00:00" > config/chroot_local-includes/etc/kanotix-version
perl -pi -e "s%(Kanotix|Excalibur|Hellfire)(32|64)%\${1}$bit%i; s%(32|64)(bit)%$bit\${2}%i; s|[0-9]+-[0-9]+:[0-9]+|$(date +%Y%m%d-%H:%M)|" config/chroot_local-includes/etc/kanotix-version

prebuild()
{
	# Include nvidia-driver into chroot
	if [ "$LH_KANOTIX_NVIDIA" = "true" -a -f config/chroot_local-includes/usr/local/bin/install-nvidia-debian.sh ]; then
		mkdir -p config/chroot_local-includes/usr/src
		VER="$(grep -o ^VER=.* config/chroot_local-includes/usr/local/bin/install-nvidia-debian.sh|sed s/VER=//)"
		ARCH=; [ "$LH_ARCHITECTURE" = "amd64" ] && ARCH="_64"
		URL="http://download.nvidia.com/XFree86/Linux-x86$ARCH/$VER/NVIDIA-Linux-x86$ARCH-$VER.run"
		if [ "$LH_CACHE" = "false" ]; then
			wget -N -P config/chroot_local-includes/usr/src "$URL"
		else
			mkdir -p cache
			wget -N -P cache "$URL"
			cp "cache/$(basename "$URL")" "config/chroot_local-includes/usr/src/$(basename "$URL")"
		fi
	fi

	# make current build configuration available for hooks inside chroot
	mkdir -p config/chroot_local-includes/root
	cat config/* 2>/dev/null | grep ^LH_ > config/chroot_local-includes/root/build.conf

        # Kanotix flavours
        if [ "$LH_KANOTIX_FLAVOURS" -a "$LH_KANOTIX_FLAVOURS" != "none" ]; then
                echo "# DO NOT EDIT THIS FILE! It is auto-generated and will be deleted/ overwritten!" > config/chroot_local-packageslists/kanotix-flavours.list
                for FLAVOUR in $LH_KANOTIX_FLAVOURS
                do
                        echo "#include <$FLAVOUR>" >> config/chroot_local-packageslists/kanotix-flavours.list
                done
        fi
}

postbuild()
{
	rm -f config/chroot_local-includes/root/build.conf
        rm -f config/chroot_local-packageslists/kanotix-flavours.list
}

if [ "$LH_KANOTIX_TMPFS" = "true" ]; then
       mkdir -p tmpfs
       # build using tmpfs
       [ -z "$(stat --printf "%d\n" . tmpfs | uniq -u)" ] && mount -t tmpfs -o "$LH_KANOTIX_TMPFS_OPTIONS" tmpfs tmpfs
       cd tmpfs
       # delete everything except cache
       find . -maxdepth 1 ! -name cache -exec rm -r '{}' \; 2>/dev/null
       # copy everything to tmpfs
       rsync -a .. . --exclude=tmpfs
       # build
       prebuild
       time lh build noauto ${@} 2>&1 | tee binary.log
       postbuild
       cd ..
else
       prebuild
       time lh build noauto ${@} 2>&1 | tee binary.log
       postbuild
fi

exit 1