Revision 16 (by dpavlin, 2006/01/25 22:11:24) tweak
#!/bin/sh

jar="$1" ; shift
version="$1"

if [ ! -e "$jar" ] ; then
	echo "usage: $0 extension.jar [version]"
	echo "	default version is 1.0"
	exit 1
fi

# default version
if [ -z "$version" ] ; then
	version=1.0
fi

basename=`basename $jar`
name=`echo $basename | cut -d. -f1`

echo "converting $basename for $version"

# default tmp dir (add $$ here?)
tmp="/tmp/xpi"
mkdir $tmp

dir="$tmp/$name"

test -e "$tmp/$name" && rm -Rf "$tmp/$name"

unzip $jar -d $dir
echo "unpacked to $dir"

#chrome=`grep urn:mozilla:extension:file: $dir/install.rdf | sed -e 's/^.*urn:mozilla:extension:file://' -e 's/".*$//'`

#unzip "$dir/chrome/$chrome" -d "$dir/$chrome"
#echo "unpacked chrome to $dir/$chrome"

cat $dir/install.rdf | sed \
	-e 's#(+ver[0-9]*fix)*</em:version>#</em:verson>#' \
	-e 's#</em:version>#+verfix</em:version>#' \
	-e 's#<em:maxVersion>[^<]*</em:maxVersion>#<em:maxVersion>'$version'</em:maxVersion>#' \
	> $dir/install.rdf.new && \
	mv $dir/install.rdf.new $dir/install.rdf && \
	echo "updated version to $version in $dir/install.rdf" || exit

cd $dir && zip -9 -r $jar * && cd - && \
	echo "created new jar $dir/$jar"

mv "$dir/$jar" $jar && echo "replaced jar with new version"
#rm -Rf "$dir"