]> git.pld-linux.org Git - packages/lin_tape.git/blob - lin_tape.spec
- switch to macro driven module build for multiple kernel versions
[packages/lin_tape.git] / lin_tape.spec
1 #
2 # Conditional build:
3 %bcond_without  dist_kernel     # allow non-distribution kernel
4 %bcond_with     verbose         # verbose build (V=1)
5
6 %if "%{_alt_kernel}" != "%{nil}"
7 %if 0%{?build_kernels:1}
8 %{error:alt_kernel and build_kernels are mutually exclusive}
9 exit 1
10 %endif
11 %global         _build_kernels          %{alt_kernel}
12 %else
13 %global         _build_kernels          %{?build_kernels:,%{?build_kernels}}
14 %endif
15
16 # nothing to be placed to debuginfo package
17 %define         _enable_debug_packages  0
18
19 %define         kbrs    %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo "BuildRequires:kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2" ; done)
20 %define         kpkg    %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done)
21 %define         bkpkg   %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done)
22
23 %define         rel     8
24 %define         pname   lin_tape
25 Summary:        IBM Tape SCSI Device Driver for Linux
26 Name:           %{pname}%{_alt_kernel}
27 Version:        2.1.0
28 Release:        %{rel}%{?_pld_builder:@%{_kernel_ver_str}}
29 License:        GPL v2/LGPL
30 Group:          Base/Kernel
31 Source0:        %{pname}-%{version}.tgz
32 # Source0-md5:  a46993ee41fb438ae3b35249fe2c376f
33 Patch0:         use-module-dir.patch
34 Patch1:         linux-3.10.patch
35 # System Storage, Tape systems, Tape drivers and software, Tape device drivers (Linux)
36 URL:            http://www.ibm.com/support/fixcentral/
37 BuildRequires:  rpmbuild(macros) >= 1.678
38 %{?with_dist_kernel:%{expand:%kbrs}}
39 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40
41 %description
42 The IBM Tape Device Driver, lin_tape, product is a device driver that
43 provides attachment for the IBM TotalStorage and System Storage tape
44 devices to Linux compatible platforms.
45
46 %define kernel_pkg()\
47 %package -n kernel%{_alt_kernel}-scsi-lin_tape\
48 Summary:        IBM Tape SCSI Device Driver for Linux\
49 Release:        %{rel}@%{_kernel_ver_str}\
50 Group:          Base/Kernel\
51 Requires(post,postun):  /sbin/depmod\
52 %if %{with dist_kernel}\
53 %requires_releq_kernel\
54 Requires(postun):       %releq_kernel\
55 %endif\
56 \
57 %description -n kernel%{_alt_kernel}-scsi-lin_tape\
58 The IBM Tape Device Driver is a device driver that provides attachment\
59 for the IBM TotalStorage and System Storage tape devices to Linux\
60 compatible platforms.\
61 \
62 %post   -n kernel%{_alt_kernel}-scsi-lin_tape\
63 %depmod %{_kernel_ver}\
64 \
65 %postun -n kernel%{_alt_kernel}-scsi-lin_tape\
66 %depmod %{_kernel_ver}\
67 \
68 %files -n kernel%{_alt_kernel}-scsi-lin_tape\
69 %defattr(644,root,root,755)\
70 %doc lin_tape.fixlist lin_tape_Ultrium.ReadMe lin_tape_359X.ReadMe\
71 /lib/modules/%{_kernel_ver}/kernel/drivers/scsi/lin_tape.ko*\
72 %{nil}
73
74 %define build_kernel_pkg()\
75 %build_kernel_modules -m lin_tape\
76 %install_kernel_modules -D installed -m lin_tape -d kernel/drivers/scsi\
77 %{nil}
78
79 %{expand:%kpkg}
80
81 %prep
82 %setup -q -n %{pname}-%{version}
83 %patch0 -p1
84 %patch1 -p1
85 %ifarch %ix86 ia64
86 proc="Intel"
87 %endif
88 %ifarch %x8664
89 proc="AMD"
90 %endif
91 %ifarch ppc ppc64 powerpc powerpc64
92 proc="pSeries"
93 %endif
94 %ifarch s390 s390x
95 proc="zSeries"
96 %endif
97
98 %{__cp} -af lin_tape_359X_${proc}.ReadMe lin_tape_359X.ReadMe
99 %{__cp} -af lin_tape_Ultrium_${proc}.ReadMe lin_tape_Ultrium.ReadMe
100
101 %{__mv} Makefile Makefile.IBM
102 %{__cp} -af Makefile.GPL Makefile
103
104 %build
105 %{expand:%bkpkg}
106
107 %install
108 rm -rf $RPM_BUILD_ROOT
109 install -d $RPM_BUILD_ROOT
110
111 cp -a installed/* $RPM_BUILD_ROOT
112
113 %clean
114 rm -rf $RPM_BUILD_ROOT
This page took 0.029741 seconds and 3 git commands to generate.