tazpkg rev 137

Add tazpkg save-config
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Jul 27 10:35:18 2008 +0000 (2008-07-27)
parents ceb2dcd87ee1
children d63ee20f2953
files tazpkg
line diff
     1.1 --- a/tazpkg	Mon Jul 21 13:43:07 2008 -0700
     1.2 +++ b/tazpkg	Sun Jul 27 10:35:18 2008 +0000
     1.3 @@ -104,6 +104,7 @@
     1.4    pack             Pack an unpacked or prepared package tree.
     1.5    recharge         Recharge your packages.list from the mirror.
     1.6    repack           Creates a package archive from an installed package.
     1.7 +  save-config      Creates a package archive with configuration files.
     1.8    upgrade          Upgrade all installed and listed packages on the mirror.
     1.9    block|unblock    Block an installed package version or unblock it for upgrade.
    1.10    get              Download a package into the current directory.
    1.11 @@ -1111,6 +1112,47 @@
    1.12  		echo "$PACKAGE is extracted to : $DESTDIR"
    1.13  		echo ""
    1.14  		;;
    1.15 +	save-config)
    1.16 +		# Create SliTaz package archive from configuration files.
    1.17 +		#
    1.18 +		mkdir -p $TMP_DIR && cd $TMP_DIR
    1.19 +		CONFIG_VERSION=1.0
    1.20 +		mkdir config-$CONFIG_VERSION
    1.21 +		cd config-$CONFIG_VERSION
    1.22 +		for i in $INSTALLED/*/volatile.cpio.gz; do 
    1.23 +			zcat $i | cpio -t | grep -v "[0-9]* blocks"
    1.24 +		done > files.list
    1.25 +		mkdir fs
    1.26 +		cd fs
    1.27 +		( cd / ; cpio -o -H newc ) < ../files.list | cpio -id > /dev/null
    1.28 +		mkdir -p etc/tazlito
    1.29 +		for i in $INSTALLED/*/receipt; do 
    1.30 +			EXTRAVERSION=""
    1.31 +			. $i
    1.32 +			echo "$PACKAGE-$VERSION$EXTRAVERSION"
    1.33 +		done > etc/tazlito/config-packages.list
    1.34 +		cd ..
    1.35 +		echo "etc/tazlito/config-packages.list" >> files.list
    1.36 +		while read file; do
    1.37 +			[ -L "fs/$file" ] && continue
    1.38 +			[ -f "fs/$file" ] || continue
    1.39 +			md5sum "fs/$file" | sed 's/  fs/  /'
    1.40 +		done < files.list > md5sum
    1.41 +		cat > receipt <<EOT
    1.42 +# SliTaz package receipt.
    1.43 +
    1.44 +PACKAGE="config"
    1.45 +VERSION="$CONFIG_VERSION"
    1.46 +CATEGORY="base-system"
    1.47 +SHORT_DESC="User configuration backup on $(date)"
    1.48 +DEPENDS="$(ls $INSTALLED)"
    1.49 +EOT
    1.50 +		cd ..
    1.51 +		tazpkg pack config-$CONFIG_VERSION
    1.52 +		cp config-$CONFIG_VERSION.tazpkg $TOP_DIR
    1.53 +		cd $TOP_DIR
    1.54 +		rm -rf $TMP_DIR
    1.55 +		;;
    1.56  	repack)
    1.57  		# Create SliTaz package archive from an installed package.
    1.58  		#