X-Git-Url: https://git.tld-linux.org/?p=packages%2Flvm2.git;a=blobdiff_plain;f=lvm2.spec;h=1c1283817a1d4aabf08ccd4ca878f0a5272d5698;hp=1eee5a437498f448fa1d93adbcfc25510817ae1a;hb=1c585277cdd121fb2c6870d085ed1ec050029590;hpb=72d14ac578a66ae7f5dea2dad062662126697632 diff --git a/lvm2.spec b/lvm2.spec index 1eee5a4..1c12838 100644 --- 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 @@ -33,34 +39,37 @@ 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}