aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-10-05 19:18:15 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-10-05 19:18:15 +0000
commit3341e1ece73734ce966aa613718af0f24d54f2f9 (patch)
tree94c73f0a803e8be4287238b8ba0a737b11183c54
parent650029f14b5320644fe8e703b5b839f40c6078a3 (diff)
downloadupstream-3341e1ece73734ce966aa613718af0f24d54f2f9.tar.gz
upstream-3341e1ece73734ce966aa613718af0f24d54f2f9.tar.bz2
upstream-3341e1ece73734ce966aa613718af0f24d54f2f9.zip
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!
SVN-Revision: 23256
-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 0000000000..31faf30a03
--- /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