]> pilppa.org Git - familiar-h63xx-build.git/blobdiff - org.handhelds.familiar/classes/image_ipk.bbclass
image_ipk.bbclass: fix locale feed locations
[familiar-h63xx-build.git] / org.handhelds.familiar / classes / image_ipk.bbclass
index 5fdd34067345749b90505cb367c166304594ad66..bb99c12a1b1f3746b731e4ac11d9be706550e707 100644 (file)
@@ -53,20 +53,58 @@ fakeroot do_rootfs () {
        ${IMAGE_POSTPROCESS_COMMAND}
 }
 
-insert_feed_uris () {
+DISTRO_FEEDS_FILE_PATTERN = "${IMAGE_ROOTFS}/etc/ipkg/${DISTRO}-${DISTRO_VERSION}-%s.conf"
+
+python __anonymous() {
+       m = bb.data.getVar("MACHINE", d, 1)
+       pattern = bb.data.getVar("DISTRO_FEEDS_FILE_PATTERN", d, 1)
+       pfx = bb.data.getVar("DISTRO_FEEDS_PREFIX", d, 1)
+       cs = bb.data.getVar("DISTRO_FEEDS_COLLECTIONS", d, 1).split()
        
-       echo "Building feeds for [${DISTRO}].."
+       cmds = ""
+       for c in cs:
+               file = pattern % c
+               cmds += "cat > %s <<EOF\n" % file
+
+               desc = bb.data.getVar("DISTRO_FEEDS_COLLECTION_DESC_%s" % c, d, 1)
+               cmds += "# %s\n\n" % desc
+
+               feeds = bb.data.getVar("DISTRO_FEEDS_IN_%s" % c, d, 1).split()
+               for f in feeds:
+                       desc = bb.data.getVar("DISTRO_FEEDS_FEED_DESC_%s" % f, d, 1)
+                       cmds += "# %s - %s\n" % (f, desc)
+                       cmds += "src/gz %s %s/%s/%s\n" % (f, pfx, c, f)
+                       cmds += "src/gz %s-%s %s/%s/%s/machine/%s\n\n" % (f, m, pfx, c, f, m)
+
+               # locale subfeeds
+
+               # add template
+               cmds += "\n# For each supported locale there is a subfeed in each of the feed folders.\n"
+               cmds += "# You can use your webbrowser to check for valid locale codes.\n\n"
+               cmds += "# To point ipkg at packages for your locale, replace <my_locale> with the\n"
+               cmds += "# locale code in the template below and remove the leading '#' characters.\n\n"
+               for f in feeds:
+                       cmds += "# src/gz %s-locale-<my_locale> %s/%s/%s/locale/<my_locale>\n" % (f, pfx, c, f)
                
-       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'`"                                        
+               # add feed for each IMAGE_LINGUA
+               linguas = bb.data.getVar("IMAGE_LINGUAS", d, 1).split()
+               for l in linguas:
+                       fst = l.split('-')[0]
+                       cmds += "\n# %s locale feeds\n" % fst
+                       for f in feeds:
+                               cmds += "src/gz %s-locale-%s %s/%s/%s/locale/%s\n" % (f, fst, pfx, c, f, fst)
                
-               echo "Added $feed_name feed with URL $feed_uri"
+               cmds += "\nEOF\n"
+
+       bb.data.setVar("DISTRO_FEEDS_COMMANDS", cmds, d)
+}
+
+insert_feed_uris () {
+       
+       echo "Building feeds for [${DISTRO}].."
                
-               # insert new feed-sources
-               echo "src/gz $feed_name $feed_uri" >> ${IMAGE_ROOTFS}/etc/ipkg/${feed_name}-feed.conf
-       done                    
+${DISTRO_FEEDS_COMMANDS}
+
+       mkdir -p ${DEPLOY_DIR}/ipkg_confs/${MACHINE}
+       cp -f ${IMAGE_ROOTFS}/etc/ipkg/*conf ${DEPLOY_DIR}/ipkg_confs/${MACHINE}
 }