#!/bin/bash

set -e 

function usage() {
  echo usage: $0 source_packages ... destinationprj
}


#DEBUG=yes
function my_do() {
if [ -z "$DEBUG" ]; then
  $* > /dev/null
else
  echo "$*"
fi
}


#cd $HOME/obs || { 
#$HOME/obs not there. Fatal.
#exit 1
#}


if [ $# -lt 2 ]; then
  usage
fi


# >=1 : omit last arg, because it's the destinationprj
while [ $# -gt 1 ]; do
  case "$1" in
    -v|--verbose)
	DEBUG=1
	shift
    ;;
    -*)
	shift
    ;;
    *)
    ;;
  esac
  packs="$packs $1"
  shift
done

dprj="$1"

if [ ! -d "$dprj" ]; then
  dprj="$HOME/obs/$dprj"
  if [ ! -d "$dprj" ]; then
    echo "$dprj not found, fatal."
  fi
fi

export package p dprj

for package in $packs; do
  # could be directory with path...
  p=$(basename $package)
  (
    cd $dprj
    my_do osc mkpac $p || :
  )

  echo -n "$package: "

  if [ ! -d $package ]; then
    echo -n "check-out "
    my_do osc co $package
  fi


  echo -n "copy "
  my_do rsync -aHS --exclude .osc/ $package/ $dprj/$p

  (
    cd $dprj/$p
    echo -n "addremove "
    my_do osc addremove
    echo -n "commit "
    yes | my_do osc commit -m "c"
    echo -n "updatepacmetafromspec "
    yes | my_do osc updatepacmetafromspec
    echo ""
  )


done


exit 0
