Accepting request 330115 from home:ZRen:branches:network:ha-clustering:Factory

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
This commit is contained in:
2015-09-22 12:30:33 +00:00
committed by Git OBS Bridge
parent c57803101a
commit ba2ae35d8f
8 changed files with 850 additions and 9 deletions

View File

@@ -37,6 +37,12 @@ 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
@@ -63,6 +69,11 @@ 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.
@@ -137,6 +148,12 @@ OCFS2 filesystem.
%patch206 -p1
%patch301 -p1
%patch302 -p1
%patch401 -p1
%patch402 -p1
%patch403 -p1
%patch404 -p1
%patch405 -p1
%patch406 -p1
%build
export PROJECT="ocfs2-tools"
@@ -153,18 +170,27 @@ cd ..
%install
mkdir -p %{buildroot}/sbin
mkdir -p %{buildroot}%{_prefix}/bin
mkdir -p %{buildroot}%{_sysconfdir}/init.d
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/o2cb.init %{buildroot}%{_sysconfdir}/init.d/o2cb
cp -f vendor/common/ocfs2.init %{buildroot}%{_sysconfdir}/init.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
ln -sf ..%{_sysconfdir}/init.d/o2cb %{buildroot}/sbin/rco2cb
ln -sf ..%{_sysconfdir}/init.d/ocfs2 %{buildroot}/sbin/rcocfs2
%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
@@ -236,12 +262,21 @@ python -c "import compileall; compileall.compile_dir('%{buildroot}/%{py_sitedir}
%files o2cb
%defattr(-,root,root)
%doc README.O2CB
/sbin/rco2cb
/sbin/rcocfs2
/sbin/o2cb_ctl
/sbin/o2cb
%{_sysconfdir}/init.d/o2cb
%{_sysconfdir}/init.d/ocfs2
%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