#!/bin/bash
API=https://api.tizen.org
-PRJ=${1:-Tizen:Common}
+ACTION=${1:-get}
+PRJ=${2:-Tizen:Common}
PARALLEL_JOBS=8
L)
mkdir -p $pkg
osc -A $API api /source/$PRJ/$pkg/_link >$pkg/_link
- msg="$msg (updated)"
+ osc -A $API api /source/$PRJ/$pkg/_meta >$pkg/_meta
+ if grep '<build' $pkg/_meta &>/dev/null; then
+ msg="$msg (updated, with meta)"
+ else
+ rm $pkg/_meta
+ msg="$msg (updated)"
+ fi
;;
*)
+ content=$(osc -A $API api /source/$PRJ/$pkg/_meta)
+ if echo $content | grep -q '<build>' ; then
+ mkdir -p $pkg
+ echo $content >$pkg/_meta
+ msg="$msg (updated)"
+ fi
;;
esac
-
echo $msg
}
-cd $(dirname $0)
-
-# fetch project config
-echo "Fetching project config for $PRJ"
-osc -A $API meta prjconf $PRJ >_config
+cd $PRJ
-# fetch project meta
-echo "Fetching project meta for $PRJ"
-osc -A $API meta prj $PRJ >_meta
+if [ "$ACTION" == 'get' ] ; then
+ # fetch project config
+ echo "Fetching project config for $PRJ"
+ osc -A $API meta prjconf $PRJ >_config
-# check that each subdir exists on OBS project
-shopt -s extglob
-for file in $(ls */@(_aggregate|_link)); do
- pkg=$(dirname $file)
- echo "Checking $pkg"
- if ! osc -A $API ls $PRJ $pkg &>/dev/null; then
- echo "Package $pkg was removed on OBS. Removing dir $pkg."
- git rm -rf $pkg
- fi
-done
-# fetch packages list
-osc -A $API ls $PRJ | while read pkg; do
- parallel_jobs $PARALLEL_JOBS
- check_package $pkg &
-done
+ # fetch project meta
+ echo "Fetching project meta for $PRJ"
+ osc -A $API meta prj $PRJ >_meta
-parallel_jobs 1
+ # check that each subdir exists on OBS project
+ shopt -s extglob
+ for file in $(ls */@(_aggregate|_link)); do
+ pkg=$(dirname $file)
+ echo "Checking $pkg"
+ if ! osc -A $API ls $PRJ $pkg &>/dev/null; then
+ echo "Package $pkg was removed on OBS. Removing dir $pkg."
+ git rm -rf $pkg
+ fi
+ done
+ # fetch packages list
+ osc -A $API ls $PRJ | while read pkg; do
+ parallel_jobs $PARALLEL_JOBS
+ check_package $pkg &
+ done
+ parallel_jobs 1
+elif [ "$ACTION" == 'put' ] ; then
+ find . -type f | while read path; do
+ path=$(echo $path|cut -d/ -f2-)
+ echo Sending $path to $PRJ
+ osc -A $API api -X PUT /source/$PRJ/$path -f $path
+ done
+else
+ >&2 echo "Error: Unknown action: $ACTION"
+ exit 1
+fi