#!/bin/bash
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
function usage() {
echo -e "usage: $0 [OPTIONS] BUILD"
echo -e " -h <rsync user@host> "
echo -e " -R <rsync options> "
echo -e " -P <public key file> "
+ echo -e " -c <changelogfile> "
+ echo -e " -m <MDG repos> "
exit 1
}
echo "RSYNC_USER_HOST $RSYNC_USER_HOST"
echo "RSYNC_OPTIONS $RSYNC_OPTIONS"
echo "PUBLIC_KEY_FILE $PUBLIC_KEY_FILE"
+ echo "BUILD: $BUILD"
+ echo "BUILD_NUMBER: $BUILD_NUMBER"
}
+MDG_REPOS="RO osmclient openvim SO UI IM devops MON N2VC NBI common POL PLA LW-UI NG-UI"
IN_REPO="unstable"
OUT_REPO="stable"
GPGKEY=71C0472C
RSYNC_USER_HOST=osmusers@osm-download.etsi.org
CURR_DIR=$(pwd)
PUBLIC_KEY_FILE=~/OSM\ ETSI\ Release\ Key.gpg
+CHANGE_LOG_FILE=
-while getopts ":p:i:o:k:j::d:b:r:h:R:P:" o; do
+while getopts ":p:i:o:k:j::d:b:r:h:R:P:c:m:" o; do
case "${o}" in
p)
PASSPHRASE_FILE=${OPTARG}
P)
PUBLIC_KEY_FILE=${OPTARG}
;;
+ c)
+ CHANGE_LOG_FILE=${OPTARG}
+ ;;
+ m)
+ MDG_REPOS=${OPTARG}
+ ;;
*)
usage
exit 1
esac
done
-dump_vars
-
BASE_DIR=$REPO_BASE/osm/debian/$RELEASE_DIR
[ -z "$BUILD" ] && FATAL "missing option: -b <build>"
+BUILD_NUMBER=$(echo "$BUILD" | sed -e 's/.*:: //g')
+
+dump_vars
+
[ -x $JFROG_CLI ] || FATAL "jfrog cli not found. Please install https://www.jfrog.com/getcli/ and use option '-j <jfrog cli location>'"
$JFROG_CLI rt download --build "$BUILD" osm-release || FATAL "Failed to download"
-BUILD_NUMBER=$(basename "$BUILD")
[ $PASSPHRASE_FILE ] && GPG_PASSPHRASE="--no-tty --no-use-agent --passphrase \"$(cat $PASSPHRASE_FILE)\""
cp -R $BUILD_NUMBER/dists/$IN_REPO $BASE_DIR/dists/$OUT_REPO
cp -R $BUILD_NUMBER/pool $BASE_DIR/
+echo "copy changelog from $BUILD_NUMBER/changelog to $BASE_DIR/"
+cp -R $BUILD_NUMBER/changelog $BASE_DIR/
+
cd $BASE_DIR
-for i in RO osmclient openvim SO UI IM; do
+for i in $MDG_REPOS; do
# gpg sign the packages
dpkg-sig -g "$GPG_PASSPHRASE" -k $GPGKEY --sign builder pool/$i/*.deb
# copy over the public key file
[ "$PUBLIC_KEY_FILE" ] && cp "$PUBLIC_KEY_FILE" osm/debian/$RELEASE_DIR
+# copy over the changelog file
+[ "$CHANGE_LOG_FILE" ] && cp "$CHANGE_LOG_FILE" osm/debian/$RELEASE_DIR
+
+IM_BASE="osm/debian/$RELEASE_DIR/pool/IM/osm-imdocs_"
+if ls "$IM_BASE"* 1> /dev/null 2>&1; then
+ IM_TMP_DIR=$(mktemp -d)
+ dpkg -x "$IM_BASE"* $IM_TMP_DIR
+ mkdir osm/debian/$RELEASE_DIR/docs
+ cp -R $IM_TMP_DIR/usr/share/osm-im osm/debian/$RELEASE_DIR/docs
+fi
+
rsync -avR $RSYNC_OPTIONS osm/debian/$RELEASE_DIR rsync://$RSYNC_USER_HOST/repos