From 60b2d6ab51d6c929660443d5b98fc2aeae12d52b Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Wed, 27 Mar 2019 09:41:20 -0400 Subject: [PATCH 1/5] Rename to libmodulemd1 Signed-off-by: Stephen Gallagher --- libmodulemd.spec | 469 ---------------------------------------------- libmodulemd1.spec | 136 ++++++++++++++ 2 files changed, 136 insertions(+), 469 deletions(-) delete mode 100644 libmodulemd.spec create mode 100644 libmodulemd1.spec diff --git a/libmodulemd.spec b/libmodulemd.spec deleted file mode 100644 index 88b4a3a..0000000 --- a/libmodulemd.spec +++ /dev/null @@ -1,469 +0,0 @@ -%global libmodulemd_version 2.2.1 -%global libmodulemd_v1_version 1.8.4 - -Name: libmodulemd -Version: %{libmodulemd_version} -Release: 1%{?dist} -Summary: Module metadata manipulation library - -License: MIT -URL: https://github.com/fedora-modularity/libmodulemd -Source0: %{url}/releases/download/%{name}-%{version}/modulemd-%{version}.tar.xz - -BuildRequires: meson >= 0.47 -BuildRequires: pkgconfig -BuildRequires: gcc -BuildRequires: gcc-c++ -BuildRequires: pkgconfig(gobject-2.0) -BuildRequires: pkgconfig(gobject-introspection-1.0) -BuildRequires: pkgconfig(yaml-0.1) -BuildRequires: pkgconfig(gtk-doc) -BuildRequires: python3-devel -BuildRequires: python3-gobject-base -%ifarch %{valgrind_arches} -BuildRequires: valgrind -%endif - -Obsoletes: python2-modulemd < 1.3.4 -Obsoletes: python3-modulemd < 1.3.4 - -# Patches - -%description -C Library for manipulating module metadata files. -See https://github.com/fedora-modularity/libmodulemd/blob/master/README.md for -more details. - - -%package -n python3-%{name} -Summary: Python 3 bindings for %{name} -BuildArch: noarch -Requires: libmodulemd = %{version}-%{release} -Requires: python3-gobject-base -Obsoletes: python3-modulemd < 1.3.4 - -%description -n python3-%{name} -Python 3 bindings for %{name} - - -%package devel -Summary: Development files for libmodulemd -Requires: %{name}%{?_isa} = %{version}-%{release} - - -%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 - - -%package -n python3-libmodulemd1 -Summary: Python 3 bindings for %{name}1 -Version: %{libmodulemd_v1_version} -BuildArch: noarch -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_build - - -%check - -export LC_CTYPE=C.utf8 - -%ifarch %{power64} s390x -# Valgrind is broken on ppc64[le] with GCC7: -# https://bugs.kde.org/show_bug.cgi?id=386945 -export MMD_SKIP_VALGRIND=1 -%endif -%ifnarch %{valgrind_arches} -export MMD_SKIP_VALGRIND=1 -%endif - -# Don't run tests on armv7 for now. There are problems with -# performance on the builders and often these time out. -%ifnarch %{arm} -%meson_test -%endif - - -%install -%meson_install - -ln -s libmodulemd.so.%{libmodulemd_v1_version} \ - %{buildroot}%{_libdir}/%{name}.so.compat - - -%files -%license COPYING -%doc README.md -%{_bindir}/modulemd-validator -%{_libdir}/%{name}.so.2* -%dir %{_libdir}/girepository-1.0 -%{_libdir}/girepository-1.0/Modulemd-2.0.typelib -%{python3_sitearch}/gi/overrides/ - - -%files devel -%{_libdir}/%{name}.so -%{_libdir}/pkgconfig/modulemd-2.0.pc -%{_includedir}/modulemd-2.0/ -%dir %{_datadir}/gir-1.0 -%{_datadir}/gir-1.0/Modulemd-2.0.gir -%dir %{_datadir}/gtk-doc -%dir %{_datadir}/gtk-doc/html -%{_datadir}/gtk-doc/html/modulemd-2.0/ - - -%files -n python3-%{name} - - -%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 -* Tue Mar 26 2019 Stephen Gallagher - 2.2.1-1 -- Update to libmodulemd 2.2.1 -- Fixes builds on i686 -- Fixes an accidental API error - -* Tue Mar 26 2019 Stephen Gallagher - 2.2.0-1 -- Update to libmodulemd 2.2.0 -- Support for RPM checksums -- Adds a new directive: "buildafter" for specifying build dependencies -- Adds a new directive: "buildonly" to indicate that a component's built - artifacts should be listed in the "filter" field. -- Deprecate lookup functions by NSVC in favor of NSVCA (including the - architecture. - -* Fri Mar 01 2019 Stephen Gallagher - 2.1.0-4 -- Don't run tests on 32-bit ARM due to performance issues causing timeouts - -* Fri Mar 01 2019 Stephen Gallagher - 2.1.0-3 -- Have python3-libmodulemd1 properly Obsolete libmodulemd and - python3-libmodulemd < 2. - -* Fri Feb 01 2019 Fedora Release Engineering - 2.1.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sat Jan 26 2019 Stephen Gallagher - 2.1.0-1 -- Update to libmodulemd 2.1.0 and 1.8.2 -- Drop upstreamed patches -- Add new API ModuleStream.depends_on_stream() and - ModuleStream.build_depends_on_stream() to help support auto-detection of - when a module stream may need to be rebuilt when its dependencies change. -- Don't fail merges when default streams differ, treat it as "no default for - this module" -- Fix error message -- Copy modified value when copying Modulemd.Defaults objects -- Fixes discovered by clang and coverity static analysis tools -- Test improvements - -* Fri Jan 11 2019 Stephen Gallagher - 2.0.0-3 -- Fix ordering issue with dependencies -- Use glib2 suppression file when running valgrind tests - -* Fri Jan 11 2019 Stephen Gallagher - 2.0.0-2 -- Fix issue reading modified value for defaults from YAML streams - -* Thu Dec 13 2018 Stephen Gallagher - 2.0.0-1 -- Update to 2.0.0 final -- Assorted fixes for validation -- Add modulemd-validator tool based on v2 code -- Fix a crash when merging defaults - -* Tue Dec 11 2018 Stephen Gallagher - 2.0.0-0.beta2 -- Update to 2.0.0beta2 -- Better validation of stored content during read and write operations -- ModuleIndex now returns FALSE if any subdocument fails -- Fix tests on 32-bit platforms -- Make unknown keys in YAML maps non-fatal for libmodulemd1 -- Make unknown keys in YAML maps optionally fatal for libmodulemd 2.x -- Fix RPM version requirements for libmodulemd1 - -* Mon Dec 10 2018 Stephen Gallagher - 2.0.0-0.beta1 -- Update to 2.0.0beta1 -- Total rewrite to 2.0 API -- https://sgallagh.fedorapeople.org/docs/libmodulemd/2.0/ - -* Fri Oct 26 2018 Stephen Gallagher - 1.7.0-1 -- Update to 1.7.0 -- Enhance YAML parser for use with `fedmod lint` -- Support running unit tests against installed packages -- Include all NSVCs for ModuleStreams in ImprovedModule - -* Tue Sep 18 2018 Stephen Gallagher - 1.6.4-1 -- Update to 1.6.4. -- Add Buildopts to the documentation. -- Deduplicate module streams when merging. -- Drop upstreamed patches. - -* Thu Sep 06 2018 Stephen Gallagher - 1.6.3-2 -- Fix generation of module component YAML -- Output NSVC information using decimal version - -* Tue Sep 04 2018 Stephen Gallagher - 1.6.3-1 -- Update to 1.6.3 -- Drop upstreamed patch -- Don't return ModuleStream objects from modulemd_module_new_all_from_*_ext() -- Ensure that Component buildorder property is signed -- Work around optimization bug -- Don't crash dumping translation events without summary or desc - -* Thu Aug 09 2018 Stephen Gallagher - 1.6.2-2 -- Fix backwards-incompatible API change -- Resolves: rhbz#1607083 - -* Tue Aug 07 2018 Stephen Gallagher - 1.6.2-1 -- Update to 1.6.2 -- Make buildorder a signed integer to match modulemd specification - -* Mon Jul 23 2018 Stephen Gallagher - 1.6.1-2 -- Obsolete unsupported pythonX-modulemd packages - -* Fri Jul 20 2018 Stephen Gallagher - 1.6.1-1 -- Update to 1.6.1 -- Fix header include ordering -- Suppress empty sections from .dump() ordering - -* Wed Jul 18 2018 Stephen Gallagher - 1.6.0-1 -- Update to 1.6.0 -- Adds Modulemd.ModuleStream object, deprecating Modulemd.Module -- Adds Modulemd.Translation and Modulemd.TranslationEntry objects -- Adds Modulemd.ImprovedModule object that collects streams, defaults and - translations together -- Adds new Modulemd.index_from_*() funtions to get a hash table of - Modulemd.ImprovedModule objects for easier searching -- Moves function documentation to the public headers -- Corrects the license headers to MIT (they were incorrectly listed as MITNFA - in previous releases) -- Makes the "eol" field optional for Modulemd.ServiceLevel -- Clean up HTML documentation -- Fixes a type error on 32-bit systems - -* Fri Jul 13 2018 Fedora Release Engineering - 1.5.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Sat Jun 23 2018 Stephen Gallagher - 1.5.2-1 -- Update to libdmodulemd 1.5.2 -- Don't free uninitialized memory - -* Fri Jun 22 2018 Stephen Gallagher - 1.5.1-2 -- Fix buildopts property not being initialized - -* Tue Jun 19 2018 Stephen Gallagher - 1.5.1-1 -- Update to version 1.5.1 -- Re-enable build-time tests - -* Mon Jun 18 2018 Stephen Gallagher - 1.5.0-2 -- Temporarily disable build-time tests - -* Mon Jun 18 2018 Stephen Gallagher - 1.5.0-1 -- Update to version 1.5.0 -- Adds support for "intents" in Modulemd.Defaults -- Adds `Modulemd.get_version()` -- Adds support for RPM whitelists in the buildopts -- Adds a new object: Modulemd.Buildopts -- Deprecates Modulemd.Module.get_rpm_buildopts() -- Deprecates Modulemd.Module.set_rpm_buildopts() -- Fixes some missing license blurbs - -* Tue May 08 2018 Stephen Gallagher - 1.4.1-1 -- Update to version 1.4.1 -- Improve output from modulemd-validator -- Drop upstreamed patches - -* Wed Apr 25 2018 Stephen Gallagher - 1.4.0-2 -- Fix pointer math error -- Fix compilation failure in Fedora build system - -* Wed Apr 25 2018 Stephen Gallagher - 1.4.0-1 -- Update to version 1.4.0 -- Adds new API for returning failed YAML subdocuments -- Stop emitting log messages by default (polluting consumer logs) -- Validate RPM artifacts for proper NEVRA format -- Improve the validator tool -- Drop upstreamed patch - -* Mon Apr 16 2018 Stephen Gallagher - 1.3.0-2 -- Fix serious error in modulemd-defaults emitter - -* Fri Apr 13 2018 Stephen Gallagher - 1.3.0-1 -- Update to version 1.3.0 -- New Public Objects: - * Modulemd.Prioritizer - tool to merge module defaults -- New Public Functions: - * Modulemd.SimpleSet.is_equal() - * Modulemd.Defaults.copy() - * Modulemd.Defaults.merge() - -* Wed Apr 04 2018 Stephen Gallagher - 1.2.0-1 -- Update to version 1.2.0 -- New Functions: - * Modulemd.objects_from_file() - * Modulemd.objects_from_string() - * Modulemd.dump() - * Modulemd.dumps() - * Modulemd.Defaults.new_from_file() - * Modulemd.Defaults.new_from_string() -- Deprecated Functions: - * Modulemd.Module.new_all_from_file() - * Modulemd.Module.new_all_from_file_ext() - * Modulemd.Module.new_all_from_string() - * Modulemd.Module.new_all_from_string_ext() - * Modulemd.Module.dump_all() - * Modulemd.Module.dumps_all() -- Bugfixes - * Properly use G_BEGIN_DECLS and G_END_DECLS in headers - * Assorted fixes for memory ownership in GObject Introspection - -* Fri Mar 23 2018 Stephen Gallagher - 1.1.3-2 -- Fix missing G_END_DECL from public headers - -* Mon Mar 19 2018 Stephen Gallagher - 1.1.3-1 -- Fix numerous memory leaks -- Drop upstreamed patch - -* Thu Mar 15 2018 Stephen Gallagher - 1.1.2-1 -- Update to version 1.1.2 -- Revert backwards-incompatible API change -- Fix version string in pkgconfig file - -* Thu Mar 15 2018 Stephen Gallagher - 1.1.1-1 -- Update to version 1.1.1 -- Make default stream and profiles optional -- Fixes: https://github.com/fedora-modularity/libmodulemd/issues/25 -- Fixes: https://github.com/fedora-modularity/libmodulemd/issues/26 -- Fixes: https://github.com/fedora-modularity/libmodulemd/issues/27 - -* Wed Mar 14 2018 Stephen Gallagher - 1.1.0-1 -- Update to version 1.1.0 -- Adds support for handling modulemd-defaults YAML documents -- Adds peek()/dup() routines to all object properties -- Adds Modulemd.Module.dup_nsvc() to retrieve the canonical form of the unique module identifier. -- Adds support for boolean types in the XMD section -- Revert obsoletion of pythonX-modulemd packages for now - -* Tue Mar 13 2018 Igor Gnatenko - 1.0.4-2 -- Obsolete unsupported pythonX-modulemd packages - -* Tue Feb 27 2018 Stephen Gallagher - 1.0.4-1 -- Update to 1.0.4 -- Rework version autodetection -- Avoid infinite loop on unparseable YAML - -* Sun Feb 25 2018 Stephen Gallagher - 1.0.3-1 -- RPM components are properly emitted when no module components exist -- Parser works around late determination of modulemd version - -* Fri Feb 16 2018 Stephen Gallagher - 1.0.2-1 -- Be more strict with certain parser edge-cases -- Replace popt argument processing with glib -- Drop upstreamed patches - -* Thu Feb 15 2018 Stephen Gallagher - 1.0.1-2 -- Handle certain unlikely format violations - -* Thu Feb 15 2018 Stephen Gallagher - 1.0.1-1 -- Support modulemd v2 -- Add tool to do quick validation of modulemd -- Fix memory management -- Warn and ignore unparseable sub-documents in the YAML -- Fix several memory issues detected by Coverity scan - -* Tue Feb 06 2018 Stephen Gallagher - 0.2.2-1 -- Update to libmodulemd 0.2.2 -- Fix numerous minor memory leaks -- Fix issues with EOL/SL dates - -* Tue Feb 06 2018 Igor Gnatenko - 0.2.1-3 -- Own appropriate directories - -* Fri Feb 02 2018 Igor Gnatenko - 0.2.1-2 -- Switch to %%ldconfig_scriptlets - -* Fri Jan 05 2018 Stephen Gallagher - 0.2.1-1 -- Update to libmodulemd 0.2.1 -- Add 'name' property for Profiles - -* Thu Oct 05 2017 Stephen Gallagher - 0.2.0-2 -- Add missing BuildRequires for gtk-doc - -* Thu Oct 05 2017 Stephen Gallagher - 0.2.0-1 -- Update to libmodulemd 0.2.0 -- Adds gtk-doc generated documentation -- (ABI-break) Makes all optional properties accept NULL as a value to clear - them -- (ABI-break) Modulemd.SimpleSet takes a STRV (char **) instead of a - GLib.PtrArray -- Fixes a bug where the name was not always set for components -- Adds support for dumping YAML from the introspected API -- Includes add/remove routines for profiles - -* Sat Sep 30 2017 Igor Gnatenko - 0.1.0-5 -- Use %%_isa in Requires for main package from devel - -* Mon Sep 18 2017 Stephen Gallagher - 0.1.0-4 -- Correct the license to MIT - -* Mon Sep 18 2017 Stephen Gallagher - 0.1.0-3 -- Modifications requested during package review - -* Fri Sep 15 2017 Stephen Gallagher - 0.1.0-2 -- First public release - diff --git a/libmodulemd1.spec b/libmodulemd1.spec new file mode 100644 index 0000000..95d6333 --- /dev/null +++ b/libmodulemd1.spec @@ -0,0 +1,136 @@ +%global libmodulemd_version 2.2.1 +%global libmodulemd_v1_version 1.8.4 + +Name: libmodulemd1 +Version: %{libmodulemd_v1_version} +Release: 1%{?dist} +Summary: Module metadata manipulation library + +License: MIT +URL: https://github.com/fedora-modularity/libmodulemd +Source0: %{url}/releases/download/libmodulemd-%{libmodulemd_version}/modulemd-%{libmodulemd_version}.tar.xz + +BuildRequires: meson >= 0.47 +BuildRequires: pkgconfig +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(yaml-0.1) +BuildRequires: pkgconfig(gtk-doc) +BuildRequires: python36-devel +BuildRequires: python36-gobject-base +%ifarch %{valgrind_arches} +BuildRequires: valgrind +%endif + +Obsoletes: python2-modulemd < 1.3.4 +Obsoletes: python3-modulemd < 1.3.4 + +Obsoletes: libmodulemd < 2 +Provides: libmodulemd = %{version}-%{release} +Provides: libmodulemd%{?_isa} = %{version}-%{release} + +# Patches + +%description +C Library for manipulating module metadata files. +See https://github.com/fedora-modularity/libmodulemd/blob/master/README.md for +more details. + + +%package -n python2-%{name} +Summary: Python 2 bindings for %{name} +BuildArch: noarch +Requires: libmodulemd1 = %{version}-%{release} +Requires: python-gobject-base +Obsoletes: python2-modulemd < 1.3.4 + +%description -n python2-%{name} +Python 2 bindings for %{name} + + +%package -n python36-%{name} +Summary: Python 3.6 bindings for %{name} +BuildArch: noarch +Requires: libmodulemd1 = %{version}-%{release} +Requires: python36-gobject-base +Obsoletes: python3-modulemd < 1.3.4 + +%description -n python36-%{name} +Python 3.6 bindings for %{name} + + +%package devel +Summary: Development files for libmodulemd +Requires: %{name}%{?_isa} = %{version}-%{release} +Conflicts: libmodulemd-devel + +%description devel +Development files for libmodulemd. + + +%prep +%autosetup -p1 -n modulemd-%{libmodulemd_version} + + +%build +%meson -Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=false +%meson_build + + +%check + +export LC_CTYPE=C.utf8 + +%ifarch %{power64} s390x +# Valgrind is broken on ppc64[le] with GCC7: +# https://bugs.kde.org/show_bug.cgi?id=386945 +export MMD_SKIP_VALGRIND=1 +%endif +%ifnarch %{valgrind_arches} +export MMD_SKIP_VALGRIND=1 +%endif + +# Don't run tests on armv7 for now. There are problems with +# performance on the builders and often these time out. +%ifnarch %{arm} +%meson_test +%endif + + +%install +%meson_install + + +%files +%license COPYING +%doc README.md +%{_bindir}/modulemd-validator-v1 +%{_libdir}/libmodulemd.so.1* +%dir %{_libdir}/girepository-1.0 +%{_libdir}/girepository-1.0/Modulemd-1.0.typelib +%{python3_sitearch}/gi/overrides/ + + +%files devel +%{_libdir}/libmodulemd.so +%{_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/ + + +%files -n python36-%{name} + + +%files -n python2-%{name} + + +%changelog +* Wed Mar 27 2019 Stephen Gallagher - 1.8.4-1 +- Release libmodulemd1 1.8.4 for COPR on EPEL 7 + From 4814d20688fe78702e8c63aa9cb5efe579a7098e Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Wed, 27 Mar 2019 15:02:42 -0400 Subject: [PATCH 2/5] Update to 1.8.5 Signed-off-by: Stephen Gallagher --- libmodulemd1.spec | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/libmodulemd1.spec b/libmodulemd1.spec index 95d6333..74eb594 100644 --- a/libmodulemd1.spec +++ b/libmodulemd1.spec @@ -1,5 +1,5 @@ -%global libmodulemd_version 2.2.1 -%global libmodulemd_v1_version 1.8.4 +%global libmodulemd_version 2.2.2 +%global libmodulemd_v1_version 1.8.5 Name: libmodulemd1 Version: %{libmodulemd_v1_version} @@ -24,9 +24,6 @@ BuildRequires: python36-gobject-base BuildRequires: valgrind %endif -Obsoletes: python2-modulemd < 1.3.4 -Obsoletes: python3-modulemd < 1.3.4 - Obsoletes: libmodulemd < 2 Provides: libmodulemd = %{version}-%{release} Provides: libmodulemd%{?_isa} = %{version}-%{release} @@ -41,8 +38,7 @@ more details. %package -n python2-%{name} Summary: Python 2 bindings for %{name} -BuildArch: noarch -Requires: libmodulemd1 = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Requires: python-gobject-base Obsoletes: python2-modulemd < 1.3.4 @@ -53,7 +49,7 @@ Python 2 bindings for %{name} %package -n python36-%{name} Summary: Python 3.6 bindings for %{name} BuildArch: noarch -Requires: libmodulemd1 = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Requires: python36-gobject-base Obsoletes: python3-modulemd < 1.3.4 @@ -75,7 +71,7 @@ Development files for libmodulemd. %build -%meson -Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=false +%meson -Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=false -Dwith_py2_overrides=false -Dwith_py3_overrides=false %meson_build @@ -110,7 +106,6 @@ export MMD_SKIP_VALGRIND=1 %{_libdir}/libmodulemd.so.1* %dir %{_libdir}/girepository-1.0 %{_libdir}/girepository-1.0/Modulemd-1.0.typelib -%{python3_sitearch}/gi/overrides/ %files devel @@ -131,6 +126,9 @@ export MMD_SKIP_VALGRIND=1 %changelog +* Wed Mar 27 2019 Stephen Gallagher - 1.8.5-1 +- Update to libmodulemd 1.8.5 with proper python 2 support + * Wed Mar 27 2019 Stephen Gallagher - 1.8.4-1 - Release libmodulemd1 1.8.4 for COPR on EPEL 7 From 7e441edb2ed0f71e3c9bc94f963aec3f392a7fd1 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Wed, 27 Mar 2019 15:22:39 -0400 Subject: [PATCH 3/5] Add sources properly Signed-off-by: Stephen Gallagher --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5ba2ab2..358f1e6 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ /modulemd-2.1.0.tar.xz /modulemd-2.2.0.tar.xz /modulemd-2.2.1.tar.xz +/modulemd-2.2.2.tar.xz diff --git a/sources b/sources index a65dea9..3624306 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (modulemd-2.2.1.tar.xz) = cd25a2c89325324215623958e3b5143013561cddcf022f0a8467296fe842d60468bf0d6187ae49a8fb1b027ed7284929760aa34b6a1a576af6b7602f3c0de670 +SHA512 (modulemd-2.2.2.tar.xz) = c3f28327a00196d52fa9df0b7b31367e5136b52281826d28167b618d9e051c135b174a1dc3218c1f19fc464884545d16bc86bfc57a3840a73338c002db9e38f1 From 2a96109bb3f01c7f25a2db60c00a24af4cbf33e1 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Fri, 3 May 2019 08:53:00 -0400 Subject: [PATCH 4/5] Maintain both specfile names for merges --- libmodulemd.spec | 134 +++++++++++++++++++++++++++++++++++++++++++++ libmodulemd1.spec | 135 +--------------------------------------------- 2 files changed, 135 insertions(+), 134 deletions(-) create mode 100644 libmodulemd.spec mode change 100644 => 120000 libmodulemd1.spec diff --git a/libmodulemd.spec b/libmodulemd.spec new file mode 100644 index 0000000..74eb594 --- /dev/null +++ b/libmodulemd.spec @@ -0,0 +1,134 @@ +%global libmodulemd_version 2.2.2 +%global libmodulemd_v1_version 1.8.5 + +Name: libmodulemd1 +Version: %{libmodulemd_v1_version} +Release: 1%{?dist} +Summary: Module metadata manipulation library + +License: MIT +URL: https://github.com/fedora-modularity/libmodulemd +Source0: %{url}/releases/download/libmodulemd-%{libmodulemd_version}/modulemd-%{libmodulemd_version}.tar.xz + +BuildRequires: meson >= 0.47 +BuildRequires: pkgconfig +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(yaml-0.1) +BuildRequires: pkgconfig(gtk-doc) +BuildRequires: python36-devel +BuildRequires: python36-gobject-base +%ifarch %{valgrind_arches} +BuildRequires: valgrind +%endif + +Obsoletes: libmodulemd < 2 +Provides: libmodulemd = %{version}-%{release} +Provides: libmodulemd%{?_isa} = %{version}-%{release} + +# Patches + +%description +C Library for manipulating module metadata files. +See https://github.com/fedora-modularity/libmodulemd/blob/master/README.md for +more details. + + +%package -n python2-%{name} +Summary: Python 2 bindings for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python-gobject-base +Obsoletes: python2-modulemd < 1.3.4 + +%description -n python2-%{name} +Python 2 bindings for %{name} + + +%package -n python36-%{name} +Summary: Python 3.6 bindings for %{name} +BuildArch: noarch +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python36-gobject-base +Obsoletes: python3-modulemd < 1.3.4 + +%description -n python36-%{name} +Python 3.6 bindings for %{name} + + +%package devel +Summary: Development files for libmodulemd +Requires: %{name}%{?_isa} = %{version}-%{release} +Conflicts: libmodulemd-devel + +%description devel +Development files for libmodulemd. + + +%prep +%autosetup -p1 -n modulemd-%{libmodulemd_version} + + +%build +%meson -Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=false -Dwith_py2_overrides=false -Dwith_py3_overrides=false +%meson_build + + +%check + +export LC_CTYPE=C.utf8 + +%ifarch %{power64} s390x +# Valgrind is broken on ppc64[le] with GCC7: +# https://bugs.kde.org/show_bug.cgi?id=386945 +export MMD_SKIP_VALGRIND=1 +%endif +%ifnarch %{valgrind_arches} +export MMD_SKIP_VALGRIND=1 +%endif + +# Don't run tests on armv7 for now. There are problems with +# performance on the builders and often these time out. +%ifnarch %{arm} +%meson_test +%endif + + +%install +%meson_install + + +%files +%license COPYING +%doc README.md +%{_bindir}/modulemd-validator-v1 +%{_libdir}/libmodulemd.so.1* +%dir %{_libdir}/girepository-1.0 +%{_libdir}/girepository-1.0/Modulemd-1.0.typelib + + +%files devel +%{_libdir}/libmodulemd.so +%{_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/ + + +%files -n python36-%{name} + + +%files -n python2-%{name} + + +%changelog +* Wed Mar 27 2019 Stephen Gallagher - 1.8.5-1 +- Update to libmodulemd 1.8.5 with proper python 2 support + +* Wed Mar 27 2019 Stephen Gallagher - 1.8.4-1 +- Release libmodulemd1 1.8.4 for COPR on EPEL 7 + diff --git a/libmodulemd1.spec b/libmodulemd1.spec deleted file mode 100644 index 74eb594..0000000 --- a/libmodulemd1.spec +++ /dev/null @@ -1,134 +0,0 @@ -%global libmodulemd_version 2.2.2 -%global libmodulemd_v1_version 1.8.5 - -Name: libmodulemd1 -Version: %{libmodulemd_v1_version} -Release: 1%{?dist} -Summary: Module metadata manipulation library - -License: MIT -URL: https://github.com/fedora-modularity/libmodulemd -Source0: %{url}/releases/download/libmodulemd-%{libmodulemd_version}/modulemd-%{libmodulemd_version}.tar.xz - -BuildRequires: meson >= 0.47 -BuildRequires: pkgconfig -BuildRequires: gcc -BuildRequires: gcc-c++ -BuildRequires: pkgconfig(gobject-2.0) -BuildRequires: pkgconfig(gobject-introspection-1.0) -BuildRequires: pkgconfig(yaml-0.1) -BuildRequires: pkgconfig(gtk-doc) -BuildRequires: python36-devel -BuildRequires: python36-gobject-base -%ifarch %{valgrind_arches} -BuildRequires: valgrind -%endif - -Obsoletes: libmodulemd < 2 -Provides: libmodulemd = %{version}-%{release} -Provides: libmodulemd%{?_isa} = %{version}-%{release} - -# Patches - -%description -C Library for manipulating module metadata files. -See https://github.com/fedora-modularity/libmodulemd/blob/master/README.md for -more details. - - -%package -n python2-%{name} -Summary: Python 2 bindings for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: python-gobject-base -Obsoletes: python2-modulemd < 1.3.4 - -%description -n python2-%{name} -Python 2 bindings for %{name} - - -%package -n python36-%{name} -Summary: Python 3.6 bindings for %{name} -BuildArch: noarch -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: python36-gobject-base -Obsoletes: python3-modulemd < 1.3.4 - -%description -n python36-%{name} -Python 3.6 bindings for %{name} - - -%package devel -Summary: Development files for libmodulemd -Requires: %{name}%{?_isa} = %{version}-%{release} -Conflicts: libmodulemd-devel - -%description devel -Development files for libmodulemd. - - -%prep -%autosetup -p1 -n modulemd-%{libmodulemd_version} - - -%build -%meson -Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=false -Dwith_py2_overrides=false -Dwith_py3_overrides=false -%meson_build - - -%check - -export LC_CTYPE=C.utf8 - -%ifarch %{power64} s390x -# Valgrind is broken on ppc64[le] with GCC7: -# https://bugs.kde.org/show_bug.cgi?id=386945 -export MMD_SKIP_VALGRIND=1 -%endif -%ifnarch %{valgrind_arches} -export MMD_SKIP_VALGRIND=1 -%endif - -# Don't run tests on armv7 for now. There are problems with -# performance on the builders and often these time out. -%ifnarch %{arm} -%meson_test -%endif - - -%install -%meson_install - - -%files -%license COPYING -%doc README.md -%{_bindir}/modulemd-validator-v1 -%{_libdir}/libmodulemd.so.1* -%dir %{_libdir}/girepository-1.0 -%{_libdir}/girepository-1.0/Modulemd-1.0.typelib - - -%files devel -%{_libdir}/libmodulemd.so -%{_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/ - - -%files -n python36-%{name} - - -%files -n python2-%{name} - - -%changelog -* Wed Mar 27 2019 Stephen Gallagher - 1.8.5-1 -- Update to libmodulemd 1.8.5 with proper python 2 support - -* Wed Mar 27 2019 Stephen Gallagher - 1.8.4-1 -- Release libmodulemd1 1.8.4 for COPR on EPEL 7 - diff --git a/libmodulemd1.spec b/libmodulemd1.spec new file mode 120000 index 0000000..7f4a763 --- /dev/null +++ b/libmodulemd1.spec @@ -0,0 +1 @@ +libmodulemd.spec \ No newline at end of file From 15057762e3a401dfbfc09061705f68b170a86ba7 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Mon, 13 May 2019 10:31:14 -0400 Subject: [PATCH 5/5] Add script to build for Fedora Infrastructure Signed-off-by: Stephen Gallagher --- build-infra.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 build-infra.sh diff --git a/build-infra.sh b/build-infra.sh new file mode 100755 index 0000000..b978ffe --- /dev/null +++ b/build-infra.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +set -e + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +NAME=libmodulemd1 +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/$NAME-$VERSION-$RELEASE.src.rpm ]; then + koji build epel7-infra $SCRIPT_DIR/$NAME-$VERSION-$RELEASE.src.rpm +else + echo "Missing $SCRIPT_DIR/$NAME-$VERSION-$RELEASE.src.rpm" +fi +