--- /dev/null
+(partial, not finished: rpmdbIndex* and headerImport APIs are used)
+--- libsolv-0.6.34/ext/repo_rpmdb_librpm.h.orig 2018-03-23 12:04:14.000000000 +0100
++++ libsolv-0.6.34/ext/repo_rpmdb_librpm.h 2018-05-10 20:28:01.213443653 +0200
+@@ -15,6 +15,12 @@
+ #include <rpm/rpmts.h>
+ #include <rpm/rpmmacro.h>
+
++#ifdef RPM5
++#define _RPMVSF_NOSIGNATURES (RPMVSF_NODSAHEADER | RPMVSF_NORSAHEADER | RPMVSF_NODSA | RPMVSF_NORSA)
++#define _RPMVSF_NODIGESTS (RPMVSF_NOSHA1HEADER | RPMVSF_NOMD5HEADER | RPMVSF_NOSHA1 | RPMVSF_NOMD5)
++#define _RPMVSF_NOHEADER (RPMVSF_NOSHA1HEADER | RPMVSF_NOMD5HEADER | RPMVSF_NODSAHEADER | RPMVSF_NORSAHEADER)
++#endif
++
+ struct rpmdbstate {
+ Pool *pool;
+ char *rootdir;
+--- libsolv-0.6.34/ext/repo_rpmdb.c.orig 2018-03-23 12:04:14.000000000 +0100
++++ libsolv-0.6.34/ext/repo_rpmdb.c 2018-05-10 19:30:12.563483259 +0200
+@@ -30,6 +30,8 @@
+ #include <rpm/rpmpgp.h>
+ #ifndef RPM5
+ #include <rpm/header.h>
++#else
++#include <rpm/rpm46compat.h>
+ #endif
+ #include <rpm/rpmdb.h>
+
+@@ -457,7 +459,11 @@
+ static int
+ headissourceheuristic(RpmHead *h)
+ {
++#ifdef RPM5
++ return !headerIsEntry(h, RPMTAG_SOURCERPM);
++#else
+ return headerIsSource(h);
++#endif
+ }
+
+ static inline void
Summary: Package dependency solver
Summary(pl.UTF-8): Biblioteka do rozwiązywania zależności pakietów
Name: libsolv
-Version: 0.6.30
+Version: 0.6.34
Release: 1
License: BSD
Group: Libraries
#Source0Download: https://github.com/openSUSE/libsolv/releases
Source0: https://github.com/openSUSE/libsolv/archive/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 76fad6d855817f6fbe70fdec384885ae
+# Source0-md5: b61f8268a60086ae6fbf7a3454d669cb
Patch0: ruby.patch
Patch1: %{name}-python.patch
+Patch2: %{name}-rpm5.patch
URL: https://github.com/openSUSE/libsolv
BuildRequires: bzip2-devel
BuildRequires: cmake >= 2.4
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
# use system one
%{__rm} cmake/modules/FindRuby.cmake
%build
+# TODO: -DENABLE_RPMDB_LIBRPM=ON -DENABLE_RPMPKG_LIBRPM=ON (rpm5 not supported)
+
+%define common_opts \\\
+ -DENABLE_APPDATA=ON \\\
+ -DENABLE_BZIP2_COMPRESSION=ON \\\
+ -DENABLE_HELIXREPO=ON \\\
+ -DENABLE_LZMA_COMPRESSION=ON \\\
+ -DENABLE_PUBKEY=ON \\\
+ -DENABLE_RPMDB=ON \\\
+ -DENABLE_RPMDB_BYRPMHEADER=ON \\\
+ -DENABLE_RPMMD=ON \\\
+ %{?with_static_libs:-DENABLE_STATIC=ON} \\\
+ -DRPM5=ON \\\
+ %{nil}
+
install -d build %{?with_python3:build-py3}
cd build
%cmake .. \
- -DENABLE_APPDATA=ON \
- -DENABLE_BZIP2_COMPRESSION=ON \
- -DENABLE_HELIXREPO=ON \
- -DENABLE_LZMA_COMPRESSION=ON \
+ %{common_opts} \
-DENABLE_PERL=ON \
- -DENABLE_PUBKEY=ON \
-DENABLE_PYTHON=ON \
- -DENABLE_RPMDB=ON \
- -DENABLE_RPMDB_BYRPMHEADER=ON \
- -DENABLE_RPMMD=ON \
%{?with_ruby:-DENABLE_RUBY=ON} \
- %{?with_static_libs:-DENABLE_STATIC=ON} \
%{?with_tcl:-DENABLE_TCL=ON} \
-DPythonLibs_FIND_VERSION=2 \
-DPythonLibs_FIND_VERSION_MAJOR=2 \
- -DRPM5=ON \
-DUSE_VENDORDIRS=ON
%{__make}
%if %{with python3}
cd ../build-py3
%cmake .. \
- -DENABLE_APPDATA=ON \
- -DENABLE_BZIP2_COMPRESSION=ON \
- -DENABLE_LZMA_COMPRESSION=ON \
- -DENABLE_PUBKEY=ON \
+ %{common_opts} \
-DENABLE_PYTHON=ON \
- -DENABLE_RPMDB=ON \
- -DENABLE_RPMMD=ON \
- -DENABLE_RPMDB_BYRPMHEADER=ON \
-DPythonLibs_FIND_VERSION=3 \
- -DPythonLibs_FIND_VERSION_MAJOR=3 \
- -DRPM5=ON
+ -DPythonLibs_FIND_VERSION_MAJOR=3
%{__make}
%endif