Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37791843
en ru br
ALT Linux repos
4.0: 2.6.12.0-alt6.1
3.0:
+backports:2.6.12.0-alt6.1.0.M30

Group :: Development/Kernel
RPM: linux-libc-headers

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

# vim:set ft=spec: -*- rpm-spec -*-
# $Id: linux-libc-headers,v 1.1 2005/09/12 09:26:54 raorn Exp $

%define includedir %_includedir/linux-libc-headers/include
%define cvs_date 20060105

Name: linux-libc-headers
Version: 2.6.12.0
Release: alt6.1

Summary: Linux kernel headers for use with C libraries
Group: Development/Kernel
License: GPL
Url: http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
Packager: LAKostis <lakostis at altlinux.ru>

%ifarch ppc64 s390x sparc sparc64 sparcv9
%define dodual 1
%else
%define dodual 0
%endif

Source: %url/%name-%version-%cvs_date.tar.bz2

Patch: %name-2.6.12.0-alt-kernel-fix-core-headers-fix.patch
Patch1: %name-2.6.12.0-alt-kernel-fix-core-max_nested_links-8.patch
Patch2: %name-2.6.12.0-fix-agpgart.patch
Patch3: %name-2.6.12.0-2.6.16-syscalls-add.patch

Requires: kernel-headers-common >= 1.1.5
BuildRequires: kernel-build-tools >= 0.8

%define base_arch %(echo %_target_cpu | sed 's/i.86/i386/;s/athlon/i386/;s/pentium4/i386/;s/athlon-?xp/i386/')

%description
This package includes the C header files that specify the interface
between the Linux kernel and userspace libraries and programs. The
header files define structures and constants that are needed for
building most standard programs and are also needed for rebuilding the
glibc package.

%prep
%setup -q
%patch -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1

%build
%ifarch ppc64
a1=ppc
a2=ppc64
c1='defined(__powerpc__) && !defined(__powerpc64__)'
c2='defined(__powerpc64__)'
%endif
%ifarch s390 s390x
a1=sparc
a2=sparc64
c1='defined(__s390__) && !defined(__s390x__)'
c2='defined(__s390x__)'
%endif
%ifarch sparc sparcv9 sparc64
a1=sparc
a2=sparc64
c1='defined(__sparc__) && !defined(__arch64__)'
c2='defined(__sparc__) && defined(__arch64__)'
%endif

%if %dodual
pushd include
%__rm -f asm
%__mkdir asm

for h in `( ls asm-${a1}; ls asm-${a2} ) | grep '\.h$' | sort -u`; do
name=`echo $h | tr a-z. A-Z_`
# common header
%__cat > asm/$h << EOF
/* All asm/ files are generated and point to the corresponding
* file in asm-${a1} or asm-${a2}.
*/

#ifndef __ASM_STUB_${name}__

#define __ASM_STUB_${name}__

#  if ${c1}

EOF

if [ -f asm-${a1}/$h ]; then
echo "#    include <asm-${a1}/$h>" >> asm/$h
else
echo "#    error <asm-${a1}/$h> does not exist" >> asm/$h
fi

%__cat >> asm/$h <<EOF
#  endif
#  if ${c2}
EOF

if [ -f asm-${a2}/$h ]; then
echo "#    include <asm-${a2}/$h>" >> asm/$h
else
echo "#    error <asm-${a2}/$h> does not exist" >> asm/$h
fi

# common footer

%__cat >> asm/$h <<EOF
#  endif

#endif /* !__ASM_STUB_${name}__ */

EOF

done
echo "asm asm-${a1} asm-${a2}" > asmdirs
popd
%endif


%install
%__mkdir_p %buildroot%includedir

pushd include
%if %dodual
%__cp -a `%__cat asmdirs` %buildroot%includedir
%else
%__cp -a asm-%base_arch %buildroot%includedir/asm
%endif
popd
%__cp -a include/linux %buildroot%includedir

# To avoid broken symlinks...

%__mkdir_p %buildroot%includedir/asm-generic

bzip2 -9 doc/ChangeLog

%post
%post_kernel_headers libc-headers

%postun
%postun_kernel_headers libc-headers

%files
%includedir
%doc doc/*

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin