Menu

[r7624]: / trunk / patches / freebsd-nanobsd-deterministic-build.patch  Maximize  Restore  History

Download this file

85 lines (75 with data), 2.6 kB

 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
Index: tools/tools/nanobsd/nanobsd.sh
===================================================================
--- tools/tools/nanobsd/nanobsd.sh (revision 224946)
+++ tools/tools/nanobsd/nanobsd.sh (working copy)
@@ -159,6 +159,10 @@
# Directory to populate /data from
NANO_DATADIR=""
+# src.conf to use when building the image. Defaults to /dev/null for the sake
+# of determinism.
+SRCCONF=${SRCCONF:=/dev/null}
+
#######################################################################
#
# The functions which do the real work.
@@ -182,7 +186,6 @@
echo "${CONF_WORLD}" > ${NANO_MAKE_CONF_BUILD}
echo "${CONF_BUILD}" >> ${NANO_MAKE_CONF_BUILD}
- echo "SRCCONF=/dev/null" >> ${NANO_MAKE_CONF_BUILD}
)
build_world ( ) (
@@ -191,6 +194,7 @@
cd ${NANO_SRC}
env TARGET_ARCH=${NANO_ARCH} ${NANO_PMAKE} \
+ SRCCONF=${SRCCONF} \
__MAKE_CONF=${NANO_MAKE_CONF_BUILD} buildworld \
> ${MAKEOBJDIRPREFIX}/_.bw 2>&1
)
@@ -215,9 +219,10 @@
# Note: We intentionally build all modules, not only the ones in
# NANO_MODULES so the built world can be reused by multiple images.
env TARGET_ARCH=${NANO_ARCH} ${NANO_PMAKE} buildkernel \
- __MAKE_CONF=${NANO_MAKE_CONF_BUILD} \
${kernconfdir:+"KERNCONFDIR="}${kernconfdir} \
KERNCONF=${kernconf}
+ SRCCONF=${SRCCONF} \
+ __MAKE_CONF=${NANO_MAKE_CONF_BUILD} \
) > ${MAKEOBJDIRPREFIX}/_.bk 2>&1
)
@@ -245,7 +250,6 @@
echo "${CONF_WORLD}" > ${NANO_MAKE_CONF_INSTALL}
echo "${CONF_INSTALL}" >> ${NANO_MAKE_CONF_INSTALL}
- echo "SRCCONF=/dev/null" >> ${NANO_MAKE_CONF_INSTALL}
)
install_world ( ) (
@@ -256,6 +260,7 @@
env TARGET_ARCH=${NANO_ARCH} \
${NANO_PMAKE} __MAKE_CONF=${NANO_MAKE_CONF_INSTALL} installworld \
DESTDIR=${NANO_WORLDDIR} \
+ SRCCONF=${SRCCONF} \
> ${NANO_OBJ}/_.iw 2>&1
chflags -R noschg ${NANO_WORLDDIR}
)
@@ -267,8 +272,10 @@
cd ${NANO_SRC}
env TARGET_ARCH=${NANO_ARCH} \
- ${NANO_PMAKE} __MAKE_CONF=${NANO_MAKE_CONF_INSTALL} distribution \
+ ${NANO_PMAKE} distribution \
DESTDIR=${NANO_WORLDDIR} \
+ SRCCONF=${SRCCONF} \
+ __MAKE_CONF=${NANO_MAKE_CONF_INSTALL} \
> ${NANO_OBJ}/_.etc 2>&1
# make.conf doesn't get created by default, but some ports need it
# so they can spam it.
@@ -290,10 +297,11 @@
cd ${NANO_SRC}
env TARGET_ARCH=${NANO_ARCH} ${NANO_PMAKE} installkernel \
DESTDIR=${NANO_WORLDDIR} \
- __MAKE_CONF=${NANO_MAKE_CONF_INSTALL} \
${kernconfdir:+"KERNCONFDIR="}${kernconfdir} \
KERNCONF=${kernconf} \
MODULES_OVERRIDE="${NANO_MODULES}"
+ SRCCONF=${SRCCONF} \
+ __MAKE_CONF=${NANO_MAKE_CONF_INSTALL} \
) > ${NANO_OBJ}/_.ik 2>&1
)
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.