From 999a4c28918e28bc1dae8c33dc66293a3708dda9 Mon Sep 17 00:00:00 2001
From: jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Tue, 5 Oct 2010 19:18:15 +0000
Subject: [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
---
 .../ipkg-utils/patches/170-resolve_conffiles.patch | 23 ++++++++++++++++++++++
 1 file changed, 23 insertions(+)
 create mode 100644 tools/ipkg-utils/patches/170-resolve_conffiles.patch

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
-- 
cgit v1.2.3