summaryrefslogtreecommitdiff
path: root/scripts/build/binary_win32-loader
blob: 7ed782b74696989bb30e8c97c0211a42fd140356 (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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#!/bin/sh

## live-build(7) - System Build Scripts
## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
##
## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
## This is free software, and you are welcome to redistribute it
## under certain conditions; see COPYING for details.


set -e

# Including common functions
[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh

# Setting static variables
DESCRIPTION="Copy win32-loader into binary"
HELP=""
USAGE="${PROGRAM} [--force]"

# Processing arguments and configuration files
Init_config_data "${@}"

if [ "${LB_WIN32_LOADER}" != "true" ]
then
	exit 0
fi

Echo_message "Begin copying win32-loader..."

# Requiring stage file
Require_stagefile .build/config .build/bootstrap

# Checking stage file
Check_stagefile .build/binary_win32-loader

# Checking lock file
Check_lockfile .lock

# Creating lock file
Create_lockfile .lock

case "${LB_MODE}" in
	progress-linux)
		RUN_LABEL="Run Progress Linux"
		;;

	*)
		RUN_LABEL="Run Debian GNU/Linux"
		;;
esac

case "${LB_ARCHITECTURES}" in
	amd64|i386)
		# Checking depends
		Check_package chroot /usr/share/win32/win32-loader.exe win32-loader

		# Restoring cache
		Restore_package_cache binary

		# Installing depends
		Install_package

		if [ "${LB_BUILD_WITH_CHROOT}" = "true" ]
		then
			# Copying win32-loader
			cp -r chroot/usr/share/win32/* binary
		else
			cp -r usr/share/win32/* binary
		fi

		mv binary/win32-loader.exe binary/setup.exe
		mv binary/win32-loader/g2ldr* binary
		rmdir binary/win32-loader > /dev/null 2>&1 || true

cat > binary/autorun.inf << EOF
[autorun]
open=setup.exe
icon=setup.exe,0
label=${RUN_LABEL}

[Content]
MusicFiles=false
PictureFiles=false
VideoFiles=false
EOF

		if [ "${LB_DEBIAN_INSTALLER}" != "none" ]
		then

cat > binary/win32-loader.ini << EOF
[installer]
kernel=linux
arch=${LB_ARCHITECTURES}
default_desktop=gnome
${LB_ARCHITECTURES}/linux=install/vmlinuz
${LB_ARCHITECTURES}/initrd=install/initrd.gz
EOF

			if [ -e binary/install/gtk ]
			then

cat >> binary/win32-loader.ini << EOF
${LB_ARCHITECTURES}/gtk/linux=install/vmlinuz
${LB_ARCHITECTURES}/gtk/initrd=install/gtk/initrd.gz
EOF

			fi

cat >> binary/win32-loader.ini << EOF

[grub]
g2ldr=g2ldr
g2ldr.mbr=g2ldr.mbr
EOF

		fi

		# Saving cache
		Save_package_cache binary

		# Removing depends
		Remove_package
		;;

	*)
		Echo_warning "win32-loader inclusion is set to true but not compatible with your architecture, ignoring."
		;;
esac

# Creating stage file
Create_stagefile .build/binary_win32-loader