diff --git a/eliminate-rpmostree-differences.patch b/eliminate-rpmostree-differences.patch new file mode 100644 index 0000000..abd5ffc --- /dev/null +++ b/eliminate-rpmostree-differences.patch @@ -0,0 +1,21 @@ +diff -Nur rpm-ostree-2018.8_old/Makefile.am rpm-ostree-2018.8/Makefile.am +--- rpm-ostree-2018.8_old/Makefile.am 2019-04-28 15:40:35.032000000 +0800 ++++ rpm-ostree-2018.8/Makefile.am 2019-04-28 15:41:34.856000000 +0800 +@@ -30,7 +30,7 @@ + SUBDIRS += api-doc + endif + +-RPM_OSTREE_GITREV=$(shell if command -v git >/dev/null 2>&1 && test -e $(srcdir)/.git; then git describe --abbrev=42 --tags --always HEAD; fi) ++RPM_OSTREE_GITREV=$(shell if command -v git >/dev/null 2>&1 && test -e $(srcdir)/.git; then echo 67cf76d85e7783b1f0007638bdad823998340338; fi) + + ACLOCAL_AMFLAGS += -I m4 ${ACLOCAL_FLAGS} + # WITH_SWDB is a hackaround for it being used in libdnf headers +diff -Nur rpm-ostree-2018.8_old/rust/Cargo.toml rpm-ostree-2018.8/rust/Cargo.toml +--- rpm-ostree-2018.8_old/rust/Cargo.toml 2019-04-28 15:40:35.112000000 +0800 ++++ rpm-ostree-2018.8/rust/Cargo.toml 2019-04-28 15:41:02.988000000 +0800 +@@ -27,4 +27,4 @@ + + [profile.release] + panic = "abort" +-lto = true ++lto = false diff --git a/rpm-ostree-2018.8.tar.xz b/rpm-ostree-2018.8.tar.xz new file mode 100644 index 0000000..e274eb5 Binary files /dev/null and b/rpm-ostree-2018.8.tar.xz differ diff --git a/rpm-ostree.spec b/rpm-ostree.spec new file mode 100644 index 0000000..2279bb2 --- /dev/null +++ b/rpm-ostree.spec @@ -0,0 +1,104 @@ +%bcond_without rust +%global __requires_exclude ^libdnf[.]so[.].*$ +%global __provides_exclude_from ^%{_libdir}/%{name}/.*$ + +Name: rpm-ostree +Version: 2018.8 +Release: 2 +Summary: Hybrid image/package system +License: LGPLv2+ +URL: https://github.com/projectatomic/rpm-ostree +Source0: https://github.com/coreos/rpm-ostree/archive/v%{version}.tar.xz#/%{name}-%{version}.tar.xz + +Patch0: eliminate-rpmostree-differences.patch + +%if %{with rust} + +%if !%{defined rust_arches} +%define rust_arches x86_64 i686 armv7hl aarch64 ppc64 ppc64le s390x +%endif + +ExclusiveArch: %{rust_arches} + +%if %{defined rusttoolset_version} +BuildRequires: %{rusttoolset_version}-cargo +%else +BuildRequires: cargo +%endif + +%endif + +BuildRequires: /usr/bin/python3 autoconf automake libtool git chrpath libattr-devel +BuildRequires: gtk-doc gperf gnome-common /usr/bin/g-ir-scanner ostree-devel cmake +BuildRequires: polkit-devel json-glib-devel rpm-devel libarchive-devel systemd-devel +BuildRequires: libcap-devel libcurl-devel librepo-devel expat-devel check-devel +BuildRequires: pkgconfig(libsolv) + +Requires: ostree bubblewrap fuse + +Provides: rpm-ostree-libs = %{version}-%{release} +Obsoletes: rpm-ostree-libs < %{version}-%{release} + +%description +rpm-ostree is a hybrid image/package system. It supports +"composing" packages on a build server into an OSTree repository, +which can then be replicated by client systems with atomic upgrades. +Additionally, unlike many "pure" image systems, with rpm-ostree +each client system can layer on additional packages, providing +a "best of both worlds" approach. + +%package devel +Summary: Header files for rpm-ostree +Requires: %{name} = %{version}-%{release} + +%description devel +Header files for rpm-ostree. + +%package_help + +%prep +%autosetup -n %{name}-%{version} -p1 + +%build +%{?rusttoolset} env NOCONFIGURE=1 ./autogen.sh +%define _configure %{?rusttoolset} ./configure +%configure --disable-silent-rules --enable-gtk-doc \ + %{?with_rust:--enable-rust} + +%{?rusttoolset} %make_build + +%install +%{?rusttoolset} %make_install +%delete_la + +%files +%defattr(-,root,root) +%doc README.md +%license COPYING +%{_bindir}/* +%{_sysconfdir}/dbus-1/system.d/* +%{_sysconfdir}/rpm-ostreed.conf +%{_libdir}/*.so.* +%{_libdir}/rpm-ostree/* +%{_libdir}/girepository-1.0/* +%{_libexecdir}/rpm-ostree* +%{_prefix}/lib/systemd/system/* +%{_datadir}/dbus-1/system-services +%{_datadir}/polkit-1/actions/*.policy + +%files devel +%defattr(-,root,root) +%{_libdir}/*.so +%{_includedir}/* +%{_libdir}/pkgconfig/* +%{_datadir}/gtk-doc/html/* +%{_datadir}/gir-1.0/*-1.0.gir +%{_datadir}/dbus-1/interfaces/org.projectatomic.rpmostree1.xml + +%files help +%defattr(-,root,root) +%{_mandir}/man*/* + +%changelog +* Sat Oct 19 2019 openEuler Buildteam - 2018.8-2 +- Package init