dietlibc/dietlibc.spec
2005-05-24 21:21:57 +00:00

207 lines
6.4 KiB
RPMSpec

## $Id: dietlibc.spec,v 1.3 2005/02/01 12:03:17 ensc Exp $
## This package understands the following switches:
## --with cross ... enable crossbuild
## --define 'crossarch <arch>' ... set cross-architecture (only valid with
## '--with cross'; defaults to 'arm-linux')
## Fedora Extras specific customization below...
%global crossarch %{!?crossarch:arm-linux}%{?crossarch}
##
%global NAME dietlibc
%global do_crossbuild %{?_with_cross:1}%{!?_with_cross:0}
%ifarch %ix86 x86_64 arm
%global noncross_do_dyn 1
%else
%global noncross_do_dyn 0
%endif
%ifarch %ix86
%global target_cpu i386
%else
%global target_cpu %_target_cpu
%endif
%global target_cpu %(test "%do_crossbuild" = 1 && echo %crossarch | sed -e 's!-.*!!' || echo %target_cpu)
%global do_dyn %(test "%do_crossbuild" = 1 && case "%target_cpu" in (x86_86|arm|i?86) echo 1;; (*) echo 0;; esac || echo %noncross_do_dyn)
%if %do_dyn
%global with_dyn 1
%endif
%{!?release_func:%global release_func() %1%{?dist}}
Summary: Small libc implementation
Name: %{?_with_cross:cross-%crossarch-}%NAME
Version: 0.29
Release: %release_func 1
License: GPL
Group: Development/Libraries
URL: http://www.fefe.de/dietlibc/
Source0: http://www.kernel.org/pub/linux/libs/dietlibc/%NAME-%version.tar.bz2
Source1: http://www.fefe.de/dietlibc/%NAME-%version.tar.bz2.sig
Patch1: dietlibc-0.28-setpriority.patch
Patch10: dietlibc-0.29-scall.patch
BuildRoot: %_tmppath/%name-%version-%release-buildroot
%{?with_dyn:Requires: dietlibc-lib = %version-%release}
%if %do_crossbuild
BuildRequires: dietlibc
Requires: dietlibc = %version-%release
%endif
%package lib
Summary: Dynamic libraries for dietlibc
Group: System Environment/Libraries
%description
The diet libc is a libc that is optimized for small size. It can be
used to create small statically linked binaries for Linux on alpha,
arm, hppa, ia64, i386, mips, s390, sparc, sparc64, ppc and x86_64.
%description lib
The diet libc is a libc that is optimized for small size. It can be
used to create small statically linked binaries for Linux on alpha,
arm, hppa, ia64, i386, mips, s390, sparc, sparc64, ppc and x86_64.
This package contains the dynamic libraries for dietlibc.
%prep
%setup -q -n %NAME-%version
%patch1 -p1 -b .nice
%patch10 -p1 -b .scall
%global fixcflags -fomit-frame-pointer -fno-exceptions -fno-asynchronous-unwind-tables
%global basemakeflags prefix=%_libdir/dietlibc BINDIR=%_bindir MAN1DIR=%_mandir/man1 COMMENT=: %{!?_with_cross:CFLAGS="$RPM_OPT_FLAGS %fixcflags"}
%global makeflags %basemakeflags %{?_with_cross:CROSS=%crossarch- ARCH=%target_cpu}
%build
%if %do_crossbuild
mkdir -p bin-%_arch
diet gcc diet.c -DDIETHOME=\"`pwd`\" -DVERSION=\"X\" -o bin-%_arch/diet
%endif
%__make %makeflags all %{?with_dyn:dyn} %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
%__install -d -m755 $RPM_BUILD_ROOT/etc
%__make %makeflags DESTDIR=$RPM_BUILD_ROOT install
%if !%do_crossbuild
ln -s lib-%_arch ${RPM_BUILD_ROOT}%_libdir/dietlibc/lib-%_arch-%_vendor
%endif
%if %do_crossbuild
rm -rf ${RPM_BUILD_ROOT}%_libdir/dietlibc/include \
${RPM_BUILD_ROOT}%_mandir
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%{?with_dyn:%exclude %_libdir/dietlibc/*/*.so}
%if %do_crossbuild
%_libdir/dietlibc/lib-*
%else
%doc AUTHOR BUGS CAVEAT CHANGES COPYING FAQ PORTING README*
%doc SECURITY THANKS TODO
%doc %_mandir/*/*
%_bindir/*
%_libdir/dietlibc
%endif
%if %do_dyn
%files lib
%defattr(-,root,root,-)
%config(noreplace) %_sysconfdir/*
%dir %_libdir/dietlibc
%dir %_libdir/dietlibc/lib-*
%_libdir/dietlibc/lib-%target_cpu/*.so
%endif
%changelog
* Tue May 24 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.29-1
- updated to 0.29
- unset some compiler options which cause errors with gcc4
- rediffed -scall patch
- removed most patches as already in upstream
* Thu May 19 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.28-6
- use %%dist instead of %%disttag
- package some more %%doc files (reported by Chris Ricker)
- add %%release to the BuildRoot (reported by Chris Ricker)
- fixed URLs of the sources (reported by Chris Ricker)
* Sun May 1 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.28-5
- added Herbert Poetzl's syscall(2) implementation for x86_64 and
sparc* architectures (see
http://vserver.13thfloor.at/Experimental/delta-diet.diff); rediffed
the .call patch
- catch the case when syscall(2) is used on archs where it is not
implemented yet
- define MADV_* constants on HPPA and IA64 archs
- fix *truncate64() handling on 64bit archs
* Fri Mar 4 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.28-4
- rebuild
- fixed compilation with gcc4
- made nice(2) SUSv3 compliantly on x86_64 and other platforms (patch
provided by Colin Hill)
- build the dynamic libs for x86, x86_64 and arm only
- fixed PPC issues in ISO mode (do not use the 'powerpc' macro but the
'__powerpc__' one)
- added some O_* -flags for the HPPA arch
- use more modern flags for '-Os'
* Tue Feb 1 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1:0.28-1
- updated to 0.28
- unset LD_RUN_PATH which would result in empty rpaths else
- removed the waitpid patch; it is solved upstream
* Tue Aug 17 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1:0.27-1
- updated to 0.27
* Fri Jun 11 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1:0.26-1
- updated to 0.26
* Fri Apr 9 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1:0.25-1
- updated to 0.25
* Sat Jan 17 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1:%VERSION.90.%DATE}-5
- renewed -snprintf patch
* Tue Jan 6 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1:%VERSION.90.%DATE}-4
- applied -snprintf patch (from fedora dietlibc-0.24-2 package)
* Tue Dec 30 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1:%VERSION.90.%DATE}-2
- added C99 patch
* Thu Dec 4 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1:0.24-1
- updated to 0.24
* Tue Sep 16 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1:0.23-1
- updated to 0.23
* Fri Nov 8 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> 1:0.21-1
- updated to 0.21
- removed unpackaged files in %%install-stage
* Thu Jul 11 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> 1:0.18-1
- updated to 0.18
* Thu Jul 4 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
- Initial build.