tazpkg diff tazpkg @ rev 18
repack support
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Tue Dec 11 16:26:44 2007 +0100 (2007-12-11) |
parents | 8fc79709638c |
children | fa0a764a285f |
line diff
1.1 --- a/tazpkg Tue Dec 11 16:25:08 2007 +0100 1.2 +++ b/tazpkg Tue Dec 11 16:26:44 2007 +0100 1.3 @@ -83,6 +83,7 @@ 1.4 extract Extract a (*.tazpkg) package into a directory. 1.5 pack Pack an unpacked or prepared package tree. 1.6 recharge Recharge your packages.list from the mirror. 1.7 + repack Creat a package archive from an installed package. 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 @@ -619,6 +620,46 @@ 1.12 echo "$PACKAGE is extracted to : $DESTDIR" 1.13 echo "" 1.14 ;; 1.15 + repack) 1.16 + # Creat SliTaz package archive from an installed package. 1.17 + # 1.18 + check_for_package_on_cmdline 1.19 + check_for_receipt 1.20 + eval $(grep ^VERSION= $INSTALLED/$PACKAGE/receipt) 1.21 + echo "" 1.22 + echo -e "\033[1mRepacking :\033[0m $PACKAGE-$VERSION.tazpkg" 1.23 + echo "================================================================================" 1.24 + MISSING="" 1.25 + for i in $(sed 's,^fs,,g' < $INSTALLED/$PACKAGE/files.list); do 1.26 + [ -e "$i" ] && continue 1.27 + [ -L "$i" ] || MISSING="$MISSING $i" 1.28 + done 1.29 + if [ -n "$MISSING" ]; then 1.30 + echo "Can't repack, the following files are lost:" 1.31 + for i in $MISSING; do 1.32 + echo " $i" 1.33 + done 1.34 + exit 1 1.35 + fi 1.36 + HERE=`pwd` 1.37 + mkdir -p $TMP_DIR 1.38 + cd $TMP_DIR 1.39 + cp $INSTALLED/$PACKAGE/files.list . 1.40 + cp $INSTALLED/$PACKAGE/receipt . 1.41 + ln -s / fs 1.42 + sed 's,^,fs,g' < files.list | cpio -o -H newc 2> /dev/null | \ 1.43 + gzip -9 > fs.cpio.gz 1.44 + cpio -o -H newc > $HERE/$PACKAGE-$VERSION.tazpkg 2> /dev/null <<EOT 1.45 +receipt 1.46 +files.list 1.47 +fs.cpio.gz 1.48 +EOT 1.49 + cd $HERE 1.50 + \rm -R $TMP_DIR 1.51 + echo "Package $PACKAGE repacked successfully." 1.52 + echo "Size : `du -sh $PACKAGE-$VERSION.tazpkg`" 1.53 + echo "" 1.54 + ;; 1.55 pack) 1.56 # Creat SliTaz package archive using cpio and gzip. 1.57 # 1.58 @@ -647,7 +688,7 @@ 1.59 gzip -d fs.cpio.gz && cpio -id < fs.cpio 1.60 rm fs.cpio && cd .. 1.61 echo "================================================================================" 1.62 - echo "Package $PACKAGE compressed succefully." 1.63 + echo "Package $PACKAGE compressed successfully." 1.64 echo "Size : `du -sh $PACKAGE.tazpkg`" 1.65 echo "" 1.66 fi