summaryrefslogtreecommitdiff
path: root/kernel-fs-ocfs2.spec
blob: 8dfcf3a1cccfbffe96a268e0bc073f14a08d8c00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
#
# Condtional build:
%bcond_without	kernel		# don't build kernel modules
%bcond_without	dist_kernel	# without distribution kernel
%bcond_without	smp		# without smp packages
%bcond_with	verbose		# verbose build (V=1)
#
%define _rel	0.1
Summary:	Oracle Cluster File System
Summary(pl):	Oracle Cluster File System - klastrowy system plików Oracle
Name:		kernel-fs-ocfs2
Version:	1.1.2
Release:	%{_rel}@%{_kernel_ver_str}
Epoch:		0
License:	GPL v2
Group:		Base/Kernel
Source0:	http://oss.oracle.com/projects/ocfs2/dist/files/source/v1.1/ocfs2-%{version}.tar.gz
# Source0-md5:	d50680c60cd5210b4581febb2f5807ff
URL:		http://oss.oracle.com/projects/ocfs2/
%if %{with kernel}
%{?with_dist_kernel:BuildRequires:	kernel-module-build >= 2.6.12}
%endif
%{?with_dist_kernel:%requires_releq_kernel_up}
Requires(post,postun):	/sbin/depmod
%{?with_dist_kernel:Requires(postun):	kernel}
Buildroot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
OCFS2 is the next generation of the Oracle Cluster File System for
Linux. It is an extent based, POSIX compliant file system. Unlike the
previous release (OCFS), OCFS2 is a general-purpose file system that
can be used for shared Oracle home installations making management of
Oracle Real Application Cluster (RAC) installations even easier. Among
the new features and benefits are:
- Node and architecture local files using Context Dependent Symbolic
  Links (CDSL)
- Network based pluggable DLM
- Improved journaling / node recovery using the Linux Kernel "JBD"
  subsystem
- Improved performance of meta-data operations (space allocation,
  locking, etc).
- Improved data caching / locking (for files such as Oracle binaries,
  libraries, etc).

This package contains Linux kernel driver.

%description -l pl
OCFS2 to nowa generacja klastrowego systemu plików Oracle (Oracle
Cluster File System) dla Linuksa. Jest to oparty na obszarze system
plików zgodny z POSIX. W przeciwieństwie do poprzedniego wydania
(OCFS) OCFS2 jest systemem plików ogólnego przeznaczenia, którego
można używać dla współdzielonych instalacji katalogu domowego
Oracle'a, co czyni zarządzanie instalacjami Oracle Real Application
Cluster (RAC) jeszcze łatwiejszym. Nowe możliwości i zalety OCFS2
obejmują między innymi:
- pliki lokalne węzłowe i architekturowe używające dowiązań
  symbolicznych zależnych od kontekstu (CDSL - Context Dependent
  Symbolic Links)
- dołączalny, sieciowy DLM
- ulepszoną obsługę kroniki i odtwarzania węzłów przy użyciu
  podsystemu JBD z jądra Linuksa
