Add systemd support for o2cb and ocfs2 service. 1. I've tested changes on opensuse13.2 and sle12 sp1. It works well. 2. Backforward compatible. 3. It will be added into sle12 once it become mature in opensuse. OBS-URL: https://build.opensuse.org/request/show/330115 OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/ocfs2-tools?expand=0&rev=84
302 lines
8.8 KiB
RPMSpec
302 lines
8.8 KiB
RPMSpec
#
|
|
# spec file for package ocfs2-tools
|
|
#
|
|
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
Name: ocfs2-tools
|
|
Version: 1.8.4
|
|
Release: 0
|
|
Summary: Oracle Cluster File System 2 Core Tools
|
|
License: GPL-2.0+
|
|
Group: System/Filesystems
|
|
Url: https://ocfs2.wiki.kernel.org/
|
|
Source: ocfs2-tools-%{version}.tar.gz
|
|
Source1: o2cb.ocf
|
|
Source2: reflink.tar.bz2
|
|
Patch103: debug-ocfs2_hb_ctl.patch
|
|
Patch105: bug-470741-debug_start_failures.patch
|
|
Patch106: ocfs2-devel.diff
|
|
Patch107: reflink-no-syscall.patch
|
|
Patch201: bug-543119-o2dlm.patch
|
|
Patch202: fix-configure-check-libs.patch
|
|
Patch204: dont-use-var-lock-subsys.patch
|
|
Patch205: ocfs2-tools-kernel33.patch
|
|
Patch206: ocfs2-tools-resource.patch
|
|
Patch301: 0001-libo2dlm-Close-file-description-after-use.patch
|
|
Patch302: 0002-debugfs.ocfs2-Fix-a-bug-in-process_open_args.patch
|
|
Patch401: 0003-o2cb-add-build-scripts-for-rhel7.patch
|
|
Patch402: 0004-add-systemd-support.patch
|
|
Patch403: 0005-do-not-write-sysconfig-if-status-not-changed.patch
|
|
Patch404: 0006-o2cb-mount-debugfs-when-load-config.patch
|
|
Patch405: 0007-vendor-Add-vendor-files-for-sles12.patch
|
|
Patch406: 0008-ocfs2-tools-add-systemd-support-fix.patch
|
|
|
|
BuildRequires: autoconf
|
|
BuildRequires: e2fsprogs-devel
|
|
BuildRequires: libaio-devel
|
|
BuildRequires: libbz2-devel
|
|
BuildRequires: libcorosync-devel
|
|
BuildRequires: libdlm-devel
|
|
BuildRequires: libxslt-devel
|
|
BuildRequires: libz1
|
|
BuildRequires: python-devel
|
|
BuildRequires: python-gtk-devel
|
|
BuildRequires: readline-devel
|
|
BuildRequires: update-desktop-files
|
|
BuildRequires: pkgconfig(glib-2.0)
|
|
BuildRequires: pkgconfig(libxml-2.0)
|
|
Requires(pre): %fillup_prereq
|
|
Requires(pre): %insserv_prereq
|
|
Requires: /sbin/chkconfig
|
|
Requires: e2fsprogs
|
|
Requires: glib2 >= 2.2.3
|
|
Requires: modutils
|
|
Requires: net-tools
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
%if 0%{?suse_version} < 1320
|
|
Recommends: ocfs2-kmp
|
|
%endif
|
|
%if 0%{?suse_version} >= 1315
|
|
%define systemd_enabled 1
|
|
%else
|
|
%define systemd_enabled 0
|
|
%endif
|
|
|
|
%description
|
|
OCFS2 is the Oracle Cluster File System.
|
|
|
|
This package contains the core user-space tools needed for creating and
|
|
managing the file system.
|
|
|
|
%package -n ocfs2console
|
|
Summary: Oracle Cluster Filesystem 2 GUI tools
|
|
Group: System/Filesystems
|
|
Requires: e2fsprogs
|
|
Requires: glib2 >= 2.2.3
|
|
Requires: ocfs2-tools = %{version}
|
|
Requires: ocfs2-tools = %{version}
|
|
Requires: python-gtk >= 1.99.16
|
|
Requires: vte >= 0.11.10
|
|
Provides: ocfs2-support = %{version}
|
|
Obsoletes: ocfs2-support < %{version}
|
|
|
|
%description -n ocfs2console
|
|
OCFS2 is the Oracle Cluster Filesystem.
|
|
|
|
This package contains additional tools and a GUI (python-gtk).
|
|
|
|
%package devel
|
|
Summary: Oracle Cluster File System 2 Development files
|
|
Group: Development/Libraries/C and C++
|
|
Requires: libcom_err
|
|
Requires: libcom_err-devel
|
|
Requires: ocfs2-tools = %{version}
|
|
|
|
%description devel
|
|
OCFS2 is the Oracle Cluster File System.
|
|
|
|
This package contains the header files for developing low-level
|
|
OCFS2-aware applications.
|
|
|
|
%package devel-static
|
|
Summary: Oracle Cluster File System 2 static libraries
|
|
Group: Development/Libraries/C and C++
|
|
Requires: libcom_err
|
|
Requires: libcom_err-devel
|
|
Requires: ocfs2-tools = %{version}
|
|
|
|
%description devel-static
|
|
OCFS2 is the Oracle Cluster File System.
|
|
|
|
This package contains the static libraries for developing low-level
|
|
OCFS2-aware applications.
|
|
|
|
%package o2cb
|
|
Summary: Oracle Cluster File System 2 tools for the native o2cb stack
|
|
Group: System/Filesystems
|
|
Requires: ocfs2-tools = %{version}
|
|
|
|
%description o2cb
|
|
OCFS is the Oracle Cluster File System.
|
|
|
|
This package contains the tools to manage the native o2cb stack for the
|
|
OCFS2 filesystem.
|
|
|
|
%prep
|
|
%setup -q -a 2
|
|
%patch103 -p1
|
|
%patch105 -p1
|
|
%patch106 -p1
|
|
%patch107 -p0
|
|
%patch201 -p1
|
|
%patch202 -p1
|
|
%patch204 -p1
|
|
%patch205 -p1
|
|
%patch206 -p1
|
|
%patch301 -p1
|
|
%patch302 -p1
|
|
%patch401 -p1
|
|
%patch402 -p1
|
|
%patch403 -p1
|
|
%patch404 -p1
|
|
%patch405 -p1
|
|
%patch406 -p1
|
|
|
|
%build
|
|
export PROJECT="ocfs2-tools"
|
|
autoreconf -fi -I /usr/share/aclocal
|
|
%configure --disable-debug --enable-ocfs2console=yes --enable-dynamic-fsck=yes --enable-dynamic-ctl=yes
|
|
make OPTS="%{optflags}"
|
|
|
|
cd reflink
|
|
cp ../config.guess ../config.sub coreutils-6.9/build-aux/
|
|
%configure
|
|
make reflink
|
|
cd ..
|
|
|
|
%install
|
|
mkdir -p %{buildroot}/sbin
|
|
mkdir -p %{buildroot}%{_prefix}/bin
|
|
mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates
|
|
mkdir -p %{buildroot}%{_sysconfdir}/udev/rules.d/
|
|
mkdir -p %{buildroot}%{_prefix}/lib/ocf/resource.d/ocfs2
|
|
cp -f vendor/common/51-ocfs2.rules %{buildroot}%{_sysconfdir}/udev/rules.d
|
|
cp -f $RPM_SOURCE_DIR/o2cb.ocf %{buildroot}%{_prefix}/lib/ocf/resource.d/ocfs2/o2cb
|
|
chmod a+x %{buildroot}%{_prefix}/lib/ocf/resource.d/ocfs2/o2cb
|
|
cp -f vendor/common/o2cb.sysconfig %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.o2cb
|
|
|
|
%if %{systemd_enabled}
|
|
mkdir -p %{buildroot}/usr/lib/systemd/system
|
|
cp -f vendor/common/o2cb.service %{buildroot}/usr/lib/systemd/system/
|
|
cp -f vendor/common/ocfs2.service %{buildroot}/usr/lib/systemd/system/
|
|
cp -f vendor/common/o2cb.init %{buildroot}/sbin
|
|
cp -f vendor/common/ocfs2.init %{buildroot}/sbin
|
|
%else
|
|
mkdir -p %{buildroot}%{_sysconfdir}/init.d
|
|
cp -f vendor/common/o2cb.init %{buildroot}%{_sysconfdir}/init.d/o2cb
|
|
cp -f vendor/common/ocfs2.init %{buildroot}%{_sysconfdir}/init.d/ocfs2
|
|
ln -sf ..%{_sysconfdir}/init.d/o2cb %{buildroot}/sbin/rco2cb
|
|
ln -sf ..%{_sysconfdir}/init.d/ocfs2 %{buildroot}/sbin/rcocfs2
|
|
%endif
|
|
make DESTDIR="%{buildroot}" install
|
|
|
|
cd reflink
|
|
make DESTDIR="%{buildroot}" install
|
|
cd ..
|
|
|
|
mv %{buildroot}/{,/usr}/sbin/o2image
|
|
mv %{buildroot}/{,/usr}/sbin/debugfs.ocfs2
|
|
#mv %{buildroot}/{,/usr}/sbin/ocfs2_controld.pcmk
|
|
chmod a-x %{buildroot}/%{_libdir}/libo2cb.a
|
|
chmod a-x %{buildroot}/%{_libdir}/libo2dlm.a
|
|
chmod a-x %{buildroot}/%{_libdir}/libocfs2.a
|
|
python -c "import compileall; compileall.compile_dir('%{buildroot}/%{py_sitedir}/ocfs2interface', ddir='%{py_sitedir}/ocfs2interface')"
|
|
|
|
%preun o2cb
|
|
%stop_on_removal ocfs2
|
|
%stop_on_removal o2cb
|
|
|
|
%postun o2cb
|
|
%{insserv_cleanup}
|
|
%restart_on_update ocfs2
|
|
%restart_on_update o2cb
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%doc COPYING CREDITS MAINTAINERS
|
|
%doc documentation/users_guide.txt
|
|
%dir %{_sysconfdir}/udev
|
|
%dir %{_sysconfdir}/udev/rules.d
|
|
/sbin/fsck.ocfs2
|
|
/sbin/mkfs.ocfs2
|
|
/sbin/mounted.ocfs2
|
|
/sbin/tunefs.ocfs2
|
|
/sbin/mount.ocfs2
|
|
/sbin/ocfs2_hb_ctl
|
|
/sbin/o2cluster
|
|
%{_sbindir}/o2image
|
|
%{_sbindir}/debugfs.ocfs2
|
|
%{_sbindir}/o2hbmonitor
|
|
%{_bindir}/reflink
|
|
%{_bindir}/o2info
|
|
%config %{_sysconfdir}/udev/rules.d/51-ocfs2.rules
|
|
%{_mandir}/man8/debugfs.ocfs2.8*
|
|
%{_mandir}/man8/fsck.ocfs2.8*
|
|
%{_mandir}/man8/fsck.ocfs2.checks.8*
|
|
%{_mandir}/man8/mkfs.ocfs2.8*
|
|
%{_mandir}/man8/tunefs.ocfs2.8*
|
|
%{_mandir}/man8/mounted.ocfs2.8*
|
|
%{_mandir}/man8/ocfs2_hb_ctl.8*
|
|
%{_mandir}/man8/mount.ocfs2.8*
|
|
%{_mandir}/man8/o2image.8.gz
|
|
%{_mandir}/man8/o2cluster.8.gz
|
|
%{_mandir}/man8/o2hbmonitor.8.gz
|
|
%{_mandir}/man5/o2cb.sysconfig.5.gz
|
|
%{_mandir}/man5/ocfs2.cluster.conf.5.gz
|
|
%{_mandir}/man7/ocfs2.7.gz
|
|
%{_mandir}/man1/o2info.1.gz
|
|
%dir %{_prefix}/lib/ocf
|
|
%dir %{_prefix}/lib/ocf/resource.d
|
|
%dir %{_prefix}/lib/ocf/resource.d/ocfs2
|
|
%{_prefix}/lib/ocf/resource.d/ocfs2/o2cb
|
|
|
|
%files -n ocfs2console
|
|
%defattr(-,root,root)
|
|
%{_sbindir}/ocfs2console
|
|
%{py_sitedir}/ocfs2interface
|
|
%{_mandir}/man8/ocfs2console.8*
|
|
|
|
%files o2cb
|
|
%defattr(-,root,root)
|
|
%doc README.O2CB
|
|
/sbin/o2cb_ctl
|
|
/sbin/o2cb
|
|
|
|
%if %{systemd_enabled}
|
|
/sbin/o2cb.init
|
|
/sbin/ocfs2.init
|
|
/usr/lib/systemd/system/o2cb.service
|
|
/usr/lib/systemd/system/ocfs2.service
|
|
%else
|
|
/sbin/rco2cb
|
|
/sbin/rcocfs2
|
|
%{_sysconfdir}/init.d/o2cb
|
|
%{_sysconfdir}/init.d/ocfs2
|
|
%endif
|
|
|
|
%{_mandir}/man8/o2cb_ctl.8*
|
|
%{_localstatedir}/adm/fillup-templates/sysconfig.o2cb
|
|
%{_mandir}/man7/o2cb.7.gz
|
|
%{_mandir}/man8/o2cb.8.gz
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
%{_includedir}/o2cb
|
|
%{_includedir}/o2dlm
|
|
%{_includedir}/ocfs2
|
|
%{_includedir}/ocfs2-kernel
|
|
%{_libdir}/pkgconfig/o2cb.pc
|
|
%{_libdir}/pkgconfig/o2dlm.pc
|
|
%{_libdir}/pkgconfig/ocfs2.pc
|
|
|
|
%files devel-static
|
|
%defattr(-,root,root)
|
|
%{_libdir}/libo2cb.a
|
|
%{_libdir}/libo2dlm.a
|
|
%{_libdir}/libocfs2.a
|
|
|
|
%changelog
|