From 1659d4ace7c783981aeca485484f876b319d0b9c Mon Sep 17 00:00:00 2001 From: Jose Carlos Venegas Munoz Date: Tue, 31 Jul 2018 18:57:28 -0500 Subject: [PATCH] obs: pkglib: get_obs_pkg_release: Allow find release number in empty repo. If we can not find a release number in a file this means it is an new repository. This could happend when upload changes for a new brach. Signed-off-by: Jose Carlos Venegas Munoz --- obs-packaging/scripts/pkglib.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/obs-packaging/scripts/pkglib.sh b/obs-packaging/scripts/pkglib.sh index 98552dec94..c21ea42938 100644 --- a/obs-packaging/scripts/pkglib.sh +++ b/obs-packaging/scripts/pkglib.sh @@ -316,12 +316,24 @@ function get_obs_pkg_release() { out=$(osc ${APIURL} -q co "${obs_pkg_name}" -o "${repo_dir}") || die "failed to checkout:$out" spec_file=$(find "${repo_dir}" -maxdepth 1 -type f -name '*.spec' | head -1) + # Find in specfile in Release: XX field. release=$(grep -oP 'Release:\s+[0-9]+' "${spec_file}" | grep -oP '[0-9]+') if [ -z "${release}" ]; then + # Not release number found find in "%define release XX" release=$(grep -oP '%define\s+release\s+[0-9]+' "${spec_file}" | grep -oP '[0-9]+') fi + release_file=$(find "${repo_dir}" -maxdepth 1 -type f -name 'pkg-release') + if [ -z "${release}" ] && [ -f "${release_file}" ]; then + # Release still not found check pkg-release file + release=$(grep -oP '[0-9]+' ${release_file}) + fi + if [ -z "${release}" ]; then + # Not release number found, this is a new repository. + release=1 + fi + rm -r "${repo_dir}" echo "${release}" }