Project

General

Profile

« Previous | Next » 

Revision 270badaf

Added by Brad Davis over 2 years ago

Add pkg rootdir support to core packages

View differences:

tools/templates/core_pkg/base/metadir/+DEINSTALL
7 7
echo "===> Keeping a copy of current version mtree"
8 8

  
9 9
# Check if there is a current mtree to be saved
10
if [ ! -f /usr/local/share/%%PRODUCT_NAME%%/base.mtree ]; then
10
if [ ! -f ${PKG_ROOTDIR}/usr/local/share/%%PRODUCT_NAME%%/base.mtree ]; then
11 11
	echo "===> Current mtree file not found"
12 12
	exit 1
13 13
fi
14 14

  
15
[ -f /usr/local/share/%%PRODUCT_NAME%%/base.mtree.previous ] \
16
	&& rm -f /usr/local/share/%%PRODUCT_NAME%%/base.mtree.previous
15
[ -f ${PKG_ROOTDIR}/usr/local/share/%%PRODUCT_NAME%%/base.mtree.previous ] \
16
	&& rm -f ${PKG_ROOTDIR}/usr/local/share/%%PRODUCT_NAME%%/base.mtree.previous
17 17

  
18
cp -f /usr/local/share/%%PRODUCT_NAME%%/base.mtree \
19
	/usr/local/share/%%PRODUCT_NAME%%/base.mtree.previous
18
cp -f ${PKG_ROOTDIR}/usr/local/share/%%PRODUCT_NAME%%/base.mtree \
19
	${PKG_ROOTDIR}/usr/local/share/%%PRODUCT_NAME%%/base.mtree.previous
20 20

  
21 21
exit $?
tools/templates/core_pkg/base/metadir/+INSTALL
4 4
	exit 0
5 5
fi
6 6

  
7
if [ ! -f /usr/local/share/%%PRODUCT_NAME%%/base.txz ]; then
7
if [ ! -f ${PKG_ROOTDIR}/usr/local/share/%%PRODUCT_NAME%%/base.txz ]; then
8 8
	echo "===> ERROR: base tarball not found!"
9 9
	exit 1
10 10
fi
11 11

  
12 12
# Save a copy of /etc/version to trigger copynotice.inc show when it's needed
13
if [ ! -f /cf/conf/copynotice_version ]; then
13
if [ ! -f ${PKG_ROOTDIR}/cf/conf/copynotice_version ]; then
14 14
	# Create empty file to force it to differ and show notice once
15
	echo "" > /cf/conf/copynotice_version
15
	echo "" > ${PKG_ROOTDIR}/cf/conf/copynotice_version
16 16
else
17
	/bin/cp -f /etc/version /cf/conf/copynotice_version
17
	/bin/cp -f ${PKG_ROOTDIR}/etc/version ${PKG_ROOTDIR}/cf/conf/copynotice_version
18 18
fi
19 19

  
20
echo %%PRODUCT_NAME%% > /etc/platform
20
echo %%PRODUCT_NAME%% > ${PKG_ROOTDIR}/etc/platform
21 21

  
22 22
echo "===> Removing schg flag from base files"
23 23

  
24 24
# Cleanup schg flags
25 25
chflags -R noschg \
26
	/boot \
27
	/bin \
28
	/sbin \
29
	/usr/bin \
30
	/usr/sbin \
31
	/libexec \
32
	/lib \
33
	/usr/lib >/dev/null 2>&1
26
	${PKG_ROOTDIR}/boot \
27
	${PKG_ROOTDIR}/bin \
28
	${PKG_ROOTDIR}/sbin \
29
	${PKG_ROOTDIR}/usr/bin \
30
	${PKG_ROOTDIR}/usr/sbin \
31
	${PKG_ROOTDIR}/libexec \
32
	${PKG_ROOTDIR}/lib \
33
	${PKG_ROOTDIR}/usr/lib >/dev/null 2>&1
34 34

  
35 35
echo "===> Extracting new base tarball"
36 36

  
37 37
# Install new base files
38
tar -C / --exclude ./var/empty -xJPUf \
38
tar -C ${PKG_ROOTDIR}/ --exclude ./var/empty -xJPUf \
39 39
	/usr/local/share/%%PRODUCT_NAME%%/base.txz
40 40

  
41 41
# Create/remove trigger to show copynotice when version changes
42
if /usr/bin/cmp -s /etc/version /cf/conf/copynotice_version; then
43
	/bin/rm -f /cf/conf/copynotice_display >/dev/null 2>&1
