]> TLD Linux GIT Repositories - packages/lvm2.git/blobdiff - lvm2.spec
- updated to 2.02.140
[packages/lvm2.git] / lvm2.spec
index 1eee5a437498f448fa1d93adbcfc25510817ae1a..1c1283817a1d4aabf08ccd4ca878f0a5272d5698 100644 (file)
--- a/lvm2.spec
+++ b/lvm2.spec
@@ -3,16 +3,22 @@
 # - --with-replicators (=internal/shared/none, default is none)?
 #
 # Conditional build:
-%bcond_with    initrd          # don't build initrd version
+%bcond_with    initrd          # build initrd version
 %bcond_without uClibc          # link initrd version with uClibc
 %bcond_with    dietlibc        # link initrd version with dietlibc
 %bcond_with    glibc           # link initrd version with static GLIBC
 %bcond_without  cluster                # disable all cluster support (clvmd&cmirrord)
-%bcond_without lvmetad         # disable lvmetad
-%bcond_without selinux         # disable SELinux
-
-%ifarch sparc64 sparc
-%define                with_glibc 1
+%bcond_without lvmetad         # disable lvmetad (and lvmlockd)
+%bcond_without lvmpolld        # disable lvmpolld (and lvmlockd)
+%bcond_without lvmlockd        # disable lvmlockd
+%bcond_with    sanlock         # sanlock support in lvmlockd
+%bcond_with    replicator      # internal replicator support
+%bcond_without selinux         # SELinux support
+%bcond_without python          # Python binding
+
+# lvmlockd requires lvmetad and lvmpolld
+%if %{without lvmetad} || %{without lvmpolld}
+%undefine      with_lvmpolld
 %endif
 
 # if one of the *libc is enabled disable default dietlibc
 Summary:       The new version of Logical Volume Manager for Linux
 Summary(pl.UTF-8):     Nowa wersja Logical Volume Managera dla Linuksa
 Name:          lvm2
-Version:       2.02.107
-Release:       2
+Version:       2.02.140
+Release:       1
 License:       GPL v2 and LGPL v2.1
 Group:         Applications/System
 Source0:       ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz
-# Source0-md5: efa5b0ff0245cbccf53aec1f3d8840ba
-Source1:       %{name}-tmpfiles.conf
-Source2:       clvmd.service
-Source3:       clvmd.sysconfig
+# Source0-md5: f2191c4798c8927a6d31a96010b9f568
+Source1:       clvmd.sysconfig
 Patch0:                %{name}-selinux.patch
 Patch1:                %{name}-diet.patch
 Patch2:                device-mapper-dmsetup-export.patch
-Patch3:                %{name}-pld_init.patch
+Patch3:                %{name}-tld_init.patch
 Patch4:                dl-dlsym.patch
 Patch6:                %{name}-lvm_path.patch
-Patch7:                %{name}-sd_notify.patch
-Patch8:                %{name}-clvmd_cmd_timeout.patch
-Patch9:                device-mapper-dmsetup-deps-export.patch
-URL:           http://sources.redhat.com/lvm2/
+Patch7:                %{name}-clvmd_cmd_timeout.patch
+Patch8:                device-mapper-dmsetup-deps-export.patch
+Patch9:                %{name}-run-dir.patch
+URL:           http://www.sourceware.org/lvm2/
 BuildRequires: autoconf >= 2.61
 BuildRequires: automake
+# for /run detection
+BuildRequires: filesystem >= 3.0-43
+BuildRequires: libblkid-devel >= 2.24
 %{?with_selinux:BuildRequires: libselinux-devel >= 1.10}
 %{?with_selinux:BuildRequires: libsepol-devel}
 BuildRequires: ncurses-devel
 BuildRequires: pkgconfig
+%{?with_python:BuildRequires:  python-devel >= 2}
 BuildRequires: readline-devel
 BuildRequires: rpmbuild(macros) >= 1.647
-BuildRequires: udev-devel >= 1:143
+%{?with_sanlock:BuildRequires: sanlock-devel >= 3.2.4}
+BuildRequires: udev-devel >= 1:176
 %if %{with initrd}
 %if %{with dietlibc}
 BuildRequires: dietlibc-static >= 2:0.32-7
