X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=tools%2Fgen-repo.sh;h=24646d178d8690791e02c12ab91a4d11f8733c16;hb=903379cd3b035107298d468c62b9bee3ee16da24;hp=b7bb2f5e435d156e95b698191c010fa23b04debe;hpb=1e9805902a21e9261380f895f576df17e19bb791;p=osm%2Fdevops.git diff --git a/tools/gen-repo.sh b/tools/gen-repo.sh index b7bb2f5e..24646d17 100755 --- a/tools/gen-repo.sh +++ b/tools/gen-repo.sh @@ -1,4 +1,17 @@ #!/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" @@ -14,6 +27,8 @@ function usage() { echo -e " -h " echo -e " -R " echo -e " -P " + echo -e " -c " + echo -e " -m " exit 1 } @@ -33,8 +48,11 @@ function dump_vars() { 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 @@ -44,8 +62,9 @@ RELEASE_DIR=ReleaseTWO 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} @@ -80,6 +99,12 @@ while getopts ":p:i:o:k:j::d:b:r:h:R:P:" o; do P) PUBLIC_KEY_FILE=${OPTARG} ;; + c) + CHANGE_LOG_FILE=${OPTARG} + ;; + m) + MDG_REPOS=${OPTARG} + ;; *) usage exit 1 @@ -87,17 +112,18 @@ while getopts ":p:i:o:k:j::d:b:r:h:R:P:" o; do esac done -dump_vars - BASE_DIR=$REPO_BASE/osm/debian/$RELEASE_DIR [ -z "$BUILD" ] && FATAL "missing option: -b " +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 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)\"" @@ -106,9 +132,12 @@ mkdir -p $BASE_DIR/dists 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; do +for i in $MDG_REPOS; do # gpg sign the packages dpkg-sig -g "$GPG_PASSPHRASE" -k $GPGKEY --sign builder pool/$i/*.deb @@ -136,4 +165,15 @@ cd $CURR_DIR/$REPO_BASE # 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