Author: jogo
Date: 2015-09-11 12:48:42 +0200 (Fri, 11 Sep 2015)
New Revision: 46848

Added:
   branches/chaos_calmer/package/system/opkg/files/20_migrate-feeds
   branches/chaos_calmer/package/system/opkg/files/customfeeds.conf
Modified:
   branches/chaos_calmer/package/system/opkg/Makefile
Log:
CC: opkg: ensure image provided feeds are available after sysupgrade

Split the opkg.conf into three files, to make it easier to support custom
feeds and configs:

* /etc/opkg.conf -> base opkg configuration
* /etc/opkg/distfeeds.conf -> default Openwrt package feeds
* /etc/opkg/customfeeds.conf -> custom package feeds

Of these three, only the base opkg.conf and the customfeeds.conf is marked
as to be kept, so that the distfeeds.conf from the image is always used.

To ease migration, a script is added that moves any feeds from /etc/opkg.conf
to /etc/opkg/customfeeds.conf on first boot.

Also ensure that any keys used for verification are also kept in upgrade.

Backport of r46491.

Signed-off-by: Jonas Gorski <[email protected]>

Modified: branches/chaos_calmer/package/system/opkg/Makefile
===================================================================
--- branches/chaos_calmer/package/system/opkg/Makefile  2015-09-11 10:48:34 UTC 
(rev 46847)
+++ branches/chaos_calmer/package/system/opkg/Makefile  2015-09-11 10:48:42 UTC 
(rev 46848)
@@ -12,7 +12,7 @@
 PKG_NAME:=opkg
 PKG_REV:=9c97d5ecd795709c8584e972bfdf3aee3a5b846d
 PKG_VERSION:=$(PKG_REV)
-PKG_RELEASE:=7
+PKG_RELEASE:=8
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_VERSION:=$(PKG_REV)
@@ -64,6 +64,8 @@
 
 define Package/opkg/conffiles
 /etc/opkg.conf
+/etc/opkg/keys/
+/etc/opkg/customfeeds.conf
 endef
 
 
@@ -110,10 +112,13 @@
 define Package/opkg/Default/install
        $(INSTALL_DIR) $(1)/usr/lib/opkg
        $(INSTALL_DIR) $(1)/bin
-       $(INSTALL_DIR) $(1)/etc
+       $(INSTALL_DIR) $(1)/etc/opkg
+       $(INSTALL_DIR) $(1)/etc/uci-defaults
+       $(INSTALL_DATA) ./files/customfeeds.conf $(1)/etc/opkg/customfeeds.conf
        $(INSTALL_DATA) ./files/opkg$(2).conf $(1)/etc/opkg.conf
-       $(call FeedSourcesAppend,$(1)/etc/opkg.conf)
-       $(VERSION_SED) $(1)/etc/opkg.conf
+       $(call FeedSourcesAppend,$(1)/etc/opkg/distfeeds.conf)
+       $(VERSION_SED) $(1)/etc/opkg/distfeeds.conf
+       $(INSTALL_BIN) ./files/20_migrate-feeds $(1)/etc/uci-defaults/
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/opkg-cl $(1)/bin/opkg
 endef
 

Added: branches/chaos_calmer/package/system/opkg/files/20_migrate-feeds
===================================================================
--- branches/chaos_calmer/package/system/opkg/files/20_migrate-feeds            
                (rev 0)
+++ branches/chaos_calmer/package/system/opkg/files/20_migrate-feeds    
2015-09-11 10:48:42 UTC (rev 46848)
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+[ -f /etc/opkg.conf ] && grep -q "src\/" /etc/opkg.conf || exit 0
+
+echo -e "# Old feeds from previous image\n# Uncomment to reenable\n" >> 
/etc/opkg/customfeeds.conf
+sed -n "s/.*\(src\/.*\)/# \1/p" /etc/opkg.conf >> /etc/opkg/customfeeds.conf
+sed -i "/.*src\/.*/d" /etc/opkg.conf
+
+exit 0

Added: branches/chaos_calmer/package/system/opkg/files/customfeeds.conf
===================================================================
--- branches/chaos_calmer/package/system/opkg/files/customfeeds.conf            
                (rev 0)
+++ branches/chaos_calmer/package/system/opkg/files/customfeeds.conf    
2015-09-11 10:48:42 UTC (rev 46848)
@@ -0,0 +1,3 @@
+# add your custom package feeds here
+#
+# src/gz example_feed_name http://www.example.com/path/to/files
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits

Reply via email to