#!/bin/sh # # Show jar content difference # # JPackage Project # Guillaume Rousse # # 1.0 - initial release # 1.1 - corrected a typo # - used /tmp for temp files # 1.2 - allow diffing two jars with same basename # - use mktemp(1) for creating temp files # 1.3 - fix java-functions location # Source functions library if [ -r /usr/share/java-utils/java-functions ] ; then . /usr/share/java-utils/java-functions else echo "Can't find functions library, aborting" exit 1 fi # Check arguments if [ $# != 2 ] ; then echo "usage: `basename $0` jar1 jar2" exit 1 fi if [ -r "$1" ] ; then JAR1=$1 LIST1=/tmp/`basename "$JAR1"`.list.XXXXXX else echo "Jar '$1' not readable" exit 1 fi if [ -r "$2" ] ; then JAR2=$2 LIST2=/tmp/`basename "$JAR2"`.list.XXXXXX else echo "Jar '$2' not readable" exit 1 fi # Get jar command set_jvm JAR=$JAVA_HOME/bin/jar LIST1=`mktemp "$LIST1"` LIST2=`mktemp "$LIST2"` # Get sorted jar content $JAR tvf "$JAR1" | awk -F" " '{ print $8}' | sort > "$LIST1" $JAR tvf "$JAR2" | awk -F" " '{ print $8}' | sort > "$LIST2" # Compute difference diff -Naur "$LIST1" "$LIST2" # Remove files rm -f "$LIST1" rm -f "$LIST2"