From c4b6984f070ff616b82cc4a6aecdd709a63f4bda Mon Sep 17 00:00:00 2001 From: Dmitry Burmistrov Date: Thu, 15 Dec 2016 19:03:29 +0400 Subject: [PATCH] [build] Fix repolist for hotfix flow Change-Id: I5aa0b0883af3102b663219968626798adce96d4d --- perestroika/build-fuel-deb.sh | 48 ++++++++++++++++++++++++++++----- perestroika/build-fuel-rpm.sh | 51 ++++++++++++++++++++++++++++++----- 2 files changed, 87 insertions(+), 12 deletions(-) diff --git a/perestroika/build-fuel-deb.sh b/perestroika/build-fuel-deb.sh index 2b6523c..5c0084e 100755 --- a/perestroika/build-fuel-deb.sh +++ b/perestroika/build-fuel-deb.sh @@ -46,6 +46,8 @@ main () { # Get revision number as commit count for src+spec projects local _rev=`git -C $_srcpath rev-list --no-merges origin/${SOURCE_BRANCH} | wc -l` [ "$GERRIT_CHANGE_STATUS" == "NEW" ] && _rev=$(( $_rev + 1 )) + [ "$IS_HOTFIX" == "true" ] \ + && _rev=$(get_extra_revision hotfix ${_srcpath}) # if gitshasrc is not defined (we are not using fetch_upstream), let's do it [ -n "${gitshasrc}" ] || local gitshasrc=$(git -C $_srcpath log -1 --pretty="%h") if [ "$GERRIT_CHANGE_STATUS" == "NEW" ] ; then @@ -91,14 +93,47 @@ main () { [ -n "$LP_BUG" ] && REQUEST=$LP_BUG COMPONENTS="main restricted" + DEB_HOTFIX_DIST_NAME=${DEB_HOTFIX_DIST_NAME:-hotfix} [ -n "${EXTRAREPO}" ] && EXTRAREPO="${EXTRAREPO}|" EXTRAREPO="${EXTRAREPO}http://${REMOTE_REPO_HOST}/${DEB_REPO_PATH} ${DEB_DIST_NAME} ${COMPONENTS}" - [ "$IS_UPDATES" == 'true' ] \ - && EXTRAREPO="${EXTRAREPO}|http://${REMOTE_REPO_HOST}/${DEB_REPO_PATH} ${DEB_PROPOSED_DIST_NAME} ${COMPONENTS}" - [ "$GERRIT_CHANGE_STATUS" == "NEW" ] && [ "$IS_UPDATES" != "true" ] && [ -n "$LP_BUG" -o -n "$CUSTOM_REPO_ID" ] \ - && EXTRAREPO="${EXTRAREPO}|http://${REMOTE_REPO_HOST}/${REPO_REQUEST_PATH_PREFIX}/${REQUEST}/${DEB_REPO_PATH} ${DEB_DIST_NAME} ${COMPONENTS}" - [ "$GERRIT_CHANGE_STATUS" == "NEW" ] && [ "$IS_UPDATES" == "true" ] && [ -n "$LP_BUG" -o -n "$CUSTOM_REPO_ID" ] \ - && EXTRAREPO="${EXTRAREPO}|http://${REMOTE_REPO_HOST}/${REPO_REQUEST_PATH_PREFIX}/${REQUEST}/${DEB_REPO_PATH} ${DEB_PROPOSED_DIST_NAME} ${COMPONENTS}" + + case true in + "$IS_HOTFIX" ) + EXTRAREPO="${EXTRAREPO}|http://${REMOTE_REPO_HOST}/${DEB_REPO_PATH} ${DEB_HOTFIX_DIST_NAME} ${COMPONENTS}" + EXTRAREPO="${EXTRAREPO}|http://${REMOTE_REPO_HOST}/${DEB_REPO_PATH} ${DEB_UPDATES_DIST_NAME} ${COMPONENTS}" + EXTRAREPO="${EXTRAREPO}|http://${REMOTE_REPO_HOST}/${DEB_REPO_PATH} ${DEB_SECURITY_DIST_NAME} ${COMPONENTS}" + ;; + "$IS_SECURITY" ) + EXTRAREPO="${EXTRAREPO}|http://${REMOTE_REPO_HOST}/${DEB_REPO_PATH} ${DEB_UPDATES_DIST_NAME} ${COMPONENTS}" + EXTRAREPO="${EXTRAREPO}|http://${REMOTE_REPO_HOST}/${DEB_REPO_PATH} ${DEB_SECURITY_DIST_NAME} ${COMPONENTS}" + ;; + "$IS_UPDATES" ) + EXTRAREPO="${EXTRAREPO}|http://${REMOTE_REPO_HOST}/${DEB_REPO_PATH} ${DEB_PROPOSED_DIST_NAME} ${COMPONENTS}" + EXTRAREPO="${EXTRAREPO}|http://${REMOTE_REPO_HOST}/${DEB_REPO_PATH} ${DEB_UPDATES_DIST_NAME} ${COMPONENTS}" + EXTRAREPO="${EXTRAREPO}|http://${REMOTE_REPO_HOST}/${DEB_REPO_PATH} ${DEB_SECURITY_DIST_NAME} ${COMPONENTS}" + ;; + esac + + if [ "$GERRIT_CHANGE_STATUS" == "NEW" ] && [ -n "$LP_BUG" -o -n "$CUSTOM_REPO_ID" ] ; then + local DEB_REQUEST_REPO_PATH=${DEB_REQUEST_REPO_PATH:-$DEB_REPO_PATH} + local REMOTE_REQUEST_REPO_HOST=${REMOTE_REQUEST_REPO_HOST:-$REMOTE_REPO_HOST} + case true in + "$IS_HOTFIX" ) + local DEB_REQUEST_DIST_NAME=$DEB_HOTFIX_DIST_NAME + ;; + "$IS_SECURITY" ) + local DEB_REQUEST_DIST_NAME=$DEB_SECURITY_DIST_NAME + ;; + "$IS_UPDATES" ) + local DEB_REQUEST_DIST_NAME=$DEB_PROPOSED_DIST_NAME + ;; + *) + local DEB_REQUEST_DIST_NAME=$DEB_DIST_NAME + ;; + esac + EXTRAREPO="${EXTRAREPO}|http://${REMOTE_REQUEST_REPO_HOST}/${REPO_REQUEST_PATH_PREFIX}/${REQUEST}/${DEB_REQUEST_REPO_PATH} ${DEB_REQUEST_DIST_NAME} ${COMPONENTS}" + fi + export EXTRAREPO if [ -n "$EXTRAREPO" ] ; then @@ -135,6 +170,7 @@ main () { GERRIT_CHANGE_STATUS=$GERRIT_CHANGE_STATUS REQUEST_NUM=$REQUEST_NUM LP_BUG=$LP_BUG + IS_HOTFIX=$IS_HOTFIX IS_SECURITY=$IS_SECURITY EXTRAREPO="$EXTRAREPO" REPO_TYPE=deb diff --git a/perestroika/build-fuel-rpm.sh b/perestroika/build-fuel-rpm.sh index 560c3aa..54ee602 100755 --- a/perestroika/build-fuel-rpm.sh +++ b/perestroika/build-fuel-rpm.sh @@ -43,6 +43,8 @@ main () { # if gitshasrc is not defined (we are not using fetch_upstream), let's do it [ -n "${gitshasrc}" ] || local gitshasrc=$(git -C $_srcpath log -1 --pretty="%h") [ "$GERRIT_CHANGE_STATUS" == "NEW" ] && _rev=$(( $_rev + 1 )) + [ "$IS_HOTFIX" == "true" ] \ + && _rev=$(get_extra_revision hotfix ${_srcpath}) if [ "$GERRIT_CHANGE_STATUS" == "NEW" ] ; then local OVERRIDE_PKG_REVISION=${OVERRIDE_PKG_REVISION:-1} local release="${OVERRIDE_PKG_REVISION}.mos${_rev}.git.${gitshasrc}" @@ -91,14 +93,50 @@ main () { local REQUEST=$REQUEST_NUM [ -n "$LP_BUG" ] && REQUEST=$LP_BUG + RPM_HOTFIX_REPO_PATH=${RPM_HOTFIX_REPO_PATH:-${RPM_OS_REPO_PATH%/*}/hotfix} [ -n "${EXTRAREPO}" ] && EXTRAREPO="${EXTRAREPO}|" EXTRAREPO="${EXTRAREPO}repo1,http://${REMOTE_REPO_HOST}/${RPM_OS_REPO_PATH}/x86_64" - [ "$IS_UPDATES" == 'true' ] && \ - EXTRAREPO="${EXTRAREPO}|repo2,http://${REMOTE_REPO_HOST}/${RPM_PROPOSED_REPO_PATH}/x86_64" - [ "$GERRIT_CHANGE_STATUS" == "NEW" ] && [ "$IS_UPDATES" != "true" ] && [ -n "$LP_BUG" -o -n "$CUSTOM_REPO_ID" ] && \ - EXTRAREPO="${EXTRAREPO}|repo3,http://${REMOTE_REPO_HOST}/${REPO_REQUEST_PATH_PREFIX}/${REQUEST}/${RPM_OS_REPO_PATH}/x86_64" - [ "$GERRIT_STATUS" == "NEW" ] && [ "$IS_UPDATES" == "true" ] && [ -n "$LP_BUG" -o -n "$CUSTOM_REPO_ID" ] && \ - EXTRAREPO="${EXTRAREPO}|repo3,http://${REMOTE_REPO_HOST}/${REPO_REQUEST_PATH_PREFIX}/${REQUEST}/${RPM_PROPOSED_REPO_PATH}/x86_64" + + case true in + "$IS_HOTFIX" ) + EXTRAREPO="${EXTRAREPO}|repo2,http://${REMOTE_REPO_HOST}/${RPM_HOTFIX_REPO_PATH}/x86_64" + EXTRAREPO="${EXTRAREPO}|repo3,http://${REMOTE_REPO_HOST}/${RPM_UPDATES_REPO_PATH}/x86_64" + EXTRAREPO="${EXTRAREPO}|repo4,http://${REMOTE_REPO_HOST}/${RPM_SECURITY_REPO_PATH}/x86_64" + ;; + "$IS_SECURITY" ) + EXTRAREPO="${EXTRAREPO}|repo2,http://${REMOTE_REPO_HOST}/${RPM_UPDATES_REPO_PATH}/x86_64" + EXTRAREPO="${EXTRAREPO}|repo3,http://${REMOTE_REPO_HOST}/${RPM_SECURITY_REPO_PATH}/x86_64" + ;; + "$IS_UPDATES" ) + EXTRAREPO="${EXTRAREPO}|repo2,http://${REMOTE_REPO_HOST}/${RPM_PROPOSED_REPO_PATH}/x86_64" + EXTRAREPO="${EXTRAREPO}|repo3,http://${REMOTE_REPO_HOST}/${RPM_UPDATES_REPO_PATH}/x86_64" + EXTRAREPO="${EXTRAREPO}|repo4,http://${REMOTE_REPO_HOST}/${RPM_SECURITY_REPO_PATH}/x86_64" + ;; + esac + + if [ "$GERRIT_CHANGE_STATUS" == "NEW" ] && [ -n "$LP_BUG" -o -n "$CUSTOM_REPO_ID" ] ; then + local REMOTE_REQUEST_REPO_HOST=${REMOTE_REQUEST_REPO_HOST:-$REMOTE_REPO_HOST} + local RPM_REQUEST_HOTFIX_REPO_PATH=${RPM_REQUEST_HOTFIX_REPO_PATH:-$RPM_HOTFIX_REPO_PATH} + local RPM_REQUEST_SECURITY_REPO_PATH=${RPM_REQUEST_SECURITY_REPO_PATH:-$RPM_SECURITY_REPO_PATH} + local RPM_REQUEST_PROPOSED_REPO_PATH=${RPM_REQUEST_PROPOSED_REPO_PATH:-$RPM_PROPOSED_REPO_PATH} + local RPM_REQUEST_OS_REPO_PATH=${RPM_REQUEST_OS_REPO_PATH:-$RPM_OS_REPO_PATH} + case true in + "$IS_HOTFIX" ) + local RPM_REQUEST_REPO_PATH=$RPM_REQUEST_HOTFIX_REPO_PATH + ;; + "$IS_SECURITY" ) + local RPM_REQUEST_REPO_PATH=$RPM_REQUEST_SECURITY_REPO_PATH + ;; + "$IS_UPDATES" ) + local RPM_REQUEST_REPO_PATH=$RPM_REQUEST_PROPOSED_REPO_PATH + ;; + * ) + local RPM_REQUEST_REPO_PATH=$RPM_REQUEST_OS_REPO_PATH + ;; + esac + EXTRAREPO="${EXTRAREPO}|repo5,http://${REMOTE_REQUEST_REPO_HOST}/${REPO_REQUEST_PATH_PREFIX}/${REQUEST}/${RPM_REQUEST_REPO_PATH}/x86_64" + fi + export EXTRAREPO if [ -n "$EXTRAREPO" ] ; then @@ -136,6 +174,7 @@ main () { GERRIT_CHANGE_STATUS=$GERRIT_CHANGE_STATUS REQUEST_NUM=$REQUEST_NUM LP_BUG=$LP_BUG + IS_HOTFIX=$IS_HOTFIX IS_SECURITY=$IS_SECURITY EXTRAREPO="$EXTRAREPO" REPO_TYPE=rpm