summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-10-05 19:18:15 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-10-05 19:18:15 +0000
commit999a4c28918e28bc1dae8c33dc66293a3708dda9 (patch)
treec9a7e199a26c8899449a717dcb81c16d9f4dfeed
parent588525f6077357cae8d195350e675edbc7709707 (diff)
[tools] ipkg-utils: don't fail if conffiles do not exist, resolve them instead and silently skip not existing files.
This prepares support for sysupgrade hints using to build the keepfile list. Subsequent commits will rely on this feature - a rebuild of tools/ipkg-utils is necessary! git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23256 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--tools/ipkg-utils/patches/170-resolve_conffiles.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/ipkg-utils/patches/170-resolve_conffiles.patch b/tools/ipkg-utils/patches/170-resolve_conffiles.patch
new file mode 100644
index 000000000..31faf30a0
--- /dev/null
+++ b/tools/ipkg-utils/patches/170-resolve_conffiles.patch
@@ -0,0 +1,23 @@
+--- a/ipkg-build
++++ b/ipkg-build
+@@ -160,12 +160,15 @@ You probably want to chown these to a sy
+ done
+
+ if [ -f $CONTROL/conffiles ]; then
+- for cf in `cat $CONTROL/conffiles`; do
+- if [ ! -f ./$cf ]; then
+- echo "*** Error: $CONTROL/conffiles mentions conffile $cf which does not exist" >&2
+- PKG_ERROR=1
+- fi
++ rm -f $CONTROL/conffiles.resolved
++
++ for cf in `$FIND $(sed -e "s!^/!$pkg_dir/!" $CONTROL/conffiles) -type f`; do
++ echo "${cf#$pkg_dir}" >> $CONTROL/conffiles.resolved
+ done
++
++ rm $CONTROL/conffiles
++ mv $CONTROL/conffiles.resolved $CONTROL/conffiles
++ chmod 0644 $CONTROL/conffiles
+ fi
+
+ cd $owd