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. Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 46491
This commit is contained in:
parent
ef78a63997
commit
ec428bccad
3 changed files with 21 additions and 4 deletions
|
@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/feeds.mk
|
||||||
PKG_NAME:=opkg
|
PKG_NAME:=opkg
|
||||||
PKG_REV:=9c97d5ecd795709c8584e972bfdf3aee3a5b846d
|
PKG_REV:=9c97d5ecd795709c8584e972bfdf3aee3a5b846d
|
||||||
PKG_VERSION:=$(PKG_REV)
|
PKG_VERSION:=$(PKG_REV)
|
||||||
PKG_RELEASE:=7
|
PKG_RELEASE:=8
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_VERSION:=$(PKG_REV)
|
PKG_SOURCE_VERSION:=$(PKG_REV)
|
||||||
|
@ -64,6 +64,8 @@ endef
|
||||||
|
|
||||||
define Package/opkg/conffiles
|
define Package/opkg/conffiles
|
||||||
/etc/opkg.conf
|
/etc/opkg.conf
|
||||||
|
/etc/opkg/keys/
|
||||||
|
/etc/opkg/customfeeds.conf
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
@ -110,10 +112,13 @@ MAKE_FLAGS = \
|
||||||
define Package/opkg/Default/install
|
define Package/opkg/Default/install
|
||||||
$(INSTALL_DIR) $(1)/usr/lib/opkg
|
$(INSTALL_DIR) $(1)/usr/lib/opkg
|
||||||
$(INSTALL_DIR) $(1)/bin
|
$(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
|
$(INSTALL_DATA) ./files/opkg$(2).conf $(1)/etc/opkg.conf
|
||||||
$(call FeedSourcesAppend,$(1)/etc/opkg.conf)
|
$(call FeedSourcesAppend,$(1)/etc/opkg/distfeeds.conf)
|
||||||
$(VERSION_SED) $(1)/etc/opkg.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
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/opkg-cl $(1)/bin/opkg
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
9
package/system/opkg/files/20_migrate-feeds
Normal file
9
package/system/opkg/files/20_migrate-feeds
Normal file
|
@ -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
|
3
package/system/opkg/files/customfeeds.conf
Normal file
3
package/system/opkg/files/customfeeds.conf
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# add your custom package feeds here
|
||||||
|
#
|
||||||
|
# src/gz example_feed_name http://www.example.com/path/to/files
|
Loading…
Reference in a new issue