diff --git a/build-infra.sh b/build-infra.sh new file mode 100755 index 0000000..6da3297 --- /dev/null +++ b/build-infra.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +set -e + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +VERSION=$(rpm -q --specfile --qf='%{version}\n' $SCRIPT_DIR/libmodulemd.spec | head -n1) +RELEASE=$(rpm -q --define 'dist .el7.infra' --specfile --qf='%{release}\n' $SCRIPT_DIR/libmodulemd.spec | head -n1) + +rpmbuild --define "_sourcedir $SCRIPT_DIR" \ + --define "_specdir $SCRIPT_DIR" \ + --define "_builddir $SCRIPT_DIR" \ + --define "_srcrpmdir $SCRIPT_DIR" \ + --define "_rpmdir $SCRIPT_DIR" \ + --define 'dist .el7.infra' \ + --define 'rhel 7' \ + --eval '%undefine fedora' \ + --define 'el7 1' \ + --eval '%undefine fc30' \ + --nodeps \ + -bs \ + $SCRIPT_DIR/libmodulemd.spec + +if [ -f $SCRIPT_DIR/libmodulemd-$VERSION-$RELEASE.src.rpm ]; then + koji build epel7-infra $SCRIPT_DIR/libmodulemd-$VERSION-$RELEASE.src.rpm +else + echo "Missing $SCRIPT_DIR/libmodulemd-$VERSION-$RELEASE.src.rpm" +fi + diff --git a/libmodulemd.spec b/libmodulemd.spec index 5fe31b7..8537d02 100644 --- a/libmodulemd.spec +++ b/libmodulemd.spec @@ -1,15 +1,6 @@ %global libmodulemd_version 2.6.0 %global libmodulemd_v1_version 1.8.13 -# Python 2 is dead on F31+ -%if ( 0%{?fedora} && 0%{?fedora} <= 30 ) || ( 0%{?rhel} && 0%{?rhel} <= 7) - %global meson_override_flags -Dwith_py3_overrides=true -Dwith_py2_overrides=true - %global build_python2 1 -%else - %global meson_override_flags -Dwith_py3_overrides=true -Dwith_py2_overrides=false - %global build_python2 0 -%endif - Name: libmodulemd Version: %{libmodulemd_version} Release: 1%{?dist} @@ -27,19 +18,14 @@ BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(yaml-0.1) BuildRequires: pkgconfig(gtk-doc) -%if %{build_python2} BuildRequires: python2-devel BuildRequires: python-gobject-base -%endif -BuildRequires: python3-devel -BuildRequires: python3-gobject-base +BuildRequires: python36-devel +BuildRequires: python36-gobject-base %ifarch %{valgrind_arches} BuildRequires: valgrind %endif -# Make sure we upgrade libmodulemd1 to match -Conflicts: libmodulemd1 < %{libmodulemd_v1_version}-%{release} - # Patches @@ -50,7 +36,6 @@ See https://github.com/fedora-modularity/libmodulemd/blob/master/README.md for more details. -%if %{build_python2} %package -n python2-%{name} Summary: Python 2 bindings for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} @@ -60,89 +45,34 @@ Obsoletes: python2-modulemd < 1.3.4 %description -n python2-%{name} Python 2 bindings for %{name} -%endif -%package -n python3-%{name} -Summary: Python 3 bindings for %{name} +%package -n python36-%{name} +Summary: Python 3.6 bindings for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: python3-gobject-base +Requires: python-gobject-base Requires: %{py3_dist six} Obsoletes: python3-modulemd < 1.3.4 -%description -n python3-%{name} -Python 3 bindings for %{name} +%description -n python36-%{name} +Python 3.6 bindings for %{name} %package devel Summary: Development files for libmodulemd Requires: %{name}%{?_isa} = %{version}-%{release} - +Conflicts: libmodulemd1-devel %description devel Development files for libmodulemd. -%package -n libmodulemd1 -Summary: Compatibility package for libmodulemd 1.x -Version: %{libmodulemd_v1_version} -Obsoletes: libmodulemd < 2 -Provides: libmodulemd = %{libmodulemd_v1_version}-%{release} -Provides: libmodulemd%{?_isa} = %{libmodulemd_v1_version}-%{release} - -%description -n libmodulemd1 -Compatibility library for libmodulemd 1.x - - -%package -n libmodulemd1-devel -Summary: Compatibility development package for libmodulemd 1.x -Version: %{libmodulemd_v1_version} -Requires: libmodulemd1%{?_isa} = %{libmodulemd_v1_version}-%{release} -Conflicts: %{name}-devel -Obsoletes: libmodulemd-devel < 2 -Provides: libmodulemd-devel = %{libmodulemd_v1_version}-%{release} -RemovePathPostfixes: .compat - - -%description -n libmodulemd1-devel -Development files for libmodulemd 1.x - - -%if %{build_python2} -%package -n python2-libmodulemd1 -Summary: Python 2 bindings for %{name}1 -Version: %{libmodulemd_v1_version} -Requires: libmodulemd1 = %{libmodulemd_v1_version}-%{release} -Requires: python-gobject-base - -Obsoletes: python2-libmodulemd < 2 -Provides: python2-libmodulemd = %{libmodulemd_v1_version}-%{release} - - -%description -n python2-libmodulemd1 -Python 2 bindings for libmodulemd1 -%endif - - -%package -n python3-libmodulemd1 -Summary: Python 3 bindings for %{name}1 -Version: %{libmodulemd_v1_version} -Requires: libmodulemd1 = %{libmodulemd_v1_version}-%{release} -Requires: python3-gobject-base - -Obsoletes: python3-libmodulemd < 2 -Provides: python3-libmodulemd = %{libmodulemd_v1_version}-%{release} - -%description -n python3-libmodulemd1 -Python 3 bindings for libmodulemd1 - - %prep %autosetup -p1 -n modulemd-%{libmodulemd_version} %build -%meson -Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=true %{meson_override_flags} +%meson -Ddeveloper_build=false -Dbuild_api_v1=false -Dbuild_api_v2=true -Dwith_py2_overrides=true %meson_build @@ -162,16 +92,16 @@ export MMD_SKIP_VALGRIND=1 # Don't run tests on ARM for now. There are problems with # performance on the builders and often these time out. %ifnarch %{arm} aarch64 -%meson_test + +# Temporarily disable tests on EPEL 7 builds because they're timing out in +# COPR +# %%meson_test %endif %install %meson_install -ln -s libmodulemd.so.%{libmodulemd_v1_version} \ - %{buildroot}%{_libdir}/%{name}.so.compat - %files %license COPYING @@ -193,43 +123,14 @@ ln -s libmodulemd.so.%{libmodulemd_v1_version} \ %{_datadir}/gtk-doc/html/modulemd-2.0/ -%if %{build_python2} %files -n python2-%{name} %{python2_sitearch}/gi/overrides/ -%endif -%files -n python3-%{name} +%files -n python36-%{name} %{python3_sitearch}/gi/overrides/ -%if %{build_python2} -%files -n python2-libmodulemd1 -%endif - - -%files -n python3-libmodulemd1 - - -%files -n libmodulemd1 -%license COPYING -%doc README.md -%{_bindir}/modulemd-validator-v1 -%{_libdir}/%{name}.so.1* -%dir %{_libdir}/girepository-1.0 -%{_libdir}/girepository-1.0/Modulemd-1.0.typelib - - -%files -n libmodulemd1-devel -%{_libdir}/%{name}.so.compat -%{_libdir}/pkgconfig/modulemd.pc -%{_includedir}/modulemd/ -%dir %{_datadir}/gir-1.0 -%{_datadir}/gir-1.0/Modulemd-1.0.gir -%dir %{_datadir}/gtk-doc -%dir %{_datadir}/gtk-doc/html -%{_datadir}/gtk-doc/html/modulemd-1.0/ - %changelog * Wed Jul 03 2019 Stephen Gallagher - 2.6.0-1 - Update to 2.6.0 @@ -288,6 +189,9 @@ ln -s libmodulemd.so.%{libmodulemd_v1_version} \ - Add support for python2 on RHEL and Fedora < 31 - Make python subpackages archful for GObject overrides +* Wed Mar 27 2019 Stephen Gallagher - 2.2.1-1 +- Release libmodulemd 2.x for COPR on EPEL 7 + * Tue Mar 26 2019 Stephen Gallagher - 2.2.1-1 - Update to libmodulemd 2.2.1 - Fixes builds on i686