tazpkg rev 275
Add tazpkg convert tgz (slackware packages)
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Fri Jul 17 19:02:20 2009 +0200 (2009-07-17) |
parents | 6f2b0bcdb41f |
children | 436caeb56107 |
files | tazpkg |
line diff
1.1 --- a/tazpkg Sun Jun 21 11:39:44 2009 +0200 1.2 +++ b/tazpkg Fri Jul 17 19:02:20 2009 +0200 1.3 @@ -120,7 +120,7 @@ 1.4 clean-cache Clean all packages downloaded in cache directory. 1.5 depends Display dependencies tree. 1.6 rdepends Display reverse dependencies tree. 1.7 - convert Convert a debian or rpm package to a slitaz package (.tazpkg). 1.8 + convert Convert a deb/rpm/tgz package to a slitaz package (.tazpkg). 1.9 link Link a package from another slitaz installation. 1.10 setup-mirror Change the mirror url configuration. 1.11 list-undigest List undigest mirrors. 1.12 @@ -977,6 +977,55 @@ 1.13 fi 1.14 } 1.15 1.16 +# convert a .tgz package to .tazpkg 1.17 +convert_tgz() 1.18 +{ 1.19 + IFS='-' 1.20 + set -- $(basename $PACKAGE_FILE) 1.21 + unset IFS 1.22 + package=$1 1.23 + version=$2 1.24 + file="$package-$version" 1.25 + mkdir -p $TMP_DIR/$file/fs 1.26 + tar xzf $PACKAGE_FILE -C $TMP_DIR/$file/fs 1.27 + cd $TMP_DIR 1.28 + if [ -d $file/fs/install ]; then 1.29 + descrip=$(grep ^$package $file/fs/install/slack-desc | \ 1.30 + head -1 | sed 's/.*(\(.*\)).*/\1/') 1.31 + cat > $file/receipt <<EOT 1.32 +# SliTaz package receipt. 1.33 +# generated by tazpkg from slackware package $(basename $PACKAGE_FILE) 1.34 +PACKAGE="$package" 1.35 +VERSION="$version" 1.36 +CATEGORY="misc" 1.37 +SHORT_DESC="$descrip" 1.38 +WEB_SITE="http://www.slackware.com/packages/" 1.39 +MAINTAINER="nobody@slitaz.org" 1.40 +DEPENDS="$(find_depends)" 1.41 +EOT 1.42 + show_unresolved_lib $file/receipt 1.43 + [ -f $file/fs/install/doinst.sh ] && cat >> $file/receipt <<EOM 1.44 + 1.45 +post_install() 1.46 +{ 1.47 +chroot \$1/ sh - << EOT 1.48 +cd / 1.49 +$(cat $file/fs/install/doinst.sh) 1.50 +EOT 1.51 +} 1.52 +EOM 1.53 + grep ^$package $file/fs/install/slack-desc | \ 1.54 + sed "s/^$package://" > $file/description.txt 1.55 + rm -rf $file/fs/install 1.56 + tazpkg pack $file 1.57 + mv $file.tazpkg $TOP_DIR 1.58 + else 1.59 + echo "$PACKAGE_FILE does not look like a Slackware package !" 1.60 + fi 1.61 + cd $TOP_DIR 1.62 + rm -rf $TMP_DIR 1.63 +} 1.64 + 1.65 # convert a .deb package to .tazpkg 1.66 convert_deb() 1.67 { 1.68 @@ -2374,6 +2423,8 @@ 1.69 convert_deb;; 1.70 *.rpm) 1.71 convert_rpm;; 1.72 + *.tgz) 1.73 + convert_tgz;; 1.74 *) 1.75 echo "Unsupported format";; 1.76 esac