1 |
slords |
1.1 |
## This package understands the following switches: |
2 |
|
|
## --with[out] ssp ... enable/disable SSP; default depends |
3 |
|
|
## on target architecture |
4 |
|
|
## --with dynamic ... enable dynamic lib support |
5 |
|
|
|
6 |
|
|
## Fedora Extras specific customization below... |
7 |
|
|
%bcond_without noarch |
8 |
|
|
## |
9 |
|
|
|
10 |
|
|
%global prerelease 20110311 |
11 |
|
|
%global pkglibdir %_prefix/lib/dietlibc |
12 |
|
|
|
13 |
|
|
%ifarch %ix86 x86_64 |
14 |
|
|
%bcond_without ssp |
15 |
|
|
%else |
16 |
|
|
%bcond_with ssp |
17 |
|
|
%endif |
18 |
|
|
|
19 |
|
|
%ifarch %ix86 x86_64 arm |
20 |
|
|
%bcond_with dynamic |
21 |
|
|
%endif |
22 |
|
|
|
23 |
|
|
%ifarch %ix86 |
24 |
|
|
%global target_cpu i386 |
25 |
|
|
%else |
26 |
|
|
%global target_cpu %_target_cpu |
27 |
|
|
%endif |
28 |
|
|
|
29 |
|
|
%{?with_noarch:%global noarch BuildArch: noarch} |
30 |
|
|
%{!?release_func:%global release_func() %%{?prerelease:0.}%1%%{?prerelease:.%%prerelease}%%{?dist}} |
31 |
|
|
%{!?apply:%global apply(p:n:b:) %patch%%{-n:%%{-n*}} %%{-p:-p %%{-p*}} %%{-b:-b %%{-b*}} \ |
32 |
|
|
%nil} |
33 |
|
|
|
34 |
|
|
Summary: Small libc implementation |
35 |
|
|
Name: dietlibc |
36 |
|
|
Version: 0.33 |
37 |
|
|
Release: %release_func 1600 |
38 |
|
|
License: GPLv2 |
39 |
|
|
Group: Development/Libraries |
40 |
|
|
URL: http://www.fefe.de/dietlibc/ |
41 |
|
|
%if !0%{?prerelease:1} |
42 |
|
|
Source0: http://www.kernel.org/pub/linux/libs/dietlibc/%name-%version.tar.bz2 |
43 |
|
|
Source1: http://www.fefe.de/dietlibc/%name-%version.tar.bz2.sig |
44 |
|
|
%else |
45 |
|
|
# generated by 'make cvs-sources [CVS_DATE=....]' |
46 |
|
|
Source0: %name-%version.%prerelease.tar.bz2 |
47 |
|
|
%endif |
48 |
|
|
Source10: runtests-X.sh |
49 |
|
|
## CVS..master diff from https://github.com/ensc/dietlibc |
50 |
|
|
Patch0: dietlibc-github.patch |
51 |
|
|
BuildRoot: %_tmppath/%name-%version-%release-buildroot |
52 |
|
|
%{?with_dynamic:Requires: dietlibc-lib = %version-%release} |
53 |
|
|
%{!?with_dynamic:Obsoletes: dietlibc-lib < %version-%release} |
54 |
|
|
|
55 |
|
|
Requires: %name-devel = %version-%release |
56 |
|
|
BuildRequires: gdb |
57 |
|
|
|
58 |
|
|
%package devel |
59 |
|
|
Summary: dietlibc development files |
60 |
|
|
Group: Development/Libraries |
61 |
|
|
Requires: %name = %version-%release |
62 |
|
|
Requires: %name-header = %version-%release |
63 |
|
|
Provides: %name-static = %version-%release |
64 |
|
|
Provides: %name-static%{?_isa} = %version-%release |
65 |
|
|
|
66 |
|
|
%package header |
67 |
|
|
Summary: dietlibc header files |
68 |
|
|
Group: Development/Libraries |
69 |
|
|
Requires: %name = %version-%release |
70 |
|
|
Requires(pre): %name-devel = %version-%release |
71 |
|
|
Requires: %name-devel = %version-%release |
72 |
|
|
%{?noarch} |
73 |
|
|
|
74 |
|
|
%package lib |
75 |
|
|
Summary: Dynamic libraries for dietlibc |
76 |
|
|
Group: System Environment/Libraries |
77 |
|
|
Conflicts: %name < %version-%release |
78 |
|
|
Conflicts: %name > %version-%release |
79 |
|
|
|
80 |
|
|
%description |
81 |
|
|
The diet libc is a libc that is optimized for small size. It can be |
82 |
|
|
used to create small statically linked binaries for Linux on alpha, |
83 |
|
|
arm, hppa, ia64, i386, mips, s390, sparc, sparc64, ppc and x86_64. |
84 |
|
|
|
85 |
|
|
%description devel |
86 |
|
|
The diet libc is a libc that is optimized for small size. It can be |
87 |
|
|
used to create small statically linked binaries for Linux on alpha, |
88 |
|
|
arm, hppa, ia64, i386, mips, s390, sparc, sparc64, ppc and x86_64. |
89 |
|
|
|
90 |
|
|
This package contains the object files for dietlibc. |
91 |
|
|
|
92 |
|
|
%description header |
93 |
|
|
The diet libc is a libc that is optimized for small size. It can be |
94 |
|
|
used to create small statically linked binaries for Linux on alpha, |
95 |
|
|
arm, hppa, ia64, i386, mips, s390, sparc, sparc64, ppc and x86_64. |
96 |
|
|
|
97 |
|
|
This package contains the header files for dietlibc. |
98 |
|
|
|
99 |
|
|
%description lib |
100 |
|
|
The diet libc is a libc that is optimized for small size. It can be |
101 |
|
|
used to create small statically linked binaries for Linux on alpha, |
102 |
|
|
arm, hppa, ia64, i386, mips, s390, sparc, sparc64, ppc and x86_64. |
103 |
|
|
|
104 |
|
|
This package contains the dynamic libraries for dietlibc. |
105 |
|
|
|
106 |
|
|
|
107 |
|
|
%prep |
108 |
|
|
%setup -q %{?prerelease:-n %name-%version.%prerelease} |
109 |
|
|
|
110 |
|
|
%apply -n0 -p1 |
111 |
|
|
|
112 |
|
|
%if %{without ssp} |
113 |
|
|
sed -i -e 's!^#define WANT_SSP$!// \0!g; |
114 |
|
|
s!.*\(#define WANT_STACKGAP\).*!\1!g' dietfeatures.h |
115 |
|
|
%global xtra_fixcflags -fno-stack-protector |
116 |
|
|
%else |
117 |
|
|
%global xtra_fixcflags %nil |
118 |
|
|
%endif |
119 |
|
|
|
120 |
|
|
sed -i \ |
121 |
|
|
-e '/#define \(WANT_LARGEFILE_BACKCOMPAT\|WANT_VALGRIND_SUPPORT\)/d' \ |
122 |
|
|
dietfeatures.h |
123 |
|
|
|
124 |
|
|
%ifarch %ix86 arm |
125 |
|
|
sed -i \ |
126 |
|
|
-e '/#define WANT_DYN_PAGESIZE/{c\' \ |
127 |
|
|
-e '#define WANT_ELFINFO' \ |
128 |
|
|
-e '}' \ |
129 |
|
|
dietfeatures.h |
130 |
|
|
%endif |
131 |
|
|
|
132 |
|
|
%global fixcflags -fomit-frame-pointer -fno-exceptions -fno-asynchronous-unwind-tables %xtra_fixcflags -Os -g3 -Werror-implicit-function-declaration |
133 |
|
|
%global basemakeflags prefix=%pkglibdir BINDIR=%_bindir MAN1DIR=%_mandir/man1 CFLAGS="$RPM_OPT_FLAGS %fixcflags $XTRA_CFLAGS" PDIET=%pkglibdir STRIP=: |
134 |
|
|
%global makeflags %basemakeflags |
135 |
|
|
|
136 |
|
|
for i in `find test -name 'runtests.sh'`; do |
137 |
|
|
ln -s %SOURCE10 `dirname $i`/runtests-X.sh |
138 |
|
|
done |
139 |
|
|
|
140 |
|
|
|
141 |
|
|
%build |
142 |
|
|
make %makeflags all %{?_smp_mflags} |
143 |
|
|
|
144 |
|
|
# 'dyn' target is not SMP safe |
145 |
|
|
%{?with_dynamic:make %makeflags dyn} |
146 |
|
|
|
147 |
|
|
|
148 |
|
|
%install |
149 |
|
|
rm -rf $RPM_BUILD_ROOT |
150 |
|
|
|
151 |
|
|
install -d -m755 $RPM_BUILD_ROOT/etc |
152 |
|
|
make %makeflags DESTDIR=$RPM_BUILD_ROOT install |
153 |
|
|
|
154 |
|
|
ln -s lib-%_arch ${RPM_BUILD_ROOT}%pkglibdir/lib-%_arch-%_vendor |
155 |
|
|
|
156 |
|
|
chmod a-x $RPM_BUILD_ROOT%pkglibdir/lib-*/*.o |
157 |
|
|
rm -f $RPM_BUILD_ROOT%_bindir/dnsd |
158 |
|
|
|
159 |
|
|
|
160 |
|
|
%check |
161 |
|
|
XTRA_CFLAGS='-fno-builtin' |
162 |
|
|
make %makeflags -C test all %{?_smp_mflags} DIET=$(echo `pwd`/bin-*/diet) -k || : |
163 |
|
|
make %makeflags -C test/inet all %{?_smp_mflags} DIET=$(echo `pwd`/bin-*/diet) || : |
164 |
|
|
|
165 |
|
|
cd test |
166 |
|
|
ulimit -m $[ 128*1024 ] -v $[ 256*1024 ] -d $[ 128*1024 ] -s 512 |
167 |
|
|
|
168 |
|
|
bash ./runtests-X.sh |
169 |
|
|
|
170 |
|
|
|
171 |
|
|
%clean |
172 |
|
|
rm -rf $RPM_BUILD_ROOT |
173 |
|
|
|
174 |
|
|
%files |
175 |
|
|
%defattr(-,root,root,-) |
176 |
|
|
%doc AUTHOR BUGS CAVEAT CHANGES COPYING FAQ PORTING README* |
177 |
|
|
%doc SECURITY THANKS TODO |
178 |
|
|
%doc %_mandir/*/* |
179 |
|
|
%_bindir/* |
180 |
|
|
|
181 |
|
|
|
182 |
|
|
%files header |
183 |
|
|
%defattr(-,root,root,-) |
184 |
|
|
%pkglibdir/include |
185 |
|
|
|
186 |
|
|
|
187 |
|
|
%files devel |
188 |
|
|
%defattr(-,root,root,-) |
189 |
|
|
%pkglibdir |
190 |
|
|
%exclude %pkglibdir/include |
191 |
|
|
%{?with_dynamic:%exclude %pkglibdir/*/*.so} |
192 |
|
|
|
193 |
|
|
|
194 |
|
|
%if %{with dynamic} |
195 |
|
|
%files lib |
196 |
|
|
%defattr(-,root,root,-) |
197 |
|
|
%config(noreplace) %_sysconfdir/* |
198 |
|
|
%dir %pkglibdir |
199 |
|
|
%dir %pkglibdir/lib-* |
200 |
|
|
%pkglibdir/lib-%target_cpu/*.so |
201 |
|
|
%endif |
202 |
|
|
|
203 |
|
|
|
204 |
|
|
%changelog |
205 |
|
|
* Sat Mar 12 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.33-0.1600.20110311 |
206 |
|
|
- updated to 20110311 CVS snapshot |
207 |
|
|
- set fixed page size for arm |
208 |
|
|
- disabled linux 2.2/2.4 compatibility code + valgrind nice mode |
209 |
|
|
- reduced stack size for testsuite |
210 |
|
|
- rediffed patches |
211 |
|
|
|
212 |
|
|
* Sun Feb 20 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.33-0.1600.20101223 |
213 |
|
|
- other ARM enhancements |
214 |
|
|
- fixed missing headers in last utime(2) + fadvise(2) patches |
215 |
|
|
|
216 |
|
|
* Sun Feb 20 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.33-0.1505.20101223 |
217 |
|
|
- further ARM fixes |
218 |
|
|
- global fixes for utime(2), fadvise*(2) |
219 |
|
|
|
220 |
|
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.33-0.1504.20101223 |
221 |
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild |
222 |
|
|
|
223 |
|
|
* Fri Jan 14 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> |
224 |
|
|
- added common alarm(2) implementation |
225 |
|
|
|
226 |
|
|
* Sun Jan 9 2011 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.33-0.1502.20101223 |
227 |
|
|
- replaced all the single patches with a big one from |
228 |
|
|
https://github.com/ensc/dietlibc/commits/rebase |
229 |
|
|
- various ARM-EABI fixes (667852) |
230 |
|
|
|
231 |
|
|
* Fri Dec 24 2010 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.33-0.1500.20101223 |
232 |
|
|
- updated to 20101223 CVS snapshot |
233 |
|
|
|
234 |
|
|
%changelog |
235 |
|
|
* Fri Jul 9 2010 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.32-1400 |
236 |
|
|
- added -static provides (#609606) |
237 |
|
|
- use %%apply, not %%patch |
238 |
|
|
- updated %%release_func macro |
239 |
|
|
|
240 |
|
|
* Sat Jul 25 2009 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.32-0 |
241 |
|
|
- updated to 0.32 |
242 |
|
|
- fixed stackgap/auxvec patch |
243 |
|
|
- added patches to fix SMP builds and to prevent object file stripping |
244 |
|
|
- moved %%changelog entries from 2005 and before into ChangeLog.2005 file |
245 |
|
|
|
246 |
|
|
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.31-9.20090228 |
247 |
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild |
248 |
|
|
|
249 |
|
|
* Sun Mar 1 2009 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.31-8.20090228 |
250 |
|
|
- splitted a noarch -header subpackage out of -devel |
251 |
|
|
|
252 |
|
|
* Sun Mar 1 2009 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.31-7.20090228 |
253 |
|
|
- updated to 20090228 |
254 |
|
|
- updated patches |
255 |
|
|
|
256 |
|
|
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.31-7.20081017 |
257 |
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild |
258 |
|
|
|
259 |
|
|
* Sat Oct 18 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.31-6.20081017 |
260 |
|
|
- updated to 20081017 CVS snapshot |
261 |
|
|
- relaxed some sanity checks on architecture not supported by Fedora |
262 |
|
|
and use '#warning' instead of '#error' |
263 |
|
|
- fixed ARM dynlib code |
264 |
|
|
|
265 |
|
|
* Wed Jul 16 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0.31-6.20080517 |
266 |
|
|
- fix license tag |
267 |
|
|
|
268 |
|
|
* Sun May 18 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.31-5.20080517 |
269 |
|
|
- updated to 20080517 snapshot |
270 |
|
|
- use patches from git repository |
271 |
|
|
|
272 |
|
|
* Sun May 18 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.31-5.20080409 |
273 |
|
|
- fixed __signalfd() prototype |
274 |
|
|
|
275 |
|
|
* Sat Apr 19 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.31-4.20080409 |
276 |
|
|
- update -pagesize patch |
277 |
|
|
|
278 |
|
|
* Mon Apr 14 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.31-3.20080409 |
279 |
|
|
- removed debug stuff from specfile |
280 |
|
|
- updated patches to work with new isinf() behavior of gcc 4.3 |
281 |
|
|
|
282 |
|
|
* Sun Apr 13 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.31-2.20080409 |
283 |
|
|
- added patch for dynamic PAGE_SIZE support |
284 |
|
|
- fixed/enhanced testsuite and removed the '|| :' in %%check |
285 |
|
|
- improved/fixed floating point support *printf(3) |
286 |
|
|
|
287 |
|
|
* Thu Apr 10 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.31-1.20080409 |
288 |
|
|
- updated to CVS snapshot 20080409 |
289 |
|
|
|
290 |
|
|
* Fri Feb 22 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.31-1.20080221 |
291 |
|
|
- updated to CVS snapshot 20080221; removed most of the last patches |
292 |
|
|
as they are now in upstream |
293 |
|
|
- moved files into platform neutral /usr/lib dir (not using %%_lib or |
294 |
|
|
%%_libdir macro) |
295 |
|
|
- added -devel subpackage due to multiarch issues; main package contains |
296 |
|
|
only the 'diet' binary plus some tools while -devel holds all the |
297 |
|
|
header and object files. |
298 |
|
|
- fixed optimized memcpy(3) |
299 |
|
|
|
300 |
|
|
* Wed Feb 13 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.31-1.20080212 |
301 |
|
|
- updated to CVS snapshot 20080212 |
302 |
|
|
- fixed printf regression for '%+04i' style formats |
303 |
|
|
- added %%check and run a testsuite; it does not succeed now so it is |
304 |
|
|
for informational purposes only... |
305 |
|
|
- added bunch of patches to fixes big-endian issues in string routines |
306 |
|
|
|
307 |
|
|
* Sat Sep 1 2007 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.31-1 |
308 |
|
|
- updated to 0.31 |
309 |
|
|
- removed the no-stack-protector bits for i386 and x86_64 archs |
310 |
|
|
- improved stack-smash code a little bit |
311 |
|
|
- disabled dynamic lib for all arches |
312 |
|
|
- made objects non-executable to avoid "No build ID note" errors |
313 |
|
|
|
314 |
|
|
* Wed Jan 17 2007 David Woodhouse <dwmw2@infradead.org> 0.30-4 |
315 |
|
|
- Bump release to be higher than unexplained 0.30-3.fc6 |
316 |
|
|
|
317 |
|
|
* Wed Jan 17 2007 David Woodhouse <dwmw2@infradead.org> 0.30-3 |
318 |
|
|
- Apply workaround for GCC PR26374 to build on PPC again (#182118) |
319 |
|
|
|
320 |
|
|
* Fri Sep 15 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.30-2 |
321 |
|
|
- rebuilt |
322 |
|
|
|
323 |
|
|
* Sun Jul 9 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.30-1 |
324 |
|
|
- updated to 0.30 |
325 |
|
|
- removed cross-arch support |
326 |
|
|
- disable (non-working) SSP support; enable old stackgap code instead of |
327 |
|
|
|
328 |
|
|
* Sat Feb 18 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.29-6 |
329 |
|
|
- added '-Os' to the CFLAGS |
330 |
|
|
- exclude PPC arch due to strange compilation errors |