tazpkg rev 689

tazpkg/convert: add upkg support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Oct 01 11:30:34 2014 +0200 (2014-10-01)
parents 6dfd2dcad545
children 10ad6beacf0f
files tazpkg
line diff
     1.1 --- a/tazpkg	Wed Oct 01 10:26:52 2014 +0200
     1.2 +++ b/tazpkg	Wed Oct 01 11:30:34 2014 +0200
     1.3 @@ -1200,16 +1200,69 @@
     1.4  	fi
     1.5  }
     1.6  
     1.7 +# convert a .tar.bz2 package to .tazpkg
     1.8 +convert_upkg()
     1.9 +{
    1.10 +	mkdir -p $TMP_DIR/fs
    1.11 +	tar xjf $PACKAGE_FILE -C $TMP_DIR/fs 	
    1.12 +	if [ -d $TMP_DIR/fs/var/lib/upkg/packages ]; then
    1.13 +		cd $TMP_DIR
    1.14 +		package="$(sed '/^Package:/!d;s/.*: //' fs/var/lib/upkg/packages/*.info)"
    1.15 +		version="$(sed '/^Version:/!d;s/.*: //' fs/var/lib/upkg/packages/*.info)"
    1.16 +		url="http://www.paldo.org/"
    1.17 +		file=$package-$version
    1.18 +		mkdir $file
    1.19 +		mv fs $file
    1.20 +		maintainer=nobody@slitaz.org
    1.21 +		descrip="$package package from paldo."
    1.22 +		cat > $file/receipt <<EOT
    1.23 +# SliTaz package receipt.
    1.24 +# generated by tazpkg from package $(basename $PACKAGE_FILE)
    1.25 +PACKAGE="$package"
    1.26 +VERSION="$version"
    1.27 +CATEGORY="misc"
    1.28 +SHORT_DESC="$descrip"
    1.29 +WEB_SITE="$url"
    1.30 +MAINTAINER="$maintainer"
    1.31 +DEPENDS="$(find_depends)"
    1.32 +EOT
    1.33 +		[ -s $file/var/lib/upkg/files/*.config.bz2 ] &&
    1.34 +			cat >> $file/receipt <<EOT
    1.35 +CONFIG_FILES="$(bzcat $file/var/lib/upkg/files/*.config.bz2)"
    1.36 +EOT
    1.37 +		while read ext func ; do
    1.38 +			[ -s $file/fs/var/lib/upkg/scripts/*.$ext ] || continue
    1.39 +			cat >> $file/receipt <<EOT
    1.40 +
    1.41 +$func()
    1.42 +{
    1.43 +$(cat $file/fs/var/lib/upkg/scripts/*.$ext)
    1.44 +}
    1.45 +EOT
    1.46 +		done <<EOT
    1.47 +prerm	pre_remove
    1.48 +EOT
    1.49 +
    1.50 +		tazpkg pack $file
    1.51 +		mv $TMP_DIR/$file.tazpkg $TOP_DIR
    1.52 +	else
    1.53 +		eval_gettext "\$PACKAGE_FILE does not look like an upkg package!"; echo
    1.54 +	fi
    1.55 +	cd $TOP_DIR
    1.56 +	rm -rf $TMP_DIR
    1.57 +}
    1.58 +
    1.59  # convert a .spack package to .tazpkg
    1.60  convert_spack()
    1.61  {
    1.62 -	mkdir -p $TMP_DIR/fs
    1.63 +	mkdir -p $TMP_DIR
    1.64  	( cd $TMP_DIR ; cpio -i ) < $PACKAGE_FILE
    1.65  	cd $TMP_DIR
    1.66  	package="$(sed '$!d;s/:.*//' about.txt)"
    1.67  	version="$(basename $PACKAGE_FILE | sed "s/$package-\([^-]*\).*/\1/")"
    1.68  	descrip="$(sed '$!d;s/.*: //' about.txt)"
    1.69  	url="http://0linux.org/"
    1.70 +	maintainer=nobody@slitaz.org
    1.71  	file=$package-$version
    1.72  	mkdir -p $file/fs
    1.73  	xzcat files.xz | ( cd $file/fs ; cpio -idmu )
    1.74 @@ -1221,6 +1274,7 @@
    1.75  CATEGORY="misc"
    1.76  SHORT_DESC="$descrip"
    1.77  WEB_SITE="$url"
    1.78 +MAINTAINER="$maintainer"
    1.79  DEPENDS="$(find_depends)"
    1.80  EOT
    1.81  	[ -s pre-install.sh ] && cat >> $file/receipt <<EOT
    1.82 @@ -1242,6 +1296,7 @@
    1.83  	tazpkg pack $file
    1.84  	cd $TOP_DIR
    1.85  	mv $TMP_DIR/$file.tazpkg .
    1.86 +	rm -rf $TMP_DIR
    1.87  }
    1.88  
    1.89  # convert a .ipk package to .tazpkg
    1.90 @@ -3072,6 +3127,8 @@
    1.91  			convert_ipk;;
    1.92  		*.spack)
    1.93  			convert_spack;;
    1.94 +		*.tar.bz2)
    1.95 +			convert_upkg;;
    1.96  		*)
    1.97  			gettext "Unsupported format"; echo ;;
    1.98  		esac