diff --git a/verify_version b/verify_version index 8872c88..98cb4b4 100755 --- a/verify_version +++ b/verify_version @@ -8,23 +8,34 @@ PC_VERS=$(grep '^Version:' $PC_PATH |sed -e 's/^.*:[[:space:]]*//') DEB_PATH=debian/changelog DEB_VERS=$(head -1 $DEB_PATH | sed -e 's/^.*(//' -e 's/).*$//') -SPEC_PATH=${RPM_SOURCE_DIR:-rpm}/${RPM_PACKAGE_NAME:-mce-headers}.spec -SPEC_VERS=$(grep '^Version:' $SPEC_PATH |sed -e 's/^.*:[[:space:]]*//') +RPM_PATH=${RPM_SOURCE_DIR:-rpm}/${RPM_PACKAGE_NAME:-mce-headers}.spec +RPM_VERS=$(grep '^Version:' $RPM_PATH |sed -e 's/^.*:[[:space:]]*//') + +# Remove initial part of rpm version that equals with version from pkgconfig +RPM_XTRA=${RPM_VERS#$PC_VERS} +# From that remove initial part that equals with version from spec-file +RPM_XTRA=${RPM_XTRA#$RPM_VERS} +# If the result is non-empty string, then OBS is doing +# delta-after-matching-tag kind of build, which is ok. +# But empty string means that spec and Makefile are completely +# out of sync, which is bad. RES=0 - if [ "$DEB_VERS" != "$PC_VERS" ]; then echo >&2 "$PC_PATH $PC_VERS vs $DEB_PATH $DEB_VERS" RES=1 fi -if [ "$SPEC_VERS" != "$PC_VERS" ]; then - echo >&2 "$PC_PATH $PC_VERS vs $SPEC_PATH $SPEC_VERS" - RES=1 +if [ "$RPM_VERS" != "$PC_VERS" ]; then + if [ -z "$RPM_XTRA" ]; then + echo >&2 "$PC_PATH $PC_VERS vs $RPM_PATH $RPM_VERS" + RES=1 + else + echo "(ignoring patch level in spec file: $RPM_XTRA)" + fi fi - if [ $RES != 0 ]; then echo >&2 "Conflicting package versions" fi