]> sourceware.org Git - lvm2.git/commitdiff
spec: Add python bindings
authorMarian Csontos <mcsontos@redhat.com>
Mon, 2 Nov 2015 10:33:13 +0000 (11:33 +0100)
committerMarian Csontos <mcsontos@redhat.com>
Mon, 2 Nov 2015 11:42:32 +0000 (12:42 +0100)
spec/build.inc
spec/packages.inc
spec/source.inc

index 7bab4370f7b88de1705f7b65cbe42ccab2ad2922..bc574361bc82e154be2a5c6fe4d0d879fb8b17bd 100644 (file)
@@ -1,3 +1,22 @@
+%with default-dm-run-dir %{_default_dm_run_dir}
+%with default-run-dir %{_default_run_dir}
+%with default-pid-dir %{_default_pid_dir}
+%with default-locking-dir %{_default_locking_dir}
+%with usrlibdir %{_libdir}
+%enableif 1 lvm1_fallback
+%enableif 1 fsadm
+%with pool internal
+%with user
+%with group
+%with device-uid 0
+%with device-gid 6
+%with device-mode 0660
+%enableif 1 pkgconfig
+%enableif 1 applib
+%enableif 1 cmdlib
+%enableif 1 dmeventd
+%enableif 1 write_install
+
 %with udevdir %{_udevdir}
 %enableif %{enable_cmirror} cmirrord
 %enableif %{enable_udev} udev_sync
 %enableif %{enable_lockd_dlm} lockd-dlm
 %enableif %{enable_lockd_sanlock} lockd-sanlock
 %endif
+%enableif %{enable_python} python-bindings
+%enableif %{enable_python} applib
 
 %build
-%configure \
-  --with-default-dm-run-dir=%{_default_dm_run_dir} \
-  --with-default-run-dir=%{_default_run_dir} \
-  --with-default-pid-dir=%{_default_pid_dir} \
-  --with-default-locking-dir=%{_default_locking_dir} \
-  --with-usrlibdir=%{_libdir} \
-  --enable-lvm1_fallback \
-  --enable-fsadm \
-  --with-pool=internal \
-  --with-user= \
-  --with-group= \
-  --with-device-uid=0 \
-  --with-device-gid=6 \
-  --with-device-mode=0660 \
-  --enable-pkgconfig \
-  --enable-applib \
-  --enable-cmdlib \
-  --enable-dmeventd \
-  --enable-write_install \
-  %{configure_flags}
+
+%if %{enable_python3}
+rm -rf %{py3dir}
+cp -a . %{py3dir}
+pushd %{py3dir}
+%configure %{configure_flags} PYTHON=/usr/bin/python3 PYTHON_CONFIG=/usr/bin/python3-config
+
+make %{?_smp_mflags}
+popd
+%endif
+
+%configure %{configure_flags}
 
 make %{?_smp_mflags}
 %{?extra_build_commands}
@@ -50,6 +63,11 @@ make install_initscripts DESTDIR=$RPM_BUILD_ROOT
 %if %{enable_testsuite}
 make -C test install DESTDIR=$RPM_BUILD_ROOT
 %endif
+%if %{enable_python3}
+pushd %{py3dir}
+make -C python install DESTDIR=$RPM_BUILD_ROOT
+popd
+%endif
 
 # when building an src.rpm from freestanding specfiles
 test -e %{_sourcedir}/source.inc || cp source.inc build.inc packages.inc macros.inc %{_sourcedir}
index e0a601023243ec0692c84fe7c03ed157d1a82174..6c3dfde41fdf2e80c8a0cc4c6618adeeb4076465 100644 (file)
@@ -410,6 +410,60 @@ fi
 
 %endif
 
+##############################################################################
+# Python bindings
+##############################################################################
+%if %{enable_python}
+%package python-libs
+Summary: Python module to access LVM
+License: LGPLv2
+Group: Development/Libraries
+Provides: python-lvm = %{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
+
+%description python-libs
+Python module to allow the creation and use of LVM
+logical volumes, physical volumes, and volume groups.
+
+%files python-libs
+%{python_sitearch}/*
+%endif
+
+%if %{enable_python3}
+%package python3-libs
+Summary: Python 3 module to access LVM
+License: LGPLv2
+Group: Development/Libraries
+Provides: python3-lvm = %{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
+
+%description python3-libs
+Python 3 module to allow the creation and use of LVM
+logical volumes, physical volumes, and volume groups.
+
+%files python3-libs
+%{python3_sitearch}/*
+%endif
+
+##############################################################################
+# Testsuite subpackage
+##############################################################################
+%if %{enable_testsuite}
+%package testsuite
+Summary: LVM2 Testsuite
+License: LGPLv2
+Group: Development
+
+%description testsuite
+An extensive functional testsuite for LVM2.
+
+%files testsuite
+%defattr(-,root,root,-)
+%{_datadir}/lvm2-testsuite/
+%{_libexecdir}/lvm2-testsuite/
+%{_bindir}/lvm2-testsuite
+%endif
+
 ##############################################################################
 # Device-mapper subpackages
 ##############################################################################
@@ -571,18 +625,3 @@ the device-mapper event library.
 %{_includedir}/libdevmapper-event.h
 %{_libdir}/pkgconfig/devmapper-event.pc
 
-%if %{enable_testsuite}
-%package testsuite
-Summary: LVM2 Testsuite
-License: LGPLv2
-Group: Development
-
-%description testsuite
-An extensive functional testsuite for LVM2.
-
-%files testsuite
-%defattr(-,root,root,-)
-%{_datadir}/lvm2-testsuite/
-%{_libexecdir}/lvm2-testsuite/
-%{_bindir}/lvm2-testsuite
-%endif
index 268137545fcc51bd8b704136e416d2fcc68a46ee..07859ba83d12a027a5c516c5ab00fa2451159ad3 100644 (file)
@@ -5,6 +5,9 @@
 
 %global enable_profiling 0
 %global enable_testsuite 1
+%global enable_python 1
+# Off by default - <= does not work well with or:
+%global enable_python3 0
 %global enable_udev 1
 %global enable_systemd 1
 %global enable_cmirror 1
 
 ##############################################################
 
+%if %{rhel} == 5
+%global enable_python 0
+%endif
+
+%if %{rhel} >= 8 || %{fedora} >= 20
+%global enable_python3 1
+%endif
+
+%if %{enable_python}
+  %global buildreq_python2_devel python2-devel
+  %global buildreq_python_setuptools python-setuptools
+%endif
+%if %{enable_python3}
+  %global buildreq_python3_devel python3-devel
+  %global buildreq_python_setuptools python-setuptools
+%endif
+
+##############################################################
+
 %if %{fedora} == 16 || %{rhel} == 6
 %global enable_systemd 0
 
@@ -143,6 +165,9 @@ BuildRequires: pkgconfig
 %maybe BuildRequires: %{?buildreq_cluster}
 %maybe BuildRequires: %{?buildreq_lockd_dlm}
 %maybe BuildRequires: %{?buildreq_lockd_sanlock}
+%maybe BuildRequires: %{?buildreq_python2_devel}
+%maybe BuildRequires: %{?buildreq_python3_devel}
+%maybe BuildRequires: %{?buildreq_python_setuptools}
 
 %description
 LVM2 includes all of the support for handling read/write operations on
This page took 0.039324 seconds and 5 git commands to generate.