+check_newer() {
+ pkg=$1
+ package=$(zpm parse -n "$pkg")
+ newer=$(zpm shell "$target" "select '$pkg' > (select max(pkgid) collate vercmp from packages_pkgid where package = '$package') from packages_pkgid where package = '$package'")
+ if [ "$newer" = '1' ] || [ -z "$newer" ]; then
+ return 0;
+ fi
+ return 1
+}
+
+mlist="$pkglist"
+if [ $only_if_newer -eq 1 ]; then
+ mlist=
+ for pkgid in $pkglist; do
+ if check_newer "$pkgid" ; then
+ mlist="$mlist $pkgid"
+ fi
+ done
+ if [ -z "$mlist" ]; then
+ exit 0
+ fi
+fi
+