#!/bin/sh
# pkgnewer return true if $1 newer than $2
# return 1 is the same
# return 2 if older
# Given various versioning scheme, this may broke
# The roman numeric for sure
#

isnewer() {

VER1=$1
VER2=$2
if [ "$VER1" == "$VER2" ]; then
    echo "same"
    return 1
fi

while [ 0 ]; do
    VVER1=${VER1%%.*}
    VVER2=${VER2%%.*}
    #echo -n "[$VVER1 $VVER2]"
    if [ ${#VVER1} -gt ${#VVER2} ]; then
	echo "newer"
	return 0    
    fi
    if [ ${#VVER1} -lt ${#VVER2} ]; then
	echo "older"
	return 2    
    fi
    if [ "$VVER1" \> "$VVER2" ]; then
	echo "newer"
	return 0
    fi
    if [ "$VVER2" \> "$VVER1" ]; then
	echo "older"
	return 2
    fi
    if [ "$VER1" == "$VVER1" ]; then
	echo "newer1"
	return 2
    fi
    if [ "$VER2" == "$VVER2" ]; then
	echo "older1"
	return 0
    fi
    VER1=${VER1#*.}
    VER2=${VER2#*.}
done
}

try1()
{
    echo "$1 > $2 = `isnewer $1 $2`"
}

try2()
{
try1 "1.1" "1.1"
try1 "1.2" "1.1"
try1 "1.1" "1.2"
try1 "1.1.1" "1.1"
try1 "1.1" "1.1.1"
try1 "1.10" "1.2"
try1 "1.2" "1.10"
try1 "1.1_gtk1" "1.1"
try1 "1.1" "1.1_gtk1"
try1 "20002020" "20001010"
try1 "20001010" "20002020"
try1 "IIIbeta2" "IIIbeta1"
try1 "IIIbeta1" "IIIbeta2"

## these are broken !
try1 "IVbeta1" "IIIbeta2"
try1 "IIIbeta2" "IVbeta1"

}

#try2

if [ -z "$1" ] || [ -z "$2" ]; then
    exit 3
fi

isnewer `pkgversion $1` `pkgversion $2`
