X-Git-Url: https://git.tld-linux.org/?p=packages%2Flvm2.git;a=blobdiff_plain;f=lvm2.spec;h=4926c592effd8f1da9bc4de79a7d57dbeffa9982;hp=3194deae05f957534629129e03d30af0cc70b997;hb=HEAD;hpb=381cdd7d90021c8cf1aa9a0a23adcdc4dfded1e0 diff --git a/lvm2.spec b/lvm2.spec index 3194dea..4926c59 100644 --- a/lvm2.spec +++ b/lvm2.spec @@ -1,17 +1,15 @@ # TODO # - vgscan --ignorelocking failure creates /var/lock/lvm (even if /var is not yet mounted) -# - spec default value for --with-replicators (=internal/shared/none, configure default is none)? -# (also internal vs shared for lvm1,pool,cluster,snapshots,mirrors,raid,replicators,thin,cache; -# note: dmeventd requires mirrors=internal) +# - internal vs shared for snapshots,mirrors,thin,cache ? +# note: dmeventd requires mirrors=internal) # # Conditional build: # - functionality -%bcond_without cluster # disable all cluster support (cmirrord) +%bcond_without cluster # disable all cluster support (cmirrord, dlm support in lvmlockd) %bcond_without lvmdbusd # lvmdbusd %bcond_without lvmpolld # lvmpolld (and lvmlockd) %bcond_without lvmlockd # lvmlockd %bcond_with sanlock # sanlock support in lvmlockd -%bcond_with replicator # internal replicator support # - additional features %bcond_without selinux # SELinux support # - bindings @@ -19,49 +17,45 @@ %bcond_without python2 # Python 2 binding %bcond_without python3 # Python 3 binding and lvmdbusd -# for convenience -%if %{without python} -%undefine with_python2 -%undefine with_python3 -%endif -%if %{without python3} -%undefine with_lvmdbusd +# lvmlockd requires lvmpolld +%if %{without lvmpolld} +%undefine with_lvmlockd %endif -%define ver 2.03.16 -%define tgz_ver %(echo %{version} | tr . _) +%if %{without cluster} && %{without sanlock} +%undefine with_lvmlockd +%endif Summary: The new version of Logical Volume Manager for Linux Summary(pl.UTF-8): Nowa wersja Logical Volume Managera dla Linuksa Name: lvm2 -Version: %{ver} +Version: 2.03.23 Release: 1 License: GPL v2 and LGPL v2.1 Group: Applications/System -Source0: https://github.com/lvmteam/lvm2/archive/v%{tgz_ver}.tar.gz -# Source0-md5: 0454f35c17f28e714d7d72f4c43f2ebd +Source0: ftp://sourceware.org/pub/lvm2/LVM2.%{version}.tgz +# Source0-md5: 0535b5e638b6f0b48f7b259e0ec0ba65 Patch0: %{name}-selinux.patch Patch1: device-mapper-dmsetup-export.patch Patch2: %{name}-tld_init.patch Patch3: %{name}-run-dir.patch -Patch4: device-mapper-dmsetup-deps-export.patch -Patch5: %{name}-thin.patch -Patch6: %{name}-no-systemd.patch -Patch7: link.patch +Patch4: %{name}-thin.patch +Patch5: link.patch URL: http://www.sourceware.org/lvm2/ BuildRequires: autoconf >= 2.69 +BuildRequires: autoconf-archive BuildRequires: automake # for /run detection BuildRequires: filesystem >= 3.0-43 +BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.24 %{?with_selinux:BuildRequires: libselinux-devel >= 1.10} %{?with_selinux:BuildRequires: libsepol-devel} BuildRequires: ncurses-devel BuildRequires: pkgconfig -%{?with_python2:BuildRequires: python-devel >= 2} -%{?with_python3:BuildRequires: python3-devel >= 1:3.2} %if %{with lvmdbusd} BuildRequires: python3-dbus +BuildRequires: python3-devel >= 1:3.2 BuildRequires: python3-pyudev %endif BuildRequires: readline-devel @@ -77,10 +71,10 @@ Requires: device-mapper >= %{version}-%{release} %{?with_selinux:Requires: libselinux >= 1.10} # doesn't work with 2.4 kernels Requires: uname(release) >= 2.6 -Suggests: thin-provisioning-tools >= 0.5.4 -Obsoletes: lvm -Obsoletes: lvm2-clvmd -Obsoletes: lvm2-systemd +Suggests: thin-provisioning-tools >= 0.7.0 +Obsoletes: lvm < 2 +Obsoletes: lvm2-clvmd < 2.03 +Obsoletes: lvm2-systemd < 2.02.94 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sbindir /sbin @@ -89,13 +83,10 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) # changing CFLAGS in the middle confuses confcache %undefine configure_cache -# borken on AC -%define filterout_ld -Wl,--as-needed - # causes: undefined reference to `__stack_chk_fail_local' %define filterout_c -fstack-protector -%define skip_post_check_so '.*(libdevmapper-event.so|libdevmapper-event-lvm2.so).*' +%define skip_post_check_so '.*libdevmapper-event-lvm2.so.*' 'liblvm2cmd.so.*' %description This package includes a number of utilities for creating, checking, @@ -121,7 +112,7 @@ 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 +%description cmirrord -l pl.UTF-8 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 @@ -175,30 +166,6 @@ 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 2 interface to LVM2 -Summary(pl.UTF-8): Interfejs Pythona 2 do LVM2 -Group: Libraries/Python -Requires: device-mapper-libs = %{version}-%{release} - -%description -n python-lvm -Python 2 interface to LVM2. - -%description -n python-lvm -l pl.UTF-8 -Interfejs Pythona 2 do LVM2. - -%package -n python3-lvm -Summary: Python 3 interface to LVM2 -Summary(pl.UTF-8): Interfejs Pythona 3 do LVM2 -Group: Libraries/Python -Requires: device-mapper-libs = %{version}-%{release} - -%description -n python3-lvm -Python 3 interface to LVM2. - -%description -n python3-lvm -l pl.UTF-8 -Interfejs Pythona 3 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 @@ -227,6 +194,8 @@ Summary(pl.UTF-8): Biblioteki współdzielone device-mappera Group: Libraries Requires: libblkid >= 2.24 Requires: udev-libs >= 1:176 +Obsoletes: python-lvm < 2.03 +Obsoletes: python3-lvm < 2.03 Conflicts: device-mapper < 2.02.119-1 %description -n device-mapper-libs @@ -280,45 +249,39 @@ Static devmapper library built with dietlibc. Statyczna biblioteka devmapper zbudowana z dietlibc. %prep -%setup -q -n lvm2-%{tgz_ver} +%setup -q -n LVM2.%{version} %{?with_selinux:%patch0 -p1} %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 -%patch7 -p1 - -# do not force --export-symbol linker option for e.g. statically linked executables -# -rdynamic compiler option drives linker in the right way. -%{__sed} -i -e 's#-Wl,--export-dynamic#-rdynamic#g' configure.ac %build -cp -f /usr/share/automake/config.sub autoconf %{__aclocal} %{__autoconf} %configure \ - --enable-applib \ --enable-cache_check_needs_check \ --enable-cmdlib \ +%if %{with cluster} + --enable-cmirrord \ +%endif %{?with_lvmdbusd:--enable-dbus-service} \ %{?debug:--enable-debug} \ --enable-dmeventd \ + --enable-dmfilemapd \ --enable-fsadm \ - --with-default-locking-dir=/var/lock/lvm \ %if %{with lvmlockd} %{?with_cluster:--enable-lvmlockd-dlm} \ %{?with_sanlock:--enable-lvmlockd-sanlock} \ %endif --enable-lvmpolld \ --enable-ocf \ - %{?with_python2:--enable-python2_bindings} \ - %{?with_python3:--enable-python3_bindings} \ + --enable-pkgconfig \ --enable-readline \ %{!?with_selinux:--disable-selinux} \ - --enable-pkgconfig \ + --disable-silent-rules \ --enable-thin_check_needs_check \ --enable-udev_sync \ --enable-udev_rules \ @@ -328,17 +291,12 @@ cp -f /usr/share/automake/config.sub autoconf --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} - --enable-cmirrord \ -%endif + --with-default-locking-dir=/var/lock/lvm \ --with-dmeventd-path=%{_sbindir}/dmeventd \ --with-interface=ioctl \ - --with-lvm1=internal \ + --with-libexecdir=%{_libexecdir} \ --with-mirrors=internal \ --with-optimisation="%{rpmcflags}" \ - --with-pool=internal \ - %{?with_replicator:--with-replicators=internal} \ --with-snapshots=internal \ --with-thin=internal \ --with-thin-check=/usr/sbin/thin_check \ @@ -346,22 +304,30 @@ cp -f /usr/share/automake/config.sub autoconf --with-thin-repair=/usr/sbin/thin_repair \ --with-thin-restore=/usr/sbin/thin_restore \ --with-udev-prefix=/ \ - --with-usrlibdir=%{_libdir} + --with-usrlibdir=%{_libdir} \ + --with-vdo=internal --with-vdo-format=%{_bindir}/vdoformat \ + --with-writecache=internal # use bash because of "set -o pipefail" +# V=1 still used because of missing --disable-silent-rules support in libdm (as of 2.03.09) %{__make} -j1 \ - SHELL=/bin/bash + SHELL=/bin/bash \ + V=1 %{__make} -j1 -C libdm \ - LIB_STATIC=libdevmapper.a + LIB_STATIC=libdevmapper.a \ + V=1 %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/%{_lib},%{_sysconfdir}/lvm,/etc/sysconfig} +install -d $RPM_BUILD_ROOT{/%{_lib},%{_sysconfdir}/lvm,/etc/sysconfig,/var/lock/lvm/subsys} %{__make} install install_system_dirs install_initscripts \ DESTDIR=$RPM_BUILD_ROOT \ + PYTHON_PREFIX=%{_prefix} \ OWNER="" \ - GROUP="" \ - python3dir=%{py3_sitescriptdir} + GROUP="" + +%{__make} -C scripts \ + DESTDIR=$RPM_BUILD_ROOT %{__mv} $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib} for lib in $RPM_BUILD_ROOT/%{_lib}/lib*.so.*; do @@ -460,7 +426,9 @@ fi %attr(755,root,root) %{_sbindir}/vgs %attr(755,root,root) %{_sbindir}/vgscan %attr(755,root,root) %{_sbindir}/vgsplit +%attr(755,root,root) %{_libexecdir}/lvresize_fs_helper %{_mandir}/man5/lvm.conf.5* +%{_mandir}/man7/lvmautoactivation.7* %{_mandir}/man7/lvmcache.7* %{_mandir}/man7/lvmraid.7* %{_mandir}/man7/lvmreport.7* @@ -538,6 +506,7 @@ fi %attr(754,root,root) /etc/rc.d/init.d/lvm2-monitor %attr(700,root,root) %dir /var/run/lvm %attr(700,root,root) %dir /var/lock/lvm +%attr(700,root,root) %dir /var/lock/lvm/subsys %if %{with lvmlockd} %attr(755,root,root) %{_sbindir}/lvmlockctl %attr(755,root,root) %{_sbindir}/lvmlockd @@ -572,20 +541,6 @@ fi %dir %{_prefix}/lib/ocf/resource.d/lvm2 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/lvm2/VolumeGroup -%if %{with python2} -%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 - -%if %{with python3} -%files -n python3-lvm -%defattr(644,root,root,755) -#%attr(755,root,root) %{py3_sitedir}/lvm.cpython-*.so -#%{py3_sitedir}/lvm-%{version}_*-py*.egg-info -%endif - %files -n device-mapper %defattr(644,root,root,755) %doc *_DM @@ -595,6 +550,7 @@ fi /lib/udev/rules.d/69-dm-lvm.rules /lib/udev/rules.d/95-dm-notify.rules %attr(755,root,root) %{_sbindir}/dmeventd +%attr(755,root,root) %{_sbindir}/dmfilemapd %attr(755,root,root) %{_sbindir}/dmsetup %attr(755,root,root) %{_sbindir}/dmstats %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2mirror.so @@ -608,6 +564,7 @@ fi %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2snapshot.so %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2thin.so %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2vdo.so +%{_mandir}/man8/dmfilemapd.8* %{_mandir}/man8/dmsetup.8* %{_mandir}/man8/dmstats.8* %{_mandir}/man8/dmeventd.8*