@@ -76,15 +85,13 @@ BuildConflicts:     device-mapper-dietlibc
 %if %{with cluster}
 BuildRequires: corosync-devel
 BuildRequires: dlm-devel >= 3.99.5
-BuildRequires: systemd-devel
 %endif
-Requires(post,preun,postun):   systemd-units >= 38
 Requires(post,postun): /sbin/chkconfig
 Requires:      device-mapper >= %{version}-%{release}
 %{?with_selinux:Requires:      libselinux >= 1.10}
-Requires:      systemd-units >= 38
 # doesn't work with 2.4 kernels
 Requires:      uname(release) >= 2.6
+Suggests:      thin-provisioning-tools >= 0.5.4
 Obsoletes:     lvm
 Obsoletes:     lvm2-systemd
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -148,6 +155,7 @@ węzeł w klastrze nie ma tego demona uruchomionego.
 
 %package cmirrord
 Summary:       Cluster mirror log daemon
+Summary(pl.UTF-8):     Demon śledzący log lustrzany w klastrze
 Group:         Applications/System
 Requires:      %{name} = %{version}-%{release}
 
@@ -161,6 +169,16 @@ This daemon relies on the cluster infrastructure provided by the
 Cluster MANager (CMAN), which must be set up and running in order for
 cmirrord to function.
 
+%description cmirrord
+cmirrord to demon śledzący informacje logu lustrzanego w klastrze.
+Jest specyficzny dla klastrów lustrzanych opartych na device-mapperze
+(oraz, poprzez rozszerzenie, klastrów lustrzanych LVM). W klastrach
+lustrzanych ten demon jest niezbędny.
+
+Ten demon polega na infrastrukturze klastra dostarczanej przez CMAN
+(Cluster MANager), który musi być skonfigurowany i działający, aby
+działał cmirrord.
+
 %package resource-agents
 Summary:       OCF Resource Agents for LVM2 processes
 Summary(pl.UTF-8):     Agenci OCF do monitorowania procesów LVM2
@@ -174,13 +192,24 @@ OCF Resource Agents for LVM2 processes.
 %description resource-agents -l pl.UTF-8
 Agenci OCF do monitorowania procesów LVM2.
 
+%package -n python-lvm
+Summary:       Python interface to LVM2
+Summary(pl.UTF-8):     Interfejs Pythona do LVM2
+Group:         Libraries/Python
+Requires:      device-mapper-libs = %{version}-%{release}
+
+%description -n python-lvm
+Python interface to LVM2.
+
+%description -n python-lvm -l pl.UTF-8
+Interfejs Pythona do LVM2.
+
 %package -n device-mapper
 Summary:       Userspace support for the device-mapper
 Summary(pl.UTF-8):     Wsparcie dla mapowania urządzeń w przestrzeni użytkownika
 Group:         Base
 Requires(post,postun): /sbin/ldconfig
-Requires(post,preun,postun):   systemd-units >= 38
-Requires:      systemd-units >= 38
+Requires:      device-mapper-libs = %{version}-%{release}
 
 %description -n device-mapper
 The goal of this driver is to support volume management. The driver
@@ -197,21 +226,37 @@ definiowania partycji na dysku lub logicznych wolumenów. Ten lekki
 składnik jądra może wspierać działające w przestrzeni użytkownika
 narzędzia do zarządzania logicznymi wolumenami.
 
+%package -n device-mapper-libs
+Summary:       Device-mapper shared libraries
+Summary(pl.UTF-8):     Biblioteki współdzielone device-mappera
+Group:         Libraries
+Conflicts:     device-mapper < 2.02.119-1
+Requires:      libblkid >= 2.24
+Requires:      udev-libs >= 1:176
+
+%description -n device-mapper-libs
+Device-mapper shared libraries.
+
+%description -n device-mapper-libs -l pl.UTF-8
+Biblioteki współdzielone device-mappera.
+
 %package -n device-mapper-devel
