X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=tools%2Fgen-repo.sh;h=a7cf904cdce9b980a716ac257846f1646250acdc;hb=cb7dc67d460141b98472561ce080cf378c9cd785;hp=6fb2ad864d2ebb4009b134a782fcb97cae27a658;hpb=0d5676042e48358eafd714951e83971c1f0b1365;p=osm%2Fdevops.git diff --git a/tools/gen-repo.sh b/tools/gen-repo.sh index 6fb2ad86..a7cf904c 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 } @@ -37,6 +52,7 @@ function dump_vars() { echo "BUILD_NUMBER: $BUILD_NUMBER" } +MDG_REPOS="RO osmclient openvim SO UI IM devops MON N2VC NBI common POL PLA LW-UI NG-UI NG-SA" IN_REPO="unstable" OUT_REPO="stable" GPGKEY=71C0472C @@ -46,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} @@ -82,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 @@ -102,16 +125,19 @@ dump_vars $JFROG_CLI rt download --build "$BUILD" osm-release || FATAL "Failed to download" -[ $PASSPHRASE_FILE ] && GPG_PASSPHRASE="--no-tty --no-use-agent --passphrase \"$(cat $PASSPHRASE_FILE)\"" +[ $PASSPHRASE_FILE ] && GPG_PASSPHRASE="--pinentry-mode=loopback --passphrase \"$(cat $PASSPHRASE_FILE)\"" 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 IM; do +for i in $MDG_REPOS; do # gpg sign the packages dpkg-sig -g "$GPG_PASSPHRASE" -k $GPGKEY --sign builder pool/$i/*.deb @@ -128,10 +154,10 @@ apt-ftparchive release dists/$OUT_REPO > dists/$OUT_REPO/Release #gzip -9fk dists/$OUT_REPO/Release rm -f dists/$OUT_REPO/InRelease -eval gpg $GPG_PASSPHRASE --no-tty --default-key $GPGKEY --clearsign -o dists/$OUT_REPO/InRelease dists/$OUT_REPO/Release +eval gpg $GPG_PASSPHRASE --default-key $GPGKEY --clearsign -o dists/$OUT_REPO/InRelease dists/$OUT_REPO/Release rm -f dists/$OUT_REPO/Release.gpg -eval gpg $GPG_PASSPHRASE --no-tty --default-key $GPGKEY -abs -o dists/$OUT_REPO/Release.gpg dists/$OUT_REPO/Release +eval gpg $GPG_PASSPHRASE --default-key $GPGKEY -abs -o dists/$OUT_REPO/Release.gpg dists/$OUT_REPO/Release echo "performing rsync of repo $RELEASE_DIR/dist/$OUT_REPO to osm-download.etsi.org:/repos/" cd $CURR_DIR/$REPO_BASE @@ -139,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