3 %bcond_without dist_kernel # allow non-distribution kernel
4 %bcond_without kernel # don't build kernel modules
5 %bcond_without userspace # don't build userspace programs
6 %bcond_with verbose # verbose build (V=1)
9 %undefine with_dist_kernel
13 %define pname linux-fusion
14 Summary: Fusion and One Linux kernel modules
15 Summary(pl.UTF-8): Moduły Fusion i One dla jądra Linuksa
16 Name: %{pname}%{_alt_kernel}
21 Source0: http://www.directfb.org/downloads/Core/linux-fusion/%{pname}-%{version}.tar.gz
22 # Source0-md5: 4199617ed8ba205da52fedfb862e4507
23 URL: http://www.directfb.org/
25 %{?with_dist_kernel:BuildRequires: kernel-module-build >= 3:2.6.20.2}
26 BuildRequires: rpmbuild(macros) >= 1.379
28 BuildRequires: sed >= 4.0
29 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32 Fusion and One Linux kernel modules.
34 %description -l pl.UTF-8
35 Moduły Fusion i One dla jądra Linuksa.
38 Summary: Header file for Fusion device
39 Summary(pl.UTF-8): Plik nagłówkowy dla urządzenia Fusion
40 Group: Development/Libraries
41 Requires: linux-libc-headers
44 Header file for Fusion device.
46 %description devel -l pl.UTF-8
47 Plik nagłówkowy dla urządzenia Fusion.
49 %package -n linux-one-devel
50 Summary: Header file for One IPC device
51 Summary(pl.UTF-8): Plik nagłówkowy dla urządzenia IPC One
52 Group: Development/Libraries
53 Requires: linux-libc-headers
55 %description -n linux-one-devel
56 Header file for One IPC device.
58 Linux One is the new IPC API used by Coma.
60 %description -n linux-one-devel -l pl.UTF-8
61 Plik nagłówkowy dla urządzenia IPC One.
63 Linux One to nowe API IPC wykorzystywane przez Comę.
65 %package -n kernel%{_alt_kernel}-char-fusion
66 Summary: Fusion module for Linux kernel
67 Summary(pl.UTF-8): Moduł Fusion dla jądra Linuksa
68 Release: %{rel}@%{_kernel_ver_str}
70 Requires(post,postun): /sbin/depmod
71 %if %{with dist_kernel}
72 %requires_releq_kernel
73 Requires(postun): %releq_kernel
76 %description -n kernel%{_alt_kernel}-char-fusion
77 Fusion module for Linux kernel.
79 %description -n kernel%{_alt_kernel}-char-fusion -l pl.UTF-8
80 Moduł Fusion dla jądra Linuksa.
82 %package -n kernel%{_alt_kernel}-misc-one
83 Summary: One IPC module for Linux kernel
84 Summary(pl.UTF-8): Moduł IPC One dla jądra Linuksa
85 Release: %{rel}@%{_kernel_ver_str}
87 Requires(post,postun): /sbin/depmod
88 %if %{with dist_kernel}
89 %requires_releq_kernel
90 Requires(postun): %releq_kernel
93 %description -n kernel%{_alt_kernel}-misc-one
94 One IPC module for Linux kernel.
96 Linux One is the new IPC API used by Coma.
98 %description -n kernel%{_alt_kernel}-misc-one -l pl.UTF-8
99 Moduł IPC One dla jądra Linuksa.
101 Linux One to nowe API IPC wykorzystywane przez Comę.
104 %setup -q -n %{pname}-%{version}
106 %{__sed} -i -e 's/^obj-[^ ]*/obj-m/' linux/drivers/char/fusion/Makefile-2.6
107 %{__sed} -i -e 's/^obj-[^ ]*/obj-m/' one/Makefile-2.6
108 echo "EXTRA_CFLAGS = -I`pwd`/linux/include -I`pwd`/linux/drivers/char/fusion -I`pwd`/linux/drivers/char/fusion/single" >> linux/drivers/char/fusion/Makefile-2.6
109 echo "EXTRA_CFLAGS = -I`pwd`/include -I`pwd`/one/single" >> one/Makefile-2.6
113 cd linux/drivers/char/fusion
114 ln -sf Makefile-2.6 Makefile
115 # NOTE: build_kernel_modules (as of rpm macros 1.649) doesn't allow line breaking
116 %build_kernel_modules -m fusion FUSIONCORE=single
118 ln -sf Makefile-2.6 Makefile
119 %build_kernel_modules -m linux-one ONECORE=single
123 rm -rf $RPM_BUILD_ROOT
125 %if %{with userspace}
126 install -d $RPM_BUILD_ROOT%{_includedir}/linux
127 install linux/include/linux/fusion.h $RPM_BUILD_ROOT%{_includedir}/linux
128 install include/linux/one.h $RPM_BUILD_ROOT%{_includedir}/linux
132 cd linux/drivers/char/fusion
133 %install_kernel_modules -m fusion -d kernel/drivers/char
135 %install_kernel_modules -m linux-one -d misc
139 rm -rf $RPM_BUILD_ROOT
141 %post -n kernel%{_alt_kernel}-char-fusion
142 %depmod %{_kernel_ver}
144 %postun -n kernel%{_alt_kernel}-char-fusion
145 %depmod %{_kernel_ver}
147 %post -n kernel%{_alt_kernel}-misc-one
148 %depmod %{_kernel_ver}
150 %postun -n kernel%{_alt_kernel}-misc-one
151 %depmod %{_kernel_ver}
153 %if %{with userspace}
155 %defattr(644,root,root,755)
156 %doc ChangeLog README TODO
157 %{_includedir}/linux/fusion.h
159 %files -n linux-one-devel
160 %defattr(644,root,root,755)
161 %doc README.linux-one TODO.linux-one
162 %{_includedir}/linux/one.h
166 %files -n kernel%{_alt_kernel}-char-fusion
167 %defattr(644,root,root,755)
168 /lib/modules/%{_kernel_ver}/kernel/drivers/char/fusion.ko*
170 %files -n kernel%{_alt_kernel}-misc-one
171 %defattr(644,root,root,755)
172 /lib/modules/%{_kernel_ver}/misc/linux-one.ko*