This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository buildscripts. commit cce0ab9588ae0d5c565898e18b0d0c2b56776cb4 Author: Mihai Moldovan <ionic@ionic.de> Date: Fri Nov 17 01:38:43 2017 +0100 bin/build-rpm-package: fetch OpenSuSE Tumbleweed obs-config from the public OBS instance (actually as a merge of openSUSE:Factory and openSUSE:Tumbleweed project configuration files.) --- bin/build-rpm-package | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/bin/build-rpm-package b/bin/build-rpm-package index 3da13db..32a4e9d 100755 --- a/bin/build-rpm-package +++ b/bin/build-rpm-package @@ -680,6 +680,44 @@ wrap_suse_major_version () { return "0" } +# Creates an obs-build configuration inside the temporary working directory. +# Takes the temporary working directory and a subdirectory containing the +# obs-build configuration files. +# Returns 0 on success or non-0 on failure. +setup_opensuse_tumbleweed_config() { + typeset temp_dir="${1:?"Error: no temporary working directory passed to ${FUNCNAME}()."}" + typeset obs_config_dir="${2:?"Error: no obs-build configuration subdirectory passed to ${FUNCNAME}()."}" + + typeset obs_factory_prjconf_url="https://api.opensuse.org/public/source/openSUSE:Factory/_config" + typeset obs_tumbleweed_prjconf_url="https://api.opensuse.org/public/source/openSUSE:Tumbleweed/_config" + typeset obs_config_tumbleweed_filename="sltumbleweed.conf" + + if [[ ! -d "${temp_dir}" ]]; then + echo "Temporary working directory (${temp_dir}) does not exist." >&2 + return "1" + fi + + pushd "${temp_dir}" >/dev/null 2>&1 + if ! mkdir -- "${obs_config_dir}"; then + echo "Unable to create obs-build config (${temp_dir}/${obs_config_dir}) directory." >&2 + popd + return "2" + fi + + pushd "${obs_config_dir}" + if ! ( curl "${obs_factory_prjconf_url}" "${obs_tumbleweed_prjconf_url}" ) > "${obs_config_tumbleweed_filename}"; then + echo "Unable to fetch public OBS OpenSuSE Factory and Tumbleweed configuration files." >&2 + popd + popd + return "3" + fi + + popd + popd + + return "0" +} + prepare_workspace() { # make sure our local working copy is up to date... if [ -d "${PROJECT_DIR}/.git" ]; then @@ -886,6 +924,10 @@ build_packages() { BUILD_RESULT="/home/abuild/rpmbuild/" + # Only used if necessary, currently for OpenSuSE Tumbleweed only. + typeset obs_config_dir="obs-config" + typeset -a extra_obs_build_args=( ) + typeset -i tmp_suse_major_version="0" typeset -i tmp_suse_minor_version="0" if [[ "${l_CODENAME}" = "tumbleweed" ]]; then @@ -942,6 +984,13 @@ build_packages() { else DOWNLOAD_URL="$(sed -e 's_#LEAP#__' <<< "${DOWNLOAD_URL}")" fi + else + if ! setup_opensuse_tumbleweed_config "${TEMP_DIR}" "${obs_config_dir}"; then + echo "Unable to fetch and prepare OpenSuSE Tumbleweed obs-build configuration file." >&2 + exit "1" + fi + + extra_obs_build_args+=( "--configdir" "${TEMP_DIR}/${obs_config_dir}" ) fi elif [ "x${l_DIST}" = "xsle" ]; then DOWNLOAD_URL="$(sed "s/#VERSION#/${l_CODENAME}/" <<< "${SLE_DOWNLOAD_URL}")" @@ -1008,6 +1057,7 @@ build_packages() { --root "/var/cache/obs-build/${l_DIST}/${l_CODENAME}/${base_arch}/" \ --clean \ --stage="-bs" \ + "${extra_obs_build_args[@]}" \ "${PKGDIST}/${l_DIST}/${l_CODENAME}/${l_ARCH}/rpmbuild/SOURCES/${PROJECT}.spec"; then # Copy and sign source RPM's. @@ -1053,6 +1103,7 @@ build_packages() { --arch "${l_ARCH}" \ --clean \ --stage="-bb" \ + "${extra_obs_build_args[@]}" \ "${PKGDIST}/${l_DIST}/${l_CODENAME}/SRPM/rpmbuild/SOURCES/${PROJECT}.spec"; then # For information on why this weird -print0 | read -r -d '' construction works, # refer to the first instance of this in this script. -- Alioth's /srv/git/code.x2go.org/buildscripts.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/buildscripts.git