diff options
-rw-r--r-- | meta/classes/rootfs_ipk.bbclass | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass index 5e8a9c720c..fdedc44e58 100644 --- a/meta/classes/rootfs_ipk.bbclass +++ b/meta/classes/rootfs_ipk.bbclass | |||
@@ -13,11 +13,14 @@ do_rootfs[recrdeptask] += "do_package_write_ipk" | |||
13 | 13 | ||
14 | IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS}" | 14 | IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS}" |
15 | 15 | ||
16 | OPKG_FEED_URIS = "" | ||
17 | |||
16 | fakeroot rootfs_ipk_do_rootfs () { | 18 | fakeroot rootfs_ipk_do_rootfs () { |
17 | set -x | 19 | set -x |
18 | 20 | ||
19 | package_update_index_ipk | 21 | package_update_index_ipk |
20 | package_generate_ipkg_conf | 22 | package_generate_ipkg_conf |
23 | ${OPKG_FEED_URIS} | ||
21 | 24 | ||
22 | mkdir -p ${T}/ | 25 | mkdir -p ${T}/ |
23 | mkdir -p ${IMAGE_ROOTFS}/usr/lib/opkg/ | 26 | mkdir -p ${IMAGE_ROOTFS}/usr/lib/opkg/ |
@@ -95,7 +98,7 @@ install_all_locales() { | |||
95 | 98 | ||
96 | PACKAGES_TO_INSTALL="" | 99 | PACKAGES_TO_INSTALL="" |
97 | 100 | ||
98 | INSTALLED_PACKAGES=`grep ^Package: ${IMAGE_ROOTFS}${libdir}/opkg/status |sed "s/^Package: //"|egrep -v -- "(-locale-|-dev$|-doc$|^kernel|^glibc|^ttf|^task|^perl|^python)"` | 101 | INSTALLED_PACKAGES=`grep ^Package: ${IMAGE_ROOTFS}${libdir}/opkg/status |sed "s/^Package: //"|egrep -v -- "(-locale-|-dev$|-doc$|^kernel|^glibc|^ttf|^task|^perl|^python)"` |
99 | 102 | ||
100 | for pkg in $INSTALLED_PACKAGES | 103 | for pkg in $INSTALLED_PACKAGES |
101 | do | 104 | do |
@@ -113,3 +116,33 @@ install_all_locales() { | |||
113 | fi | 116 | fi |
114 | } | 117 | } |
115 | 118 | ||
119 | ipk_insert_feed_uris () { | ||
120 | |||
121 | echo "Building from feeds activated!" | ||
122 | |||
123 | for line in ${FEED_URIS} | ||
124 | do | ||
125 | # strip leading and trailing spaces/tabs, then split into name and uri | ||
126 | line_clean="`echo "$line"|sed 's/^[ \t]*//;s/[ \t]*$//'`" | ||
127 | feed_name="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\1/p'`" | ||
128 | feed_uri="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\2/p'`" | ||
129 | |||
130 | echo "Added $feed_name feed with URL $feed_uri" | ||
131 | |||
132 | # insert new feed-sources | ||
133 | echo "src/gz $feed_name $feed_uri" >> ${IPKGCONF_TARGET} | ||
134 | done | ||
135 | } | ||
136 | |||
137 | python () { | ||
138 | import bb | ||
139 | if bb.data.getVar('BUILD_IMAGES_FROM_FEEDS', d, True): | ||
140 | flags = bb.data.getVarFlag('do_rootfs', 'recrdeptask', d) | ||
141 | flags = flags.replace("do_package_write_ipk", "") | ||
142 | flags = flags.replace("do_deploy", "") | ||
143 | flags = flags.replace("do_populate_staging", "") | ||
144 | bb.data.setVarFlag('do_rootfs', 'recrdeptask', flags, d) | ||
145 | bb.data.setVar('OPKG_FEED_URIS', 'ipk_insert_feed_uris', d) | ||
146 | } | ||
147 | |||
148 | |||