-Summary:       Header files and development documentation for %{name}
-Summary(pl.UTF-8):     Pliki nagłówkowe i dokumentacja do %{name}
+Summary:       Header files for device-mapper libraries
+Summary(pl.UTF-8):     Pliki nagłówkowe bibliotek device-mappera
 Group:         Development/Libraries
-Requires:      device-mapper = %{version}-%{release}
+Requires:      device-mapper-libs = %{version}-%{release}
+Requires:      libblkid-devel >= 2.24
 %if %{with selinux}
 Requires:      libselinux-devel
 Requires:      libsepol-devel
 %endif
+Requires:      udev-devel >= 1:176
 
 %description -n device-mapper-devel
-Header files and development documentation for %{name}.
+Header files for device-mapper libraries.
 
 %description -n device-mapper-devel -l pl.UTF-8
-Pliki nagłówkowe i dokumentacja do %{name}.
+Pliki nagłówkowe bibliotek device-mappera.
 
 %package -n device-mapper-static
 Summary:       Static devmapper library
@@ -329,7 +374,6 @@ for tool in initrd-lvm initrd-dmsetup; do
        fi
 done
 
-
 %{?with_dietlibc:mv -f libdm/ioctl/libdevmapper.a diet-libdevmapper.a}
 %{__make} clean
 
@@ -342,13 +386,23 @@ unset CC
        %{?debug:--enable-debug} \
        --enable-dmeventd \
        --enable-fsadm \
+%if %{with lvmlockd}
+       %{?with_cluster:--enable-lockd-dlm} \
+       %{?with_sanlock:--enable-lockd-sanlock} \
+%endif
        %{?with_lvmetad:--enable-lvmetad} \
        --enable-ocf \
+       %{?with_python:--enable-python_bindings} \
        --enable-readline \
        %{!?with_selinux:--disable-selinux} \
        --enable-pkgconfig \
        --enable-udev_sync \
        --enable-udev_rules \
+       --with-cache=internal \
+       --with-cache-check=/usr/sbin/cache_check \
+       --with-cache-dump=/usr/sbin/cache_dump \
+       --with-cache-repair=/usr/sbin/cache_repair \
+       --with-cache-restore=/usr/sbin/cache_restore \
        --with-cluster=internal \
 %if %{with cluster}
        --with-clvmd=corosync \
@@ -360,12 +414,13 @@ unset CC
        --with-mirrors=internal \
        --with-optimisation="%{rpmcflags}" \
        --with-pool=internal \
+       %{?with_replicator:--with-replicators=internal} \
        --with-snapshots=internal \
-       --with-systemdsystemunitdir=%{systemdunitdir} \
        --with-thin=internal \
-       --with-thin-check=%{_sbindir}/thin_check \
-       --with-thin-dump=%{_sbindir}/thin_dump \
-       --with-thin-repair=%{_sbindir}/thin_repair \
+       --with-thin-check=/usr/sbin/thin_check \
+       --with-thin-dump=/usr/sbin/thin_dump \
+       --with-thin-repair=/usr/sbin/thin_repair \
+       --with-thin-restore=/usr/sbin/thin_restore \
        --with-udev-prefix=/ \
        --with-usrlibdir=%{_libdir}
 
@@ -377,17 +432,16 @@ rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{/%{_lib},%{_sysconfdir}/lvm,/etc/sysconfig}
 %{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}}
 
-%{__make} install install_system_dirs install_systemd_units install_initscripts \
+%{__make} install install_system_dirs install_initscripts \
        DESTDIR=$RPM_BUILD_ROOT \
        OWNER="" \
        GROUP=""
 
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d
-cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/%{name}.conf
+%{__make} -C scripts \
+       DESTDIR=$RPM_BUILD_ROOT \
 
 %if %{with cluster}
-cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdunitdir}/clvmd.service
-cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/clvmd
+cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/clvmd
 %endif
 
 mv $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
@@ -413,60 +467,41 @@ cp -a libdm/libdevmapper.a $RPM_BUILD_ROOT%{_libdir}
 rm -rf $RPM_BUILD_ROOT
 
 %post
+/sbin/chkconfig --add lvm2-lvmetad
+%service lvm2-lvmetad restart
 /sbin/chkconfig --add lvm2-monitor
 %service lvm2-monitor restart