42
if /usr/bin/cmp -s ${PKG_ROOTDIR}/etc/version ${PKG_ROOTDIR}/cf/conf/copynotice_version; then
43
	/bin/rm -f ${PKG_ROOTDIR}/cf/conf/copynotice_display >/dev/null 2>&1
44 44
else
45
	/usr/bin/touch /cf/conf/copynotice_display
45
	/usr/bin/touch ${PKG_ROOTDIR}/cf/conf/copynotice_display
46 46
fi
47 47

  
48 48
echo "===> Removing static obsoleted files"
......
53 53
"
54 54

  
55 55
# Process obsolete files
56
if [ -f /etc/%%PRODUCT_NAME%%.obsoletedfiles ]; then
57
	for f in $(cat /etc/%%PRODUCT_NAME%%.obsoletedfiles); do
58
		if [ -n "${f}" -a -d "${f}" ]; then
59
			chflags -R noschg "${f}"
60
			rm -rf "${f}"
61
		elif [ -n "${f}" -a -f "${f}" ]; then
62
			chflags noschg "${f}"
63
			rm -f "${f}"
64
		elif [ -n "${f}" -a -L "${f}" ]; then
65
			rm -f "${f}"
56
if [ -f ${PKG_ROOTDIR}/etc/%%PRODUCT_NAME%%.obsoletedfiles ]; then
57
	for f in $(cat ${PKG_ROOTDIR}/etc/%%PRODUCT_NAME%%.obsoletedfiles); do
58
		if [ -n "${f}" -a -d "${PKG_ROOTDIR}${f}" ]; then
59
			chflags -R noschg "${PKG_ROOTDIR}${f}"
60
			rm -rf "${PKG_ROOTDIR}${f}"
61
		elif [ -n "${f}" -a -f "${PKG_ROOTDIR}${f}" ]; then
62
			chflags noschg "${PKG_ROOTDIR}${f}"
63
			rm -f "${PKG_ROOTDIR}${f}"
64
		elif [ -n "${f}" -a -L "${PKG_ROOTDIR}${f}" ]; then
65
			rm -f "${PKG_ROOTDIR}${f}"
66 66
		fi
67 67
	done
68 68
fi
......
71 71
IFS=${oIFS}
72 72

  
73 73
# Save current pkg_set_version
74
cp -f /etc/version /usr/local/share/%%PRODUCT_NAME%%/running_pkg_set_version
74
cp -f ${PKG_ROOTDIR}/etc/version ${PKG_ROOTDIR}/usr/local/share/%%PRODUCT_NAME%%/running_pkg_set_version
75 75

  
76 76
exit 0
tools/templates/core_pkg/default-config-serial/metadir/+INSTALL
4 4
	exit 0
5 5
fi
6 6

  
7
if [ ! -f /cf/conf/config.xml ]; then
8
	cp /conf.default/config.xml /cf/conf/config.xml
7
if [ ! -f ${PKG_ROOTDIR}/cf/conf/config.xml ]; then
8
	cp ${PKG_ROOTDIR}/conf.default/config.xml ${PKG_ROOTDIR}/cf/conf/config.xml
9 9
fi
10 10

  
11
if [ ! -L /conf ]; then
12
	ln -sf /cf/conf /conf
11
if [ ! -L ${PKG_ROOTDIR}/conf ]; then
12
	ln -sf ${PKG_ROOTDIR}/cf/conf ${PKG_ROOTDIR}/conf
13 13
fi
14 14

  
15
if [ ! -d /cf/conf/backup ]; then
16
	mkdir /cf/conf/backup
15
if [ ! -d ${PKG_ROOTDIR}/cf/conf/backup ]; then
16
	mkdir ${PKG_ROOTDIR}/cf/conf/backup
