summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/rootfs_deb.bbclass56
-rw-r--r--meta/classes/rootfs_ipk.bbclass88
2 files changed, 35 insertions, 109 deletions
diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass
index 7712911b02..fee7db9ae0 100644
--- a/meta/classes/rootfs_deb.bbclass
+++ b/meta/classes/rootfs_deb.bbclass
@@ -1,21 +1,6 @@
1DEPENDS_prepend = "dpkg-native apt-native fakeroot-native " 1DEPENDS_prepend = "dpkg-native apt-native fakeroot-native "
2DEPENDS_append = " ${EXTRA_IMAGEDEPENDS}" 2DEPENDS_append = " ${EXTRA_IMAGEDEPENDS}"
3 3
4PACKAGES = ""
5
6do_rootfs[nostamp] = 1
7do_rootfs[dirs] = ${TOPDIR}
8do_build[nostamp] = 1
9
10ROOTFS_POSTPROCESS_COMMAND ?= ""
11
12PID = "${@os.getpid()}"
13
14# some default locales
15IMAGE_LINGUAS ?= "de-de fr-fr en-gb"
16
17LINGUAS_INSTALL = "${@" ".join(map(lambda s: "locale-base-%s" % s, bb.data.getVar('IMAGE_LINGUAS', d, 1).split()))}"
18
19fakeroot rootfs_deb_do_rootfs () { 4fakeroot rootfs_deb_do_rootfs () {
20 set +e 5 set +e
21 mkdir -p ${IMAGE_ROOTFS}/var/dpkg/{info,updates} 6 mkdir -p ${IMAGE_ROOTFS}/var/dpkg/{info,updates}
@@ -101,30 +86,27 @@ fakeroot rootfs_deb_do_rootfs () {
101 set -e 86 set -e
102 87
103 ${ROOTFS_POSTPROCESS_COMMAND} 88 ${ROOTFS_POSTPROCESS_COMMAND}
104}
105 89
106# set '*' as the rootpassword so the images 90 log_check rootfs
107# can decide if they want it or not
108
109zap_root_password () {
110 sed 's%^root:[^:]*:%root:*:%' < ${IMAGE_ROOTFS}/etc/passwd >${IMAGE_ROOTFS}/etc/passwd.new
111 mv ${IMAGE_ROOTFS}/etc/passwd.new ${IMAGE_ROOTFS}/etc/passwd
112}
113
114create_etc_timestamp() {
115 date +%2m%2d%2H%2M%Y >${IMAGE_ROOTFS}/etc/timestamp
116} 91}
117 92
118# Turn any symbolic /sbin/init link into a file 93rootfs_deb_log_check() {
119remove_init_link () { 94 target="$1"
120 if [ -h ${IMAGE_ROOTFS}/sbin/init ]; then 95 lf_path="$2"
121 LINKFILE=${IMAGE_ROOTFS}`readlink ${IMAGE_ROOTFS}/sbin/init` 96
122 rm ${IMAGE_ROOTFS}/sbin/init 97 lf_txt="`cat $lf_path`"
123 cp $LINKFILE ${IMAGE_ROOTFS}/sbin/init 98 for keyword_die in "E:"
124 fi 99 do
100 if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") &>/dev/null
101 then
102 echo "log_check: There were error messages in the logfile"
103 echo -e "log_check: Matched keyword: [$keyword_die]\n"
104 echo "$lf_txt" | grep -v log_check | grep -C 5 -i "$keyword_die"
105 echo ""
106 do_exit=1
107 fi
108 done
109 test "$do_exit" = 1 && exit 1
110 true
125} 111}
126 112
127# export the zap_root_password, create_etc_timestamp and remote_init_link
128EXPORT_FUNCTIONS zap_root_password create_etc_timestamp remove_init_link do_rootfs
129
130addtask rootfs before do_build after do_install
diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass
index f59f2b2137..42c50d35f8 100644
--- a/meta/classes/rootfs_ipk.bbclass
+++ b/meta/classes/rootfs_ipk.bbclass
@@ -8,23 +8,8 @@
8DEPENDS_prepend="ipkg-native ipkg-utils-native fakeroot-native " 8DEPENDS_prepend="ipkg-native ipkg-utils-native fakeroot-native "
9DEPENDS_append=" ${EXTRA_IMAGEDEPENDS}" 9DEPENDS_append=" ${EXTRA_IMAGEDEPENDS}"
10 10
11PACKAGES = ""
12
13do_rootfs[nostamp] = "1"
14do_rootfs[dirs] = "${TOPDIR}"
15do_build[nostamp] = "1"
16
17IPKG_ARGS = "-f ${T}/ipkg.conf -o ${IMAGE_ROOTFS}" 11IPKG_ARGS = "-f ${T}/ipkg.conf -o ${IMAGE_ROOTFS}"
18 12
19ROOTFS_POSTPROCESS_COMMAND ?= ""
20
21PID = "${@os.getpid()}"
22
23# some default locales
24IMAGE_LINGUAS ?= "de-de fr-fr en-gb"
25
26LINGUAS_INSTALL = "${@" ".join(map(lambda s: "locale-base-%s" % s, bb.data.getVar('IMAGE_LINGUAS', d, 1).split()))}"
27
28fakeroot rootfs_ipk_do_rootfs () { 13fakeroot rootfs_ipk_do_rootfs () {
29 set -x 14 set -x
30 15
@@ -78,64 +63,23 @@ fakeroot rootfs_ipk_do_rootfs () {
78 log_check rootfs 63 log_check rootfs
79} 64}
80 65
81log_check() { 66rootfs_ipk_log_check() {
82 set +x 67 target="$1"
83 for target in $* 68 lf_path="$2"
84 do 69
85 lf_path="${WORKDIR}/temp/log.do_$target.${PID}" 70 lf_txt="`cat $lf_path`"
86 71 for keyword_die in "Cannot find package" "exit 1" ERR Fail
87 echo "log_check: Using $lf_path as logfile" 72 do
88
89 if test -e "$lf_path"
90 then
91 lf_txt="`cat $lf_path`"
92
93 for keyword_die in "Cannot find package" "exit 1" ERR Fail
94 do
95 73
96 if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") &>/dev/null 74 if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") &>/dev/null
97 then 75 then
98 echo "log_check: There were error messages in the logfile" 76 echo "log_check: There were error messages in the logfile"
99 echo -e "log_check: Matched keyword: [$keyword_die]\n" 77 echo -e "log_check: Matched keyword: [$keyword_die]\n"
100 echo "$lf_txt" | grep -v log_check | grep -C 5 -i "$keyword_die" 78 echo "$lf_txt" | grep -v log_check | grep -C 5 -i "$keyword_die"
101 echo "" 79 echo ""
102 do_exit=1 80 do_exit=1
103 fi
104 done
105 test "$do_exit" = 1 && exit 1
106 else
107 echo "Cannot find logfile [$lf_path]"
108 fi 81 fi
109 echo "Logfile is clean"
110 done 82 done
111 83 test "$do_exit" = 1 && exit 1
112 set -x 84 true
113
114}
115
116
117# set '*' as the rootpassword so the images
118# can decide if they want it or not
119
120zap_root_password () {
121 sed 's%^root:[^:]*:%root:*:%' < ${IMAGE_ROOTFS}/etc/passwd >${IMAGE_ROOTFS}/etc/passwd.new
122 mv ${IMAGE_ROOTFS}/etc/passwd.new ${IMAGE_ROOTFS}/etc/passwd
123}
124
125create_etc_timestamp() {
126 date +%2m%2d%2H%2M%Y >${IMAGE_ROOTFS}/etc/timestamp
127}
128
129# Turn any symbolic /sbin/init link into a file
130remove_init_link () {
131 if [ -h ${IMAGE_ROOTFS}/sbin/init ]; then
132 LINKFILE=${IMAGE_ROOTFS}`readlink ${IMAGE_ROOTFS}/sbin/init`
133 rm ${IMAGE_ROOTFS}/sbin/init
134 cp $LINKFILE ${IMAGE_ROOTFS}/sbin/init
135 fi
136} 85}
137
138# export the zap_root_password, create_etc_timestamp and remote_init_link
139EXPORT_FUNCTIONS zap_root_password create_etc_timestamp remove_init_link do_rootfs
140
141addtask rootfs before do_build after do_install