blob: 6c741b9cf3259ae8c963f3e3213dd1deb13adc6b (
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
|
inherit rootfs_ipk
USE_DEVFS ?= "0"
DEPENDS += "makedevs-native"
def get_image_deps(d):
import oe
str = ""
for type in (oe.data.getVar('IMAGE_FSTYPES', d, 1) or "").split():
deps = oe.data.getVar('IMAGE_DEPENDS_%s' % type, d) or ""
if deps:
str += " %s" % deps
return str
DEPENDS += "${@get_image_deps(d)}"
IMAGE_DEVICE_TABLE = "${@oe.which(oe.data.getVar('OEPATH', d, 1), 'files/device_table-minimal.txt')}"
IMAGE_POSTPROCESS_COMMAND ?= ""
# Must call real_do_rootfs() from inside here, rather than as a separate
# task, so that we have a single fakeroot context for the whole process.
fakeroot do_rootfs () {
set -x
rm -rf ${IMAGE_ROOTFS}
if [ "${USE_DEVFS}" != "1" ]; then
mkdir -p ${IMAGE_ROOTFS}/dev
makedevs -r ${IMAGE_ROOTFS} -D ${IMAGE_DEVICE_TABLE}
fi
real_do_rootfs
insert_feed_uris
export TOPDIR=${TOPDIR}
for type in ${IMAGE_FSTYPES}; do
if test -z "$FAKEROOTKEY"; then
fakeroot -i ${TMPDIR}/fakedb.image oeimage -t $type -e ${FILE}
else
oeimage -n "${IMAGE_NAME}" -t "$type" -e "${FILE}"
fi
done
${IMAGE_POSTPROCESS_COMMAND}
}
insert_feed_uris () {
test -z "$FEED_URIS" && return 0
# comment out existing feed-sources inserted by ipkg-collateral
cat ${IMAGE_ROOTFS}/etc/ipkg.conf | sed "s/^src\ /#src\ /" > ${IMAGE_ROOTFS}/etc/ipkg.conf_
rm ${IMAGE_ROOTFS}/etc/ipkg.conf && mv ${IMAGE_ROOTFS}/etc/ipkg.conf_ ${IMAGE_ROOTFS}/etc/ipkg.conf
# extract, then delete destinations
cat ${IMAGE_ROOTFS}/etc/ipkg.conf | egrep "^dest\ " > ${IMAGE_ROOTFS}/etc/ipkg.conf.dest
cat ${IMAGE_ROOTFS}/etc/ipkg.conf | egrep -v "^dest\ " > ${IMAGE_ROOTFS}/etc/ipkg.conf_
rm ${IMAGE_ROOTFS}/etc/ipkg.conf && mv ${IMAGE_ROOTFS}/etc/ipkg.conf_ ${IMAGE_ROOTFS}/etc/ipkg.conf
for line in ${FEED_URIS}
do
# strip leading and trailing spaces/tabs, then split into name and uri
line_clean="`echo "$line"|sed 's/^[ \t]*//;s/[ \t]*$//'`"
feed_name="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\1/p'`"
feed_uri="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\2/p'`"
# insert new feed-sources
echo "src $feed_name $feed_uri" >> ${IMAGE_ROOTFS}/etc/ipkg.conf
done
# remove temporary files and rebuild ipkg.conf
echo "" >> ${IMAGE_ROOTFS}/etc/ipkg.conf
cat ${IMAGE_ROOTFS}/etc/ipkg.conf.dest >> ${IMAGE_ROOTFS}/etc/ipkg.conf
rm ${IMAGE_ROOTFS}/etc/ipkg.conf.dest
cp ${IMAGE_ROOTFS}/etc/ipkg.conf ${WORKDIR}
}
|