Create python2 and python3 subpackages (RHBZ#1453189).
Also fix directory ownership of the python2 package directory, based on guidance from https://fedoraproject.org/wiki/Packaging:Python . Also fix the ‘rpmbuild --without ocaml’ case.
This commit is contained in:
parent
7e0f882b2b
commit
0f3960b876
91
hivex.spec
91
hivex.spec
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
Name: hivex
|
Name: hivex
|
||||||
Version: 1.3.14
|
Version: 1.3.14
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: Read and write Windows Registry binary hive files
|
Summary: Read and write Windows Registry binary hive files
|
||||||
|
|
||||||
License: LGPLv2
|
License: LGPLv2
|
||||||
@ -50,7 +50,8 @@ BuildRequires: perl(Test::Pod::Coverage) >= 1.00
|
|||||||
BuildRequires: ocaml
|
BuildRequires: ocaml
|
||||||
BuildRequires: ocaml-findlib-devel
|
BuildRequires: ocaml-findlib-devel
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: python-devel
|
BuildRequires: python2-devel
|
||||||
|
BuildRequires: python3-devel
|
||||||
BuildRequires: ruby-devel
|
BuildRequires: ruby-devel
|
||||||
BuildRequires: rubygem-rake
|
BuildRequires: rubygem-rake
|
||||||
# see also RHBZ#1325022
|
# see also RHBZ#1325022
|
||||||
@ -93,7 +94,9 @@ For OCaml bindings, see 'ocaml-hivex-devel'.
|
|||||||
|
|
||||||
For Perl bindings, see 'perl-hivex'.
|
For Perl bindings, see 'perl-hivex'.
|
||||||
|
|
||||||
For Python bindings, see 'python-hivex'.
|
For Python 2 bindings, see 'python2-hivex'.
|
||||||
|
|
||||||
|
For Python 3 bindings, see 'python3-hivex'.
|
||||||
|
|
||||||
For Ruby bindings, see 'ruby-hivex'.
|
For Ruby bindings, see 'ruby-hivex'.
|
||||||
|
|
||||||
@ -153,15 +156,24 @@ Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $versio
|
|||||||
perl-%{name} contains Perl bindings for %{name}.
|
perl-%{name} contains Perl bindings for %{name}.
|
||||||
|
|
||||||
|
|
||||||
%package -n python-%{name}
|
%package -n python2-%{name}
|
||||||
Summary: Python bindings for %{name}
|
Summary: Python 2 bindings for %{name}
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
|
||||||
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
|
# Can be removed in Fedora 29.
|
||||||
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
|
Obsoletes: python-%{name} < %{version}-%{release}
|
||||||
|
Provides: python-%{name} = %{version}-%{release}
|
||||||
|
|
||||||
%description -n python-%{name}
|
%description -n python2-%{name}
|
||||||
python-%{name} contains Python bindings for %{name}.
|
python2-%{name} contains Python 2 bindings for %{name}.
|
||||||
|
|
||||||
|
|
||||||
|
%package -n python3-%{name}
|
||||||
|
Summary: Python 3 bindings for %{name}
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n python3-%{name}
|
||||||
|
python3-%{name} contains Python 3 bindings for %{name}.
|
||||||
|
|
||||||
|
|
||||||
%package -n ruby-%{name}
|
%package -n ruby-%{name}
|
||||||
@ -182,25 +194,35 @@ gpgv2 --homedir "$tmphome" --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0}
|
|||||||
%endif
|
%endif
|
||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
|
# Build Python 3 bindings in a separate subdirectory. We have to
|
||||||
|
# build everything twice unfortunately.
|
||||||
|
copy="$(mktemp -d)"
|
||||||
|
cp -a . "$copy"
|
||||||
|
mv "$copy" python3
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
%configure \
|
||||||
|
%if !%{with ocaml}
|
||||||
|
--disable-ocaml \
|
||||||
|
%endif
|
||||||
|
%{nil}
|
||||||
make V=1 INSTALLDIRS=vendor %{?_smp_mflags}
|
make V=1 INSTALLDIRS=vendor %{?_smp_mflags}
|
||||||
|
|
||||||
|
pushd python3
|
||||||
%check
|
%configure \
|
||||||
make check
|
PYTHON=/usr/bin/python3 \
|
||||||
|
--disable-ocaml --disable-perl --disable-ruby
|
||||||
%if !%{with ocaml}
|
make V=1 INSTALLDIRS=vendor %{?_smp_mflags}
|
||||||
# Delete OCaml files, in case the user had OCaml installed and it was
|
popd
|
||||||
# picked up by the configure script.
|
|
||||||
# XXX Add ./configure --disable-ocaml upstream.
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/hivex
|
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs/*hivex*
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
# Install Python3 first so the "real" install below overwrites
|
||||||
|
# everything else.
|
||||||
|
pushd python3
|
||||||
|
make install DESTDIR=$RPM_BUILD_ROOT INSTALLDIRS=vendor
|
||||||
|
popd
|
||||||
make install DESTDIR=$RPM_BUILD_ROOT INSTALLDIRS=vendor
|
make install DESTDIR=$RPM_BUILD_ROOT INSTALLDIRS=vendor
|
||||||
|
|
||||||
# Remove unwanted libtool *.la file:
|
# Remove unwanted libtool *.la file:
|
||||||
@ -212,11 +234,20 @@ find $RPM_BUILD_ROOT -name .packlist -delete
|
|||||||
find $RPM_BUILD_ROOT -name '*.bs' -delete
|
find $RPM_BUILD_ROOT -name '*.bs' -delete
|
||||||
|
|
||||||
# Remove unwanted Python files:
|
# Remove unwanted Python files:
|
||||||
rm $RPM_BUILD_ROOT%{python_sitearch}/libhivexmod.la
|
rm $RPM_BUILD_ROOT%{python2_sitearch}/libhivexmod.la
|
||||||
|
rm $RPM_BUILD_ROOT%{python3_sitearch}/libhivexmod.la
|
||||||
|
|
||||||
%find_lang %{name}
|
%find_lang %{name}
|
||||||
|
|
||||||
|
|
||||||
|
%check
|
||||||
|
make check
|
||||||
|
|
||||||
|
pushd python3
|
||||||
|
make check
|
||||||
|
popd
|
||||||
|
|
||||||
|
|
||||||
%post -p /sbin/ldconfig
|
%post -p /sbin/ldconfig
|
||||||
|
|
||||||
%postun -p /sbin/ldconfig
|
%postun -p /sbin/ldconfig
|
||||||
@ -274,11 +305,14 @@ rm $RPM_BUILD_ROOT%{python_sitearch}/libhivexmod.la
|
|||||||
%{_mandir}/man1/hivexregedit.1*
|
%{_mandir}/man1/hivexregedit.1*
|
||||||
|
|
||||||
|
|
||||||
%files -n python-%{name}
|
%files -n python2-%{name}
|
||||||
%{python_sitearch}/hivex/*.py
|
%{python2_sitearch}/hivex/
|
||||||
%{python_sitearch}/hivex/*.pyc
|
%{python2_sitearch}/*.so
|
||||||
%{python_sitearch}/hivex/*.pyo
|
|
||||||
%{python_sitearch}/*.so
|
|
||||||
|
%files -n python3-%{name}
|
||||||
|
%{python3_sitearch}/hivex/
|
||||||
|
%{python3_sitearch}/*.so
|
||||||
|
|
||||||
|
|
||||||
%files -n ruby-%{name}
|
%files -n ruby-%{name}
|
||||||
@ -288,6 +322,9 @@ rm $RPM_BUILD_ROOT%{python_sitearch}/libhivexmod.la
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon May 22 2017 Richard W.M. Jones <rjones@redhat.com> - 1.3.14-3
|
||||||
|
- Create python2 and python3 subpackages (RHBZ#1453189).
|
||||||
|
|
||||||
* Fri May 12 2017 Richard W.M. Jones <rjones@redhat.com> - 1.3.14-2
|
* Fri May 12 2017 Richard W.M. Jones <rjones@redhat.com> - 1.3.14-2
|
||||||
- OCaml 4.04.1 rebuild.
|
- OCaml 4.04.1 rebuild.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user