-%systemd_post lvm2-monitor.service
+/sbin/chkconfig --add lvm2-lvmpolld
+%service lvm2-lvmpolld restart
+# no service restart available
 /sbin/chkconfig --add blk-availability
-# no service blk-availability restart
-%systemd_post blk-availability.service
 
 %preun
-%systemd_preun lvm2-monitor.service
-%systemd_preun blk-availability.service
-
-%postun
 if [ "$1" = "0" ]; then
+       %service lvm2-lvmetad stop
+       /sbin/chkconfig --del lvm2-lvmetad
+       %service lvm2-lvmpolld stop
+       /sbin/chkconfig --del lvm2-lvmpolld
        %service lvm2-monitor stop
        /sbin/chkconfig --del lvm2-monitor
-       #no service blk-availability stop
        /sbin/chkconfig --del blk-availability
 fi
-%systemd_reload
-
-%triggerpostun -- %{name} < 2.02.94-1
-%systemd_trigger lvm2-monitor.service
-
-%post -n device-mapper
-/sbin/ldconfig
-%systemd_post dm-event.socket
 
-%preun -n device-mapper
-%systemd_preun dm-event.socket dm-event.service
-
-%postun -n device-mapper
-/sbin/ldconfig
-%systemd_reload
-
-%triggerpostun -n device-mapper -- device-mapper < 2.02.94-1
-%systemd_trigger dm-event.socket
+%post  -n device-mapper-libs -p /sbin/ldconfig
+%postun        -n device-mapper-libs -p /sbin/ldconfig
 
 %post clvmd
 /sbin/chkconfig --add clvmd
 # no service restart - it breaks current locks!
 export NORESTART=1
-%systemd_post clvmd.service
 # re-exec instead
 /usr/sbin/clvmd -S 2>/dev/null || :
 
 %preun clvmd
-%systemd_preun clvmd.service
-
-%postun clvmd
 if [ "$1" = "0" ]; then
        %service clvmd stop
        /sbin/chkconfig --del clvmd
 fi
-%systemd_reload
 
 %files
 %defattr(644,root,root,755)
@@ -477,6 +512,8 @@ fi
 %attr(755,root,root) %{_sbindir}/pv*
 %attr(755,root,root) %{_sbindir}/vg*
 %{_mandir}/man5/lvm.conf.5*
+%{_mandir}/man7/lvmcache.7*
+%{_mandir}/man7/lvmsystemid.7*
 %{_mandir}/man7/lvmthin.7*
 %{_mandir}/man8/blkdeactivate.8*
 %{_mandir}/man8/fsadm.8*
@@ -485,7 +522,10 @@ fi
 %{_mandir}/man8/vg*.8*
 %attr(750,root,root) %dir %{_sysconfdir}/lvm
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvm.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvmlocal.conf
 %attr(750,root,root) %dir %{_sysconfdir}/lvm/profile
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/cache-mq.profile
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/cache-smq.profile
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/command_profile_template.profile
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/metadata_profile_template.profile
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/thin-generic.profile
@@ -493,22 +533,18 @@ fi
 %if %{with lvmetad}
 /lib/udev/rules.d/69-dm-lvm-metad.rules
 %endif
-%{_sysconfdir}/tmpfiles.d/lvm2.conf
-%{systemdunitdir}/blk-availability.service
-%if %{with lvmetad}
-%{systemdunitdir}/lvm2-lvmetad.service
-%{systemdunitdir}/lvm2-lvmetad.socket
-%endif
-%{systemdunitdir}/lvm2-monitor.service
-%{systemdunitdir}/lvm2-pvscan@.service
 %dir %{_sysconfdir}/lvm/cache
 %ghost %{_sysconfdir}/lvm/cache/.cache
 %attr(754,root,root) /etc/rc.d/init.d/blk-availability
 %if %{with lvmetad}
 %attr(754,root,root) /etc/rc.d/init.d/lvm2-lvmetad
 %endif
+%if %{with lvmpolld}
+%attr(754,root,root) /etc/rc.d/init.d/lvm2-lvmpolld
+%endif
 %attr(754,root,root) /etc/rc.d/init.d/lvm2-monitor
