From a407d142bcfce9b792836aac135ef1ff2a2127d5 Mon Sep 17 00:00:00 2001 From: Jiri Kucera Date: Mon, 8 Oct 2018 16:03:55 +0200 Subject: [PATCH] Update to volume_key-0.3.12 Resolves: #1634850 --- .gitignore | 1 + sources | 2 +- volume_key.spec | 177 ++++++++++++++++++++++++++++++++---------------- 3 files changed, 119 insertions(+), 61 deletions(-) diff --git a/.gitignore b/.gitignore index bd19b1e..92de226 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /volume_key-0.3.8.tar.xz /volume_key-0.3.9.tar.xz /volume_key-0.3.10.tar.xz +/volume_key-0.3.12.tar.xz diff --git a/sources b/sources index 5151e81..5250147 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (volume_key-0.3.10.tar.xz) = b050d333e021bc3721f5e72c1d2498adea3265afe7f702e1b1e859546755745ac70dcffc194739a4833d4b0b77168506f7fe90fde382d8aab4df2af7b635932b +SHA512 (volume_key-0.3.12.tar.xz) = d056154c9b9d23e4eb661946dd59ed97e116903a3afcff9d9e29258408082f33dcbb69958724143f6bf191a3da488a03b6c02af287790990ed6459e29d66553c diff --git a/volume_key.spec b/volume_key.spec index d26bf5e..5d05251 100644 --- a/volume_key.spec +++ b/volume_key.spec @@ -1,45 +1,89 @@ -%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +# Define `python3_sitearch' if there is no one: +%{!?python3_sitearch:%global python3_sitearch %(%{__python3} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} + +# Enable Python 3 in Fedora and RHEL > 7 as default: +%if 0%{?fedora} || 0%{?rhel} > 7 +# Add `--without python3' option (enable python3 by default): +%bcond_without python3 +%else +# Add `--with python3' option (disable python3 by default): +%bcond_with python3 +%endif + +# Drop Python 2 in Fedora >= 30 and RHEL > 7 as default: +%if 0%{?fedora} >= 30 || 0%{?rhel} > 7 +%global drop_python2 1 +%global configure_with_python2 no +%else +# Define `python2_sitearch' if there is no one: +%{!?python2_sitearch:%global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%global configure_with_python2 yes +%endif + +%if %{with python3} +%global configure_with_python3 yes +%else +%global configure_with_python3 no +%endif + +# Additional configure options: +%global with_pythons --with-python=%{configure_with_python2} --with-python3=%{?configure_with_python3} Summary: An utility for manipulating storage encryption keys and passphrases Name: volume_key -Version: 0.3.10 -Release: 2%{?dist} -License: GPLv2 +Version: 0.3.12 +Release: 1%{?dist} +# lib/{SECerrs,SSLerrs}.h are both licensed under MPLv1.1 and GPLv2 +License: GPLv2 and (MPLv1.1 or GPLv2) Group: Applications/System -URL: https://pagure.io/volume_key/ -Requires: volume_key-libs%{?_isa} = %{version}-%{release} +URL: https://pagure.io/%{name}/ +Requires: %{name}-libs%{?_isa} = %{version}-%{release} -Source0: https://releases.pagure.org/volume_key/volume_key-%{version}.tar.xz +Source0: https://releases.pagure.org/%{name}/%{name}-%{version}.tar.xz BuildRequires: gcc BuildRequires: cryptsetup-luks-devel, gettext-devel, glib2-devel, /usr/bin/gpg2 -BuildRequires: gpgme-devel, libblkid-devel, nss-devel, python2-devel +BuildRequires: gpgme-devel, libblkid-devel, nss-devel, python3-devel +%if 0%{?drop_python2} < 1 +BuildRequires: python2-devel +%endif # Needed by %%check: BuildRequires: nss-tools -%description -This package provides a command-line tool for manipulating storage volume -encryption keys and storing them separately from volumes. - -The main goal of the software is to allow restoring access to an encrypted -hard drive if the primary user forgets the passphrase. The encryption key -back up can also be useful for extracting data after a hardware or software -failure that corrupts the header of the encrypted volume, or to access the +%global desc_common The main goal of the software is to allow restoring access to an encrypted\ +hard drive if the primary user forgets the passphrase. The encryption key\ +back up can also be useful for extracting data after a hardware or software\ +failure that corrupts the header of the encrypted volume, or to access the\ company data after an employee leaves abruptly. +%global desc_app This package provides a command-line tool for manipulating storage volume\ +encryption keys and storing them separately from volumes.\ +\ +%{desc_common} + +%global desc_lib This package provides lib%{name}, a library for manipulating storage volume\ +encryption keys and storing them separately from volumes.\ +\ +%{desc_common} + +%global desc_python(V:) This package provides %%{-V:Python %%{-V*}}%%{!-V:Python} bindings for lib%{name}, a library for\ +manipulating storage volume encryption keys and storing them separately from\ +volumes.\ +\ +%{desc_common}\ +\ +%{name} currently supports only the LUKS volume encryption format. Support\ +for other formats is possible, some formats are planned for future releases. + +%description +%{desc_app} + %package devel Summary: A library for manipulating storage encryption keys and passphrases Group: Development/Libraries -Requires: volume_key-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel -This package provides libvolume_key, a library for manipulating storage volume -encryption keys and storing them separately from volumes. - -The main goal of the software is to allow restoring access to an encrypted -hard drive if the primary user forgets the passphrase. The encryption key -back up can also be useful for extracting data after a hardware or software -failure that corrupts the header of the encrypted volume, or to access the -company data after an employee leaves abruptly. +%{desc_lib} %package libs Summary: A library for manipulating storage encryption keys and passphrases @@ -47,40 +91,35 @@ Group: System Environment/Libraries Requires: /usr/bin/gpg2 %description libs -This package provides libvolume_key, a library for manipulating storage volume -encryption keys and storing them separately from volumes. +%{desc_lib} -The main goal of the software is to allow restoring access to an encrypted -hard drive if the primary user forgets the passphrase. The encryption key -back up can also be useful for extracting data after a hardware or software -failure that corrupts the header of the encrypted volume, or to access the -company data after an employee leaves abruptly. - -%package -n python2-volume_key -%{?python_provide:%python_provide python2-volume_key} -Summary: Python bindings for libvolume_key +%if 0%{?drop_python2} < 1 +%package -n python2-%{name} +%{?python_provide:%python_provide python2-%{name}} +Summary: Python bindings for lib%{name} Group: System Environment/Libraries -Requires: volume_key-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} -%description -n python2-volume_key -This package provides Python bindings for libvolume_key, a library for -manipulating storage volume encryption keys and storing them separately from -volumes. +%description -n python2-%{name} +%desc_python +%endif -The main goal of the software is to allow restoring access to an encrypted -hard drive if the primary user forgets the passphrase. The encryption key -back up can also be useful for extracting data after a hardware or software -failure that corrupts the header of the encrypted volume, or to access the -company data after an employee leaves abruptly. +%if %{with python3} +%package -n python3-%{name} +%{?python_provide:%python_provide python3-%{name}} +Summary: Python 3 bindings for lib%{name} +Group: System Environment/Libraries +Requires: %{name}-libs%{?_isa} = %{version}-%{release} -volume_key currently supports only the LUKS volume encryption format. Support -for other formats is possible, some formats are planned for future releases. +%description -n python3-%{name} +%desc_python -V 3 +%endif %prep %setup -q %build -%configure +%configure %{?with_pythons} make %{?_smp_mflags} %install @@ -90,30 +129,48 @@ make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' find %{buildroot} -type f -name "*.la" -delete %check -make check +make check || { \ +echo "======================== ./test-suite.log ========================"; \ +cat ./test-suite.log; \ +echo "=================================================================="; \ +exit 1; \ +} -%find_lang volume_key +%find_lang %{name} %ldconfig_scriptlets libs %files %doc README contrib -%{_bindir}/volume_key -%{_mandir}/man8/volume_key.8* +%{_bindir}/%{name} +%{_mandir}/man8/%{name}.8* %files devel -%{_includedir}/volume_key -%{_libdir}/libvolume_key.so +%{_includedir}/%{name} +%{_libdir}/lib%{name}.so -%files libs -f volume_key.lang +%files libs -f %{name}.lang %doc AUTHORS COPYING ChangeLog NEWS -%{_libdir}/libvolume_key.so.* +%{_libdir}/lib%{name}.so.* -%files -n python2-volume_key -%{python2_sitearch}/_volume_key.so -%{python2_sitearch}/volume_key.py* +%if 0%{?drop_python2} < 1 +%files -n python2-%{name} +%{python2_sitearch}/_%{name}.so +%{python2_sitearch}/%{name}.py* +%endif + +%if %{with python3} +%files -n python3-%{name} +%{python3_sitearch}/_%{name}.so +%{python3_sitearch}/%{name}.py* +%{python3_sitearch}/__pycache__/%{name}.* +%endif %changelog +* Mon Oct 08 2018 Jiri Kucera - 0.3.12-1 +- Update to volume_key-0.3.12 + Resolves: #1634850 + * Sat Jul 14 2018 Fedora Release Engineering - 0.3.10-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild