summaryrefslogtreecommitdiffstats
path: root/system-build/scripts/build/binary_win32-loader
blob: b04103ac8c9cfde92a27ef6a7da3fe1f246eaa65 (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
133
134
135
#!/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="$(Echo 'copy win32-loader into binary')"
HELP=""
USAGE="${PROGRAM} [--force]"

Arguments "${@}"

# Reading configuration files
Read_conffiles config/all config/common config/bootstrap config/system config/binary config/source
Set_defaults

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)
		if [ "${LB_BUILD_WITH_CHROOT}" = "true" ]
		then
			# Checking depends
			Check_package chroot /usr/share/win32/win32-loader.exe win32-loader

			# Restoring cache
			Restore_cache cache/packages.binary

			# Installing depends
			Install_package

			# 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}" != "false" ]
		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_cache cache/packages.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