-%dir %attr(700,root,root) /var/run/lvm
+%attr(700,root,root) %dir /var/lock/lvm
+%attr(700,root,root) %dir /var/run/lvm
 
 %if %{with cluster}
 %files clvmd
@@ -516,17 +552,12 @@ fi
 %attr(755,root,root) %{_usrsbindir}/clvmd
 %attr(754,root,root) /etc/rc.d/init.d/clvmd
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/clvmd
-%attr(755,root,root) /lib/systemd/lvm2-cluster-activation
-%{systemdunitdir}/clvmd.service
-%{systemdunitdir}/lvm2-cluster-activation.service
-%{systemdunitdir}/lvm2-clvmd.service
 %{_mandir}/man8/clvmd.8*
 
 %files cmirrord
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_usrsbindir}/cmirrord
 %attr(754,root,root) /etc/rc.d/init.d/cmirrord
-%{systemdunitdir}/lvm2-cmirrord.service
 %{_mandir}/man8/cmirrord.8*
 %endif
 
@@ -535,41 +566,55 @@ fi
 %dir %{_prefix}/lib/ocf/resource.d/lvm2
 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/lvm2/VolumeGroup
 
+%if %{with python}
+%files -n python-lvm
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py_sitedir}/lvm.so
+%{py_sitedir}/lvm-%{version}_*-py*.egg-info
+%endif
+
 %files -n device-mapper
 %defattr(644,root,root,755)
 %doc *_DM
-%{systemdunitdir}/dm-event.service
-%{systemdunitdir}/dm-event.socket
 /lib/udev/rules.d/10-dm.rules
 /lib/udev/rules.d/11-dm-lvm.rules
 /lib/udev/rules.d/13-dm-disk.rules
 /lib/udev/rules.d/95-dm-notify.rules
 %attr(755,root,root) %{_sbindir}/dmeventd
 %attr(755,root,root) %{_sbindir}/dmsetup
-%attr(755,root,root) /%{_lib}/libdevmapper*.so.*.*
-%attr(755,root,root) /%{_lib}/liblvm2app.so.*.*
-%attr(755,root,root) /%{_lib}/liblvm2cmd.so.*.*
+%attr(755,root,root) %{_sbindir}/dmstats
 %dir %{_libdir}/device-mapper
 %attr(755,root,root) %{_libdir}/device-mapper/*.so
 %attr(755,root,root) %{_libdir}/libdevmapper-event-*.so
 %{_mandir}/man8/dmsetup.8*
+%{_mandir}/man8/dmstats.8*
 %{_mandir}/man8/dmeventd.8*
 
+%files -n device-mapper-libs
+%defattr(644,root,root,755)
+%attr(755,root,root) /%{_lib}/libdevmapper.so.*.*
+%attr(755,root,root) /%{_lib}/libdevmapper-event.so.*.*
+%attr(755,root,root) /%{_lib}/libdevmapper-event-lvm2.so.*.*
+%attr(755,root,root) /%{_lib}/liblvm2app.so.*.*
+%attr(755,root,root) /%{_lib}/liblvm2cmd.so.*.*
+
 %files -n device-mapper-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libdevmapper.so
 %attr(755,root,root) %{_libdir}/libdevmapper-event.so
 %attr(755,root,root) %{_libdir}/liblvm2app.so
 %attr(755,root,root) %{_libdir}/liblvm2cmd.so
-%{_includedir}/libdevmapper*.h
+%{_includedir}/libdevmapper.h
+%{_includedir}/libdevmapper-event.h
 %{_includedir}/lvm2app.h
 %{_includedir}/lvm2cmd.h
-%{_pkgconfigdir}/devmapper*.pc
+%{_pkgconfigdir}/devmapper.pc
+%{_pkgconfigdir}/devmapper-event.pc
 %{_pkgconfigdir}/lvm2app.pc
 
 %files -n device-mapper-static
 %defattr(644,root,root,755)
-%{_libdir}/libdevmapper*.a
+%{_libdir}/libdevmapper.a
 
 %if %{with initrd}
 %if %{with dietlibc}