- ulepszone buforowanie danych i blokowanie (dla plików takich jak
  binaria czy biblioteki Oracle'a).

Ten pakiet zawiera sterownik jądra Linuksa.

%package -n kernel-smp-fs-ocfs2
Summary:	Oracle Cluster File System
Summary(pl):	Oracle Cluster File System - klastrowy system plików Oracle
Release:	%{_rel}@%{_kernel_ver_str}
Group:		Base/Kernel
%{?with_dist_kernel:%requires_releq_kernel_smp}
Requires(post,postun):	/sbin/depmod
%{?with_dist_kernel:Requires(postun):	kernel-smp}

%description -n kernel-smp-fs-ocfs2
OCFS2 is the next generation of the Oracle Cluster File System for
Linux. It is an extent based, POSIX compliant file system. Unlike the
previous release (OCFS), OCFS2 is a general-purpose file system that
can be used for shared Oracle home installations making management of
Oracle Real Application Cluster (RAC) installations even easier. Among
the new features and benefits are:
- Node and architecture local files using Context Dependent Symbolic
  Links (CDSL)
- Network based pluggable DLM
- Improved journaling / node recovery using the Linux Kernel "JBD"
  subsystem
- Improved performance of meta-data operations (space allocation,
  locking, etc).
- Improved data caching / locking (for files such as Oracle binaries,
  libraries, etc).

This package contains Linux SMP kernel driver.

%description -n kernel-smp-fs-ocfs2 -l pl
OCFS2 to nowa generacja klastrowego systemu plików Oracle (Oracle
Cluster File System) dla Linuksa. Jest to oparty na obszarze system
plików zgodny z POSIX. W przeciwieństwie do poprzedniego wydania
(OCFS) OCFS2 jest systemem plików ogólnego przeznaczenia, którego
można używać dla współdzielonych instalacji katalogu domowego
Oracle'a, co czyni zarządzanie instalacjami Oracle Real Application
Cluster (RAC) jeszcze łatwiejszym. Nowe możliwości i zalety OCFS2
obejmują między innymi:
- pliki lokalne węzłowe i architekturowe używające dowiązań
  symbolicznych zależnych od kontekstu (CDSL - Context Dependent
  Symbolic Links)
- dołączalny, sieciowy DLM
- ulepszoną obsługę kroniki i odtwarzania węzłów przy użyciu
  podsystemu JBD z jądra Linuksa
- ulepszone buforowanie danych i blokowanie (dla plików takich jak
  binaria czy biblioteki Oracle'a).

Ten pakiet zawiera sterownik jądra Linuksa SMP.

%prep
%setup -q -n ocfs2-%{version}

%build
%configure \
	--with-kernel=%{_kernelsrcdir} \
	--enable-debug=no
cd fs
for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
    if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
	exit 1
    fi
    rm -rf include
    install -d include/{linux,config}
    ln -sf %{_kernelsrcdir}/config-$cfg .config
    ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h
    ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
    ln -sf %{_kernelsrcdir}/Module.symvers-$cfg Module.symvers
    %if %{without dist_kernel}
	[ ! -x %{_kernelsrcdir}/scripts/kallsyms ] || ln -sf %{_kernelsrcdir}/scripts
    %endif
    touch include/config/MARKER
    %{__make} -C %{_kernelsrcdir} clean \
	RCS_FIND_IGNORE="-name '*.ko' -o" \
	M=$PWD O=$PWD \
	%{?with_verbose:V=1}
    %{__make} -C %{_kernelsrcdir} modules \
	RCS_FIND_IGNORE="-name '*.ko' -o" \
	CC="%{__cc}" CPP="%{__cpp}" \
	M=$PWD O=$PWD \
	%{?with_verbose:V=1}
    install -d ../${cfg}
    find . -name '*.ko' > files
    tar -cf - -T files | tar -C ../${cfg} -xvf -
done

%install
rm -rf $RPM_BUILD_ROOT

%if %{with kernel}
install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/kernel/{fs,ocfs}
cp -a up/* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/fs
%if %{with smp} && %{with dist_kernel}
cp -a smp/* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/fs
%endif
%endif

%clean
rm -rf $RPM_BUILD_ROOT

%post
%depmod %{_kernel_ver}

%postun
%depmod %{_kernel_ver}

%post -n kernel-smp-fs-ocfs2
%depmod %{_kernel_ver}smp

%postun -n kernel-smp-fs-ocfs2
%depmod %{_kernel_ver}smp

%if %{with kernel}
%files
%defattr(644,root,root,755)
/lib/modules/%{_kernel_ver}/kernel/fs/*

%if %{with smp} && %{with dist_kernel}
%files -n kernel-smp-fs-ocfs2
%defattr(644,root,root,755)
/lib/modules/%{_kernel_ver}smp/kernel/fs/*
%endif
%endif