Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package openstack-macros for openSUSE:Factory checked in at 2021-05-05 20:39:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openstack-macros (Old) and /work/SRC/openSUSE:Factory/.openstack-macros.new.2988 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openstack-macros" Wed May 5 20:39:31 2021 rev:11 rq:889956 version:2020.1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/openstack-macros/openstack-macros.changes 2019-10-22 15:37:11.717153161 +0200 +++ /work/SRC/openSUSE:Factory/.openstack-macros.new.2988/openstack-macros.changes 2021-05-05 20:39:31.799037529 +0200 @@ -1,0 +2,8 @@ +Fri Jan 22 22:34:54 UTC 2021 - Dirk M??ller <dmuel...@suse.com> + +- update to Version 2020.1.2: + * macro updates for ROD and SUSE + * remove singlespec macros, unused + * add gpgverify for RDO builds + +------------------------------------------------------------------- Old: ---- _service _servicedata macros.openstack-singlespec New: ---- gpgverify ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openstack-macros.spec ++++++ --- /var/tmp/diff_new_pack.UUWm4P/_old 2021-05-05 20:39:32.355035143 +0200 +++ /var/tmp/diff_new_pack.UUWm4P/_new 2021-05-05 20:39:32.359035126 +0200 @@ -1,7 +1,7 @@ # # spec file for package openstack-macros # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,9 +18,10 @@ %if 0%{?rhel} %global rdo 1 +%global rrcdir %{_prefix}/lib/rpm/redhat %endif Name: openstack-macros -Version: 2019.2.1 +Version: 2020.1.2 Release: 0 Summary: OpenStack Packaging - RPM Macros License: Apache-2.0 @@ -30,8 +31,7 @@ Source2: macros.openstack-suse Source3: macros.openstack-rdo Source4: macros.openstack-fedora -# the singlespec macros are a copy of https://github.com/openSUSE/python-rpm-macros -Source5: macros.openstack-singlespec +Source6: gpgverify BuildArch: noarch %if 0%{?rdo} Obsoletes: rdo-rpm-macros <= 1-3 @@ -50,12 +50,12 @@ %install install -D -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/rpm/macros.openstack-common -install -D -m644 %{SOURCE5} %{buildroot}%{_sysconfdir}/rpm/macros.openstack-singlespec %if 0%{?suse_version} install -D -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/rpm/macros.openstack-suse %endif %if 0%{?rdo} install -D -m644 %{SOURCE3} %{buildroot}%{_sysconfdir}/rpm/macros.openstack-rdo +install -D -m 755 %{SOURCE6} %{buildroot}%{rrcdir}/gpgverify %endif %if 0%{?fedora} || 0%{?rhel} > 7 install -D -m644 %{SOURCE4} %{buildroot}%{_sysconfdir}/rpm/macros.openstack-fedora @@ -63,12 +63,12 @@ %files %{_sysconfdir}/rpm/macros.openstack-common -%{_sysconfdir}/rpm/macros.openstack-singlespec %if 0%{?suse_version} %{_sysconfdir}/rpm/macros.openstack-suse %endif %if 0%{?rdo} %{_sysconfdir}/rpm/macros.openstack-rdo +%{rrcdir}/gpgverify %endif %if 0%{?fedora} || 0%{?rhel} > 7 %{_sysconfdir}/rpm/macros.openstack-fedora ++++++ gpgverify ++++++ #!/bin/bash # Copyright 2018 B. Persson, bj...@rombobeorn.se # # This material is provided as is, with absolutely no warranty expressed # or implied. Any use is at your own risk. # # Permission is hereby granted to use or copy this shellscript # for any purpose, provided the above notices are retained on all copies. # Permission to modify the code and to distribute modified code is granted, # provided the above notices are retained, and a notice that the code was # modified is included with the above copyright notice. function print_help { cat <<'EOF' Usage: gpgverify --keyring=<pathname> --signature=<pathname> --data=<pathname> gpgverify is a wrapper around gpgv designed for easy and safe scripting. It verifies a file against a detached OpenPGP signature and a keyring. The keyring shall contain all the keys that are trusted to certify the authenticity of the file, and must not contain any untrusted keys. The differences, compared to invoking gpgv directly, are that gpgverify accepts the keyring in either ASCII-armored or unarmored form, and that it will not accidentally use a default keyring in addition to the specified one. Parameters: --keyring=<pathname> keyring with all the trusted keys and no others --signature=<pathname> detached signature to verify --data=<pathname> file to verify against the signature EOF } fatal_error() { message="$1" # an error message status=$2 # a number to use as the exit code echo "gpgverify: $message" >&2 exit $status } require_parameter() { term="$1" # a term for a required parameter value="$2" # Complain and terminate if this value is empty. if test -z "${value}" ; then fatal_error "No ${term} was provided." 2 fi } check_status() { action="$1" # a string that describes the action that was attempted status=$2 # the exit code of the command if test $status -ne 0 ; then fatal_error "$action failed." $status fi } # Parse the command line. keyring= signature= data= for parameter in "$@" ; do case "${parameter}" in (--help) print_help exit ;; (--keyring=*) keyring="${parameter#*=}" ;; (--signature=*) signature="${parameter#*=}" ;; (--data=*) data="${parameter#*=}" ;; (*) fatal_error "Unknown parameter: \"${parameter}\"" 2 ;; esac done require_parameter 'keyring' "${keyring}" require_parameter 'signature' "${signature}" require_parameter 'data file' "${data}" # Make a temporary working directory. workdir="$(mktemp --directory)" check_status 'Making a temporary directory' $? workring="${workdir}/keyring.gpg" # Decode any ASCII armor on the keyring. This is harmless if the keyring isn't # ASCII-armored. gpg2 --homedir="${workdir}" --yes --output="${workring}" --dearmor "${keyring}" check_status 'Decoding the keyring' $? # Verify the signature using the decoded keyring. gpgv2 --homedir="${workdir}" --keyring="${workring}" "${signature}" "${data}" check_status 'Signature verification' $? # (--homedir isn't actually necessary. --dearmor processes only the input file, # and if --keyring is used and contains a slash, then gpgv2 uses only that # keyring. Thus neither command will look for a default keyring, but --homedir # makes extra double sure that no default keyring will be touched in case # another version of GPG works differently.) # Clean up. (This is not done in case of an error that may need inspection.) rm --recursive --force ${workdir} ++++++ macros.openstack-rdo ++++++ --- /var/tmp/diff_new_pack.UUWm4P/_old 2021-05-05 20:39:32.423034851 +0200 +++ /var/tmp/diff_new_pack.UUWm4P/_new 2021-05-05 20:39:32.423034851 +0200 @@ -171,3 +171,58 @@ \ print(url .. first .. '/' .. src .. '/' .. src .. '-' .. ver .. '.' .. ext) } + +# Compatibility with fedora in CentOS8 + +# - gpgverify +# - pytest +# - python3 +# - pycached + +# From https://src.fedoraproject.org/rpms/redhat-rpm-config/blob/master/f/macros.fedora-misc +# gpgverify verifies signed sources. There is documentation in the script. +%gpgverify(k:s:d:) %{lua: +local script = rpm.expand("%{_rpmconfigdir}/redhat/gpgverify ") +local keyring = rpm.expand("%{-k*}") +local signature = rpm.expand("%{-s*}") +local data = rpm.expand("%{-d*}") +print(script) +if keyring ~= "" then + print(rpm.expand("--keyring='%{SOURCE" .. keyring .. "}' ")) +end +if signature ~= "" then + print(rpm.expand("--signature='%{SOURCE" .. signature .. "}' ")) +end +if data ~= "" then + print(rpm.expand("--data='%{SOURCE" .. data .. "}' ")) +end +} + +# From https://src.fedoraproject.org/rpms/python-rpm-macros/blob/master/f/macros.python3 +# This is intended for Python 3 only, hence also no Python version in the name. +%__pytest /usr/bin/pytest%(test %{python3_pkgversion} == 3 || echo -%{python3_version}) +%pytest %{expand:\\\ + CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ + PATH="%{buildroot}%{_bindir}:$PATH"\\\ + PYTHONPATH="${PYTHONPATH:-%{buildroot}%{python3_sitearch}:%{buildroot}%{python3_sitelib}}"\\\ + PYTHONDONTWRITEBYTECODE=1\\\ + %__pytest} + +# From https://src.fedoraproject.org/rpms/python-rpm-macros/blob/master/f/macros.python-srpm +%python3 %__python3 + +# From https://src.fedoraproject.org/rpms/python-rpm-macros/blob/master/f/macros.python3 +# This only supports Python 3.5+ and will never work with Python 2. +# Hence, it has no Python version in the name. +%pycached() %{lua: + path = rpm.expand("%{?*}") + if (string.sub(path, "-3") ~= ".py") then + rpm.expand("%{error:%%pycached can only be used with paths explicitly ending with .py}") + else + print(path) + pyminor = path:match("/python3.(%d+)/") or "*" + dirname = path:match("(.*/)") + modulename = path:match(".*/([^/]+).py") + print("\\n" .. dirname .. "__pycache__/" .. modulename .. ".cpython-3" .. pyminor .. "{,.opt-?}.pyc") + end +} ++++++ macros.openstack-suse ++++++ --- /var/tmp/diff_new_pack.UUWm4P/_old 2021-05-05 20:39:32.443034766 +0200 +++ /var/tmp/diff_new_pack.UUWm4P/_new 2021-05-05 20:39:32.443034766 +0200 @@ -81,3 +81,10 @@ %sphinx_build /usr/bin/sphinx-build %http_dashboard_dir /srv/www/openstack-dashboard + +# For compatibility with RDO gpgverify macro +# Not needed for Suse, source verification is done with no need of special macro +%gpgverify %{nil} +# For compatibility with RDO %pycached macro used in fedora +# Not used for Suse nor for any OpenStack package +%pycached %{nil}