# HG changeset patch # User Pascal Bellard # Date 1217415396 0 # Node ID 80c3ca076c2411fd5413187106a69b9aa6ba55d2 # Parent db7e865c0a118e160c0d16ddecb5804ec383898b Handle CONFIG_FILES in receipts diff -r db7e865c0a11 -r 80c3ca076c24 tazpkg --- a/tazpkg Wed Jul 30 09:51:15 2008 +0000 +++ b/tazpkg Wed Jul 30 10:56:36 2008 +0000 @@ -288,6 +288,7 @@ extract_package SELF_INSTALL=0 EXTRAVERSION="" + CONFIG_FILES="" # Include temporary receipt to get the right variables. . $PWD/receipt if [ $SELF_INSTALL -ne 0 -a -n "$ROOT" ]; then @@ -328,6 +329,21 @@ if grep -q ^pre_install $ROOT$INSTALLED/$PACKAGE/receipt; then pre_install $ROOT fi + if [ -n "$CONFIG_FILES" ]; then + # save 'official' configuration files + echo -n "Save configuration files for $PACKAGE... " + for i in $CONFIG_FILES; do + echo ${i#/} + done | ( cd fs ; cpio -o -H newc | gzip -9 ) > \ + $ROOT$INSTALLED/$PACKAGE/volatile.cpio.gz + # keep user configuration files + for i in $CONFIG_FILES; do + [ -e $ROOT$i ] || continue + rm -f fs$i + cp -a $ROOT$i fs$i + done + status + fi echo -n "Installing $PACKAGE... " cp -a fs/* $ROOT/ status @@ -1228,6 +1244,7 @@ sed 's/^/rootfs/' < files.list | cpio -o -H newc 2>/dev/null |\ ( cd tmp ; cpio -id 2>/dev/null ) mv tmp/rootfs fs + zcat $INSTALLED/$PACKAGE/volatile.cpio.gz | ( cd fs; cpio -id ) if grep -q repack_cleanup $INSTALLED/$PACKAGE/receipt; then . $INSTALLED/$PACKAGE/receipt repack_cleanup fs