# HG changeset patch # User Christian Mesh # Date 1337442468 18000 # Node ID f6b0c7cd8d1620078e2b6662d2179069aaedb3b5 # Parent a946ed77f7271774a2667d5e48c1da1798ebe7e5 Removed spk-archive, moved extract to libspk diff -r a946ed77f727 -r f6b0c7cd8d16 lib/libspk.sh --- a/lib/libspk.sh Sat May 19 04:59:02 2012 -0500 +++ b/lib/libspk.sh Sat May 19 10:47:48 2012 -0500 @@ -184,6 +184,47 @@ fi } +# Extract .tazpkg cpio archive into a directory. +# Parameters: package_file results_directory +extract_package() { + local package_file=$1 + local target_dir=$2 + + # Validate the file + check_valid_tazpkg $package_file + + # Find the package name + local package_name=$(package_name $package_file) + + # Create destination directory + local dest_dir=$(pwd)/$package_name + [ -n "$target_dir" ] && dest_dir=$target_dir/$package_name + mkdir -p $dest_dir + + newline + echo $(boldify $(gettext "Extracting:")) $package_name + separator + + gettext "Copying original package..." + cp $package_file $dest_dir + status + + cd $dest_dir + size=$(du -sh $package_file | sed s/$package_file//) + echo -n $(gettext "Extracting archive"): $size + cpio -idm --quiet < ${package_file##*/} + rm -f ${package_file##*/} + unlzma -c fs.cpio.lzma | cpio -idm --quiet + rm fs.cpio.lzma + status + cd - > /dev/null + + separator + echo -n "$package_name" + gettext "is extracted to:"; echo " $dest_dir" + newline +} + # Unser var set by mirrored_pkg unset_mirrored() { unset mirrored mirror db pwd diff -r a946ed77f727 -r f6b0c7cd8d16 spk-add --- a/spk-add Sat May 19 04:59:02 2012 -0500 +++ b/spk-add Sat May 19 10:47:48 2012 -0500 @@ -107,10 +107,8 @@ [ "$verbose" ] && status # Extract Package - cd $tmpdir || exit 1 rm receipt - spk-archive extract $package_file - cd - >/dev/null + extract_package $package_file $tmpdir # Get files to remove if upgrading local files_to_remove diff -r a946ed77f727 -r f6b0c7cd8d16 spk-archive --- a/spk-archive Sat May 19 04:59:02 2012 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,119 +0,0 @@ -#!/bin/sh -# -# Spk-Archive - SliTaz Package Archive Manager -# -# NOT COMPLETE: Still need to re-write (just what was grabbed from tazpkg) -# -# Authors : See the AUTHORS files - -source /usr/lib/slitaz/libspk.sh - -usage() { - name=$(basename $0) - cat << EOT - -$(boldify $(gettext "Usage:")) $name [command] package - -$(boldify $(gettext "Commands:")) - pack - repack [--config] - extract - recompress - -$(boldify "$(gettext "Example:")") - $name extract package - -EOT - exit 0 -} - -# Extract a package with cpio and gzip/lzma to the current directory. -# Parameters: package_file -extract_package() { - local package_file=$1 - local package_name=$(package_name $package_file) - local size=$(du -sh $package_file | awk '{print $1}') - - gettext "Extracting archive"; echo -n ": $size" - cpio -idm --quiet < ${package_file##*/} && rm -f ${package_file##*/} - unlzma -c fs.cpio.lzma | cpio -idm --quiet && rm fs.cpio.lzma - status -} - -# Extract .tazpkg cpio archive into a directory. -# Parameters: package_file results_directory -extract() { - local package_file=$1 - local target_dir=$2 - - # Validate the file - check_valid_tazpkg $package_file - - # Find the package name - local package_name=$(package_name $package_file) - - # Create destination directory - local dest_dir=$(pwd)/$package_name - [ -n "$target_dir" ] && dest_dir=$target_dir/$package_name - mkdir -p $dest_dir - - newline - echo $(boldify $(gettext "Extracting:")) $package_name - separator - - gettext "Copying original package..." - cp $package_file $dest_dir - status - cd $dest_dir - extract_package $package $package_file - cd - > /dev/null - separator - echo -n "$package_name" - gettext "is extracted to:"; echo " $dest_dir" - newline -} - -# Recompress .tazpkg cpio archive with lzma. -# Parameters: package_file -recompress() { - local package_file=$1 - valid_tazpkg $package_file - - local package_name=$(package_name $package_file) - - newline - echo $(boldify $(gettext "Recompressing:")) $package_name - separator - - mkdir -p $TMP_DIR - - gettext "Copying original package..." - cp $package_file $TMP_DIR - status - - cd $TMP_DIR - extract_package $package_file - gettext "Recompressing the fs..." - find fs | cpio -o -H newc --quiet | lzma e fs.cpio.lzma -si - rm -rf fs - status - cd - > /dev/null - - gettext "Creating new package..." - find $TMP_DIR -print | cpio -o -H newc --quiet > \ - $(basename $package_file).$$ && mv -f \ - $(basename $package_file).$$ \ - $(basename $package_file) - status - - rm -rf $TMP_DIR -} - -case $1 in - extract|-e) - extract_package $2 $3 ;; - recompress|-r) - recompress $2 ;; - *) - usage ;; -esac diff -r a946ed77f727 -r f6b0c7cd8d16 spk-rm --- a/spk-rm Sat May 19 04:59:02 2012 -0500 +++ b/spk-rm Sat May 19 10:47:48 2012 -0500 @@ -157,7 +157,7 @@ esac # Be sure package is installed if [ ! -f "$installed/$pkg/receipt" ]; then - echo -n "$(boldify "$pkg") " + echo -n "$(boldify $pkg) " gettext "package is not installed"; newline continue fi