summaryrefslogtreecommitdiffstats
path: root/installer/obsolete/slxbootstrap
blob: f240ef0f285771ef26fb71158b4a16b08898043b (plain) (blame)
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
#! /bin/ash

PATH="/bin:/sbin:/usr/bin:/usr/sbin"

: ${SLX_BOOTSTRAP_FAIL_WGET:="yes"}
: ${SLX_BOOTSTRAP_PATH:="/slxbootstrap"}
: ${SLX_STAGE1_FINAL_PATH:="/slxfinal"}

test -f /etc/slxbootstrap.conf
. /etc/slxbootstrap.conf

test "${SLX_INST_SOURCE_PACKAGE_SUBDIR}" && \
	SLX_INST_SOURCE_PACKAGE_SUBDIR="/${SLX_INST_SOURCE_PACKAGE_SUBDIR}"

download_file () {
	case ${file} in
		ftp://*|http://*)
			wget "${file}"
			;;
		*)
			wget "${SLX_INST_SOURCE_BASEURL}${SLX_INST_SOURCE_PACKAGE_SUBDIR}/${file}"
			;;
	esac
	if test $? != 0; then
		if test "${SLX_BOOTSTRAP_FAIL_WGET}" = "no"; then
			continue
		else
			echo "Error: Unable to download ${SLX_INST_SOURCE_BASEURL}/${file}"
			exit 1
		fi
	fi
}

for dir in / ${SLX_BOOTSTRAP_PATH}/${SLX_STAGE1_FINAL_PATH}; do
	test -d "${dir}/dev" || \
		mkdir -p "${dir}/dev"
	mknod "${dir}/dev/null" c 1 3
done

test -d /etc/prereqfiles && \
	cp -pr /etc/prereqfiles/* "${SLX_BOOTSTRAP_PATH}/${SLX_STAGE1_FINAL_PATH}/"

test -d "${SLX_BOOTSTRAP_PATH}" || \
	mkdir -p "${SLX_BOOTSTRAP_PATH}"
cd "${SLX_BOOTSTRAP_PATH}"

for file in ${SLX_BASE_PREREQ_PACKAGES}; do
	download_file
	case "${file}" in
		*.deb)
			ar x "${file##*/}"
			if test $? != 0; then
				echo "Error: Unable to unpack archive ${file##*/}"
				exit 1
			fi
			tar xzf data.tar.gz
			rm -f debian-binary *.tar.gz
			;;
		*.rpm)
			rpm2cpio "${file##*/}" | \
				cpio -i -d
# Enable error check as soon as busybox 1.3.1 is used.
#			if test $? != 0; then
#				echo "Error: Unable to rpm2cpio | cpio $file"
#				exit 1
#			fi
			;;
	esac
done

for file in ${SLX_BASE_BOOTSTRAP_PACKAGES} ${SLX_BASE_BOOTSTRAP_PREREQ_PACKAGES}; do
	download_file
done

for file in ${SLX_INST_SOURCE_PACKAGEKEYS}; do
	wget "${SLX_INST_SOURCE_BASEURL}/${file}"
	if test $? != 0; then
		echo "Error: Unable to download ${SLX_INST_SOURCE_BASEURL}/${file}"
		exit 1
	fi
done