#!/bin/sh # Copyright (c) 2008 Alexander Sack, Sasa Bodiroza # Description: Script to unpack xpifile to outdir # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2, or (at # your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # The script unpacks the xpi file, then searches it for jar files. If it # finds any it will unzip it to ./outpur_dir/path/to/file.jar!/ dir. # Example: med-xpi-unpack ubufox-ver.xpi ubufox.out XPIFILE=$1; OUTDIR=$2; usage() { echo "med-xpi-unpack - Script to unpack XPI file to output directory." echo echo "To run it call:"; echo "$ med-xpi-unpack input_xpi_file output_directory" echo echo " input_xpi_file - packed XPI source tree"; echo " output_directory - location where the unpacke XPI file is placed"; exit 1; } if [ "$1" = "--help" -o "$1" = "-h" ] ; then usage; fi; if [ -z $XPIFILE ] ; then echo "Missing XPI file." echo usage fi; if [ -z $OUTDIR ] ; then echo "Missing output directory." echo usage fi; if [ -d $OUTDIR ] ; then echo "E: Output directory already exists." echo usage fi; if [ ! -f $XPIFILE ] ; then echo "E: XPI file doesn't exist." echo usage fi; mkdir $OUTDIR; echo "Unpacking $XPIFILE"; unzip -q $XPIFILE -d $OUTDIR; cd $OUTDIR; for JAR_PATH in `find . -name *.jar` ; do echo "Unpacking $JAR_PATH"; unzip -q $JAR_PATH -d $JAR_PATH!; rm -f $JAR_PATH; done; cd ..; echo "Unpacked xpi file.";