summaryrefslogtreecommitdiff
path: root/scripts/01-patch.sh
blob: 5b81bf55911cbb929d4d7e531cf0e9e27ab2d575 (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
# scripts/01-patches.sh

Patch_chroot ()
{
	# Some maintainer scripts can detect if they are in a chrooted system.
	# Therefore, we create the corresponding file.

	case "${1}" in
		apply)
			# Create chroot file
			echo "live" > "${LIFE_CHROOT}"/etc/debian_chroot
			;;

		deapply)
			# Remove chroot file
			rm -f "${LIVE_CHROOT}"/etc/debian_chroot
			;;
	esac
}

Patch_network ()
{
	# Packages which are manually installed inside the chroot are installed
	# from the network. Therefore, we need to be able to resolv hosts.

	case "${1}" in
		apply)
			# Save host lookup table
			if [ -f "${LIVE_CHROOT}"/etc/hosts ]
			then
				cp "${LIVE_CHROOT}"/etc/hosts \
					"${LIVE_CHROOT}"/etc/hosts.orig
			fi

			# Save resolver configuration
			if [ -f "${LIVE_CHROOT}"/etc/resolv.conf ]
			then
				cp "${LIVE_CHROOT}"/etc/resolv.conf \
					"${LIVE_CHROOT}"/etc/resolv.conf.orig
			fi

			# Copy host lookup table
			if [ -f /etc/hosts ]
			then
				cp /etc/hosts "${LIVE_CHROOT}"/etc/hosts
			fi

			# Copy resolver configuration
			if [ -f /etc/resolv.conf ]
			then
				cp /etc/resolv.conf \
					"${LIVE_CHROOT}"/etc/resolv.conf
			fi
			;;

		deapply)
			# Restore host lookup table
			if [ -f "${LIVE_CHROOT}"/etc/hosts.orig ]
			then
				mv "${LIVE_CHROOT}"/etc/hosts.orig \
					"${LIVE_CHROOT}"/etc/hosts
			fi

			# Restore resolver configuration
			if [ -f "${LIVE_CHROOT}"/etc/resolv.conf.orig ]
			then
				mv "${LIVE_CHROOT}"/etc/resolv.conf.orig \
					"${LIVE_CHROOT}"/etc/resolv.conf
			fi
			;;
	esac
}

Patch_linuximage ()
{
	# The linux-image package asks interactively for initial ramdisk
	# creation. Therefore, we preconfigure /etc/kernel-img.conf.

	case "${1}" in
		apply)
			# Write configuration option
			echo "do_initrd = Yes"  >> \
				"${LIVE_CHROOT}"/etc/kernel-img.conf
			;;

		deapply)
			# Remove configuration file
			rm -f "${LIVE_CHROOT}"/etc/kernel-img.conf
			;;
	esac
}