17 17
fi
18 18

  
19 19
FLAVOR="%%FLAVOR%%"
20
echo ${FLAVOR##-} > /etc/default-config-flavor
20
echo ${FLAVOR##-} > ${PKG_ROOTDIR}/etc/default-config-flavor
21 21

  
22 22
exit 0
tools/templates/core_pkg/default-config/metadir/+INSTALL
4 4
	exit 0
5 5
fi
6 6

  
7
if [ ! -f /cf/conf/config.xml ]; then
8
	cp /conf.default/config.xml /cf/conf/config.xml
7
if [ ! -f ${PKG_ROOTDIR}/cf/conf/config.xml ]; then
8
	cp ${PKG_ROOTDIR}/conf.default/config.xml ${PKG_ROOTDIR}/cf/conf/config.xml
9 9
fi
10 10

  
11
if [ ! -L /conf ]; then
12
	ln -sf /cf/conf /conf
11
if [ ! -L ${PKG_ROOTDIR}/conf ]; then
12
	ln -sf ${PKG_ROOTDIR}/cf/conf ${PKG_ROOTDIR}/conf
13 13
fi
14 14

  
15
if [ ! -d /cf/conf/backup ]; then
16
	mkdir /cf/conf/backup
15
if [ ! -d ${PKG_ROOTDIR}/cf/conf/backup ]; then
16
	mkdir ${PKG_ROOTDIR}/cf/conf/backup
17 17
fi
18 18

  
19 19
FLAVOR="%%FLAVOR%%"
20
echo ${FLAVOR##-} > /etc/default-config-flavor
20
echo ${FLAVOR##-} > ${PKG_ROOTDIR}/etc/default-config-flavor
21 21

  
22 22
exit 0
tools/templates/core_pkg/kernel/metadir/+DEINSTALL
7 7
echo "===> Keeping a copy of current kernel in /boot/kernel.old"
8 8

  
9 9
# Check if there is a current kernel to be moved
10
if [ ! -f /boot/kernel/kernel.gz ] \
11
    && [ ! -f /boot/kernel/kernel ]; then
10
if [ ! -f ${PKG_ROOTDIR}/boot/kernel/kernel.gz ] \
11
    && [ ! -f ${PKG_ROOTDIR}/boot/kernel/kernel ]; then
12 12
	echo "ERROR: Current kernel not found"
13 13
	exit 1
14 14
fi
15 15

  
16
[ -d /boot/kernel.old ] \
17
	&& rm -rf /boot/kernel.old
16
[ -d ${PKG_ROOTDIR}/boot/kernel.old ] \
17
	&& rm -rf ${PKG_ROOTDIR}/boot/kernel.old
18 18

  
19
cp -Rp /boot/kernel /boot/kernel.old
19
cp -Rp ${PKG_ROOTDIR}/boot/kernel ${PKG_ROOTDIR}/boot/kernel.old
20 20
exit $?
tools/templates/core_pkg/rc/metadir/+INSTALL
5 5
fi
6 6

  
7 7
# Do not run during build installation
8
if [ ! -f /cf/conf/config.xml ]; then
8
if [ ! -f ${PKG_ROOTDIR}/cf/conf/config.xml ]; then
9 9
	exit 0
10 10
fi
11 11

  
12
if ! /usr/bin/grep -q "net.pf.request_maxcount" /boot/loader.conf \
13
    /boot/loader.conf.local 2>/dev/null; then
14
	_value=$(/usr/local/sbin/read_xml_tag.sh string \
12
if ! /usr/bin/grep -q "net.pf.request_maxcount" ${PKG_ROOTDIR}/boot/loader.conf \
13
    ${PKG_ROOTDIR}/boot/loader.conf.local 2>/dev/null; then
14
	_value=$(${PKG_ROOTDIR}/usr/local/sbin/read_xml_tag.sh string \
15 15
	    system/maximumtableentries)
16 16
	if [ -z "${_value}" ]; then
17 17
		# Default value is minimumtableentries_bogonsv6 from globals.inc
......
22 22
		echo "===> WARN: Impossible to set net.pf.request_maxcount"
23 23
	else
24 24
		echo "===> Setting net.pf.request_maxcount=${_value}"
25
		echo "net.pf.request_maxcount=${_value}" >> /boot/loader.conf
25
		echo "net.pf.request_maxcount=${_value}" >> ${PKG_ROOTDIR}/boot/loader.conf
26 26
	fi
27 27
fi
28 28

  
29
if [ -f /usr/local/share/%%PRODUCT_NAME%%/fix_for_SA-19-10.ufs ]; then
29
if [ -f ${PKG_ROOTDIR}/usr/local/share/%%PRODUCT_NAME%%/fix_for_SA-19-10.ufs ]; then
30 30
	exit 0
31 31
fi
32 32

  
33 33
echo "===> Flagging this system to apply fix for FreeBSD-SA-19:10.ufs"
34
touch /.fix_for_SA-19-10.ufs
34
touch ${PKG_ROOTDIR}/.fix_for_SA-19-10.ufs

Also available in: Unified diff