summaryrefslogtreecommitdiff
path: root/classes/split_ipk_feeds.oeclass
diff options
context:
space:
mode:
authorMichael Lauer <mickey@vanille-media.de>2004-09-30 14:32:55 +0000
committerMichael Lauer <mickey@vanille-media.de>2004-09-30 14:32:55 +0000
commitd3582f1eb4451d4fad317e12e0e0dafeef836089 (patch)
tree251b43f524a3106050dc2d0f5c72303a57eb9294 /classes/split_ipk_feeds.oeclass
parente9127db253dd038a254ed735668b4ce519ae3b22 (diff)
Merge bk://openembedded@openembedded.bkbits.net/packages
into gandalf.tm.informatik.uni-frankfurt.de:/local/pkg/oe/packages 2004/09/30 14:36:01+02:00 dyndns.org!reenoo sablevm-classpath: don't use hardcoded paths in FILES 2004/09/30 05:40:43+02:00 local!CoreDump Fixed EXCLUDE_FROM_FEED in split_ipk_feeds.oeclass 2004/09/30 00:14:27+02:00 dyndns.org!reenoo Merge bk://openembedded@openembedded.bkbits.net/packages into sugarcube.dyndns.org:/home2/oe/oe/packages 2004/09/30 00:13:52+02:00 dyndns.org!reenoo Add xbase-clients meta package 2004/09/29 18:20:21+02:00 local!CoreDump Merge bk://openembedded@openembedded.bkbits.net/packages into mhcln01.hentges.local:/home/mhentges/OpenEmbedded/packages 2004/09/29 18:19:40+02:00 local!CoreDump Update 1.1.6 translations BKrev: 415c1917KE_kV42RiNRt_9gncHbCxg
Diffstat (limited to 'classes/split_ipk_feeds.oeclass')
-rw-r--r--classes/split_ipk_feeds.oeclass49
1 files changed, 49 insertions, 0 deletions
diff --git a/classes/split_ipk_feeds.oeclass b/classes/split_ipk_feeds.oeclass
index e69de29bb2..8a7c89cffa 100644
--- a/classes/split_ipk_feeds.oeclass
+++ b/classes/split_ipk_feeds.oeclass
@@ -0,0 +1,49 @@
+#
+# Splits packages into feeds, depending on the "Section" entry in "Packages"
+#
+
+
+die () {
+ echo "split_feed: ERROR: $1"
+ exit 1
+}
+
+do_split_feed () {
+ test -z "$FEED_PATTERN" && die "No feed pattern in FEED_PATTERN"
+ test -z "$FEED_NAME" && die "No feed name in FEED_NAME"
+ ! test -e ${DEPLOY_DIR_IPK}/Packages && die "[$DEPLOY_DIR_IPK/Packages] not found"
+
+ echo "Working on pattern [$FEED_PATTERN] for feed [$FEED_NAME]"
+
+ # Don't we all love sed?
+ cat "${DEPLOY_DIR_IPK}/Packages" |sed -n "/^Section/s/Section\:\ //p;/^Package/s/Package\:\ //p" |sed '$!N;s/\n/ /;s/\(.*\)\ \(.*\)/\2 \1/'| sort | egrep -i "$FEED_PATTERN" | sed -n "s/\(.*\)\ \(.*\)/\2/p" > feed-content.tmp
+
+ if ! test -z "$EXCLUDE_FROM_FEED"
+ then
+ cat feed-content.tmp | egrep -iv "$EXCLUDE_FROM_FEED" > feed-content.tmp2
+ rm feed-content.tmp
+ mv feed-content.tmp2 feed-content.tmp
+ fi
+
+ if ! test -d ${DEPLOY_DIR_IPK}/${FEED_NAME}
+ then
+ mkdir ${DEPLOY_DIR_IPK}/${FEED_NAME}
+ else
+ test "${DEPLOY_DIR_IPK}/${FEED_NAME}" = "/" && die "EMERGENCY BAIL-OUT"
+ rm -rf ${DEPLOY_DIR_IPK}/${FEED_NAME}
+ mkdir ${DEPLOY_DIR_IPK}/${FEED_NAME}
+ fi
+
+ for package in `cat feed-content.tmp`
+ do
+ cp ${DEPLOY_DIR_IPK}/${package}_*.ipk ${DEPLOY_DIR_IPK}/${FEED_NAME}
+ done
+
+ touch ${DEPLOY_DIR_IPK}/${FEED_NAME}/Packages
+ ipkg-make-index -r ${DEPLOY_DIR_IPK}/${FEED_NAME}/Packages -p ${DEPLOY_DIR_IPK}/${FEED_NAME}/Packages -l ${DEPLOY_DIR_IPK}/${FEED_NAME}/Packages.filelist -m ${DEPLOY_DIR_IPK}/${FEED_NAME}
+
+ test -d ${DEPLOY_DIR_IPK}/${FEED_NAME}/morgue && rm -rf ${DEPLOY_DIR_IPK}/${FEED_NAME}/morgue
+}
+
+addtask split_feed before do_build
+