djdelorie / rpms / glibc

Forked from rpms/glibc 3 years ago
Clone
cvsdist 987ea0c
%define glibcrelease 10
cvsdist dac76f7
%define auxarches i586 i686 athlon sparcv9 alphaev6
cvsdist dac76f7
Summary: The GNU libc libraries.
cvsdist dac76f7
Name: glibc
cvsdist e2f026e
Version: 2.2.3
cvsdist dac76f7
Release: %{glibcrelease}
cvsdist 8200dbb
Copyright: LGPL
cvsdist 8200dbb
Group: System Environment/Libraries
cvsdist dac76f7
Source: %{name}-%{version}.tar.bz2
cvsdist 8200dbb
# In the source tarball the file diff-CYGNUS-to-REDHAT.patch contains all
cvsdist 8200dbb
# diffs applied by Red Hat to the current CVS version of glibc
cvsdist 987ea0c
Buildroot: %{_tmppath}/glibc-%{PACKAGE_VERSION}-root
cvsdist 8200dbb
Obsoletes: zoneinfo, libc-static, libc-devel, libc-profile, libc-headers,
cvsdist 8200dbb
Obsoletes:  linuxthreads, gencat, locale, ldconfig, locale-ja
cvsdist 8200dbb
Provides: ldconfig
cvsdist 8200dbb
Autoreq: false
cvsdist 987ea0c
Requires: glibc-common = %{version}-%{release}
cvsdist 8200dbb
%ifarch alpha
cvsdist 8200dbb
Provides: ld.so.2
cvsdist 8200dbb
%else
cvsdist 8200dbb
%endif
cvsdist 8200dbb
%ifarch sparc
cvsdist 8200dbb
Obsoletes: libc
cvsdist 8200dbb
%endif
cvsdist 8200dbb
Prereq: basesystem
cvsdist e2f026e
# This is for building auxiliary programs like memusage
cvsdist e2f026e
# For initial glibc bootstraps it can be commented out
cvsdist e2f026e
BuildPreReq: gd-devel libpng-devel zlib-devel
cvsdist e2f026e
%ifarch ix86 sparc sparcv9 alpha alphaev6
cvsdist e2f026e
# This is to ensure that __frame_state_for exported by glibc
cvsdist e2f026e
# will be compatible with egcs 1.x.y
cvsdist e2f026e
BuildPreReq: gcc >= 2.96-84
cvsdist e2f026e
%endif
cvsdist e2f026e
%ifarch ia64
cvsdist e2f026e
# Earlier gcc's die compiling glibc
cvsdist e2f026e
BuildPreReq: gcc >= 2.96-82
cvsdist e2f026e
%endif
cvsdist 8200dbb
Conflicts: rpm <= 4.0-0.65
cvsdist 8200dbb
Patch: glibc-kernel-2.4.patch
cvsdist 987ea0c
%ifarch ia64 sparc64 s390x
cvsdist ab18463
Conflicts: kernel < 2.4.0
cvsdist e2f026e
Conflicts: glibc-devel < 2.2.3
cvsdist ab18463
%define enablekernel 2.4.0
cvsdist e2f026e
%define enablemask [01].*|2.[0-3]*
cvsdist 1ced64d
%else
cvsdist 8200dbb
%define enablekernel 2.2.5
cvsdist e2f026e
%ifarch i686
cvsdist 987ea0c
%define enablekernel2 2.4.1
cvsdist e2f026e
%define enablemask [01].*|2.[0-3]*|2.4.0*
cvsdist e2f026e
%else
cvsdist e2f026e
%define enablemask [01].*|2.[0-1]*|2.2.[0-4]*
cvsdist e2f026e
%endif
cvsdist e2f026e
%endif
cvsdist 8200dbb
cvsdist 8200dbb
%description
cvsdist 8200dbb
The glibc package contains standard libraries which are used by
cvsdist 8200dbb
multiple programs on the system. In order to save disk space and
cvsdist 8200dbb
memory, as well as to make upgrading easier, common system code is
cvsdist 8200dbb
kept in one place and shared between programs. This particular package
cvsdist 8200dbb
contains the most important sets of shared libraries: the standard C
cvsdist 8200dbb
library and the standard math library. Without these two libraries, a
cvsdist dac76f7
Linux system will not function.
cvsdist 8200dbb
cvsdist 8200dbb
%package devel
cvsdist 8200dbb
Summary: Header and object files for development using standard C libraries.
cvsdist 8200dbb
Group: Development/Libraries
cvsdist 8200dbb
Conflicts: texinfo < 3.11
cvsdist 8200dbb
Prereq: /sbin/install-info
cvsdist 8200dbb
Obsoletes: libc-debug, libc-headers, libc-devel, linuxthreads-devel
cvsdist 8200dbb
Obsoletes: glibc-debug
cvsdist 8200dbb
Prereq: kernel-headers
cvsdist dac76f7
Requires: kernel-headers >= 2.2.1, %{name} = %{version}
cvsdist e2f026e
%ifarch x86
cvsdist e2f026e
# Earlier gcc's had atexit reference in crtendS.o, which does not
cvsdist e2f026e
# work with this glibc where atexit is in libc_nonshared.a
cvsdist e2f026e
Conflicts: gcc < 2.96-79
cvsdist e2f026e
%endif
cvsdist 8200dbb
Autoreq: true
cvsdist 8200dbb
cvsdist 8200dbb
%description devel
cvsdist 8200dbb
The glibc-devel package contains the header and object files necessary
cvsdist 8200dbb
for developing programs which use the standard C libraries (which are
cvsdist 8200dbb
used by nearly all programs).  If you are developing programs which
cvsdist 8200dbb
will use the standard C libraries, your system needs to have these
cvsdist 8200dbb
standard header and object files available in order to create the
cvsdist 8200dbb
executables.
cvsdist 8200dbb
cvsdist 8200dbb
Install glibc-devel if you are going to develop programs which will
cvsdist 8200dbb
use the standard C libraries.
cvsdist 8200dbb
cvsdist 8200dbb
%package profile
cvsdist 8200dbb
Summary: The GNU libc libraries, including support for gprof profiling.
cvsdist 8200dbb
Group: Development/Libraries
cvsdist 8200dbb
Obsoletes: libc-profile
cvsdist 8200dbb
Autoreq: true
cvsdist 8200dbb
cvsdist 8200dbb
%description profile
cvsdist 8200dbb
The glibc-profile package includes the GNU libc libraries and support
cvsdist 8200dbb
for profiling using the gprof program.  Profiling is analyzing a
cvsdist 8200dbb
program's functions to see how much CPU time they use and determining
cvsdist 8200dbb
which functions are calling other functions during execution.  To use
cvsdist 8200dbb
gprof to profile a program, your program needs to use the GNU libc
cvsdist 8200dbb
libraries included in glibc-profile (instead of the standard GNU libc
cvsdist 8200dbb
libraries included in the glibc package).
cvsdist 8200dbb
cvsdist 8200dbb
If you are going to use the gprof program to profile a program, you'll
cvsdist 8200dbb
need to install the glibc-profile program.
cvsdist 8200dbb
cvsdist dac76f7
%package common
cvsdist dac76f7
Summary: Common binaries and locale data for glibc
cvsdist 987ea0c
Conflicts: %{name} < %{version}
cvsdist 987ea0c
Conflicts: %{name} > %{version} 
cvsdist dac76f7
Autoreq: false
cvsdist dac76f7
Group: System Environment/Base
cvsdist dac76f7
cvsdist dac76f7
%description common
cvsdist dac76f7
The glibc-common package includes common binaries for the GNU libc
cvsdist dac76f7
libraries, as well as national language (locale) support and timezone
cvsdist dac76f7
databases.
cvsdist dac76f7
cvsdist 8200dbb
%package -n nscd
cvsdist 8200dbb
Summary: A Name Service Caching Daemon (nscd).
cvsdist 8200dbb
Group: System Environment/Daemons
cvsdist 8200dbb
Conflicts: kernel < 2.2.0
cvsdist 8200dbb
Prereq: /sbin/chkconfig, /usr/sbin/useradd, /usr/sbin/userdel
cvsdist 8200dbb
Autoreq: true
cvsdist 8200dbb
cvsdist 8200dbb
%description -n nscd
cvsdist 8200dbb
Nscd caches name service lookups and can dramatically improve
cvsdist 8200dbb
performance with NIS+, and may help with DNS as well. Note that you
cvsdist 8200dbb
can't use nscd with 2.0 kernels because of bugs in the kernel-side
cvsdist 8200dbb
thread support. Unfortunately, nscd happens to hit these bugs
cvsdist 8200dbb
particularly hard.
cvsdist 8200dbb
cvsdist 8200dbb
Install nscd if you need a name service lookup caching daemon, and
cvsdist 8200dbb
you're not using a version 2.0 kernel.
cvsdist 8200dbb
cvsdist 8200dbb
%prep
cvsdist 8200dbb
%setup -q
cvsdist e2f026e
# If we are building enablekernel 2.x.y glibc on older kernel,
cvsdist 8200dbb
# we have to make sure no binaries compiled against that glibc
cvsdist 8200dbb
# are ever run
cvsdist 8200dbb
case `uname -r` in
cvsdist e2f026e
%enablemask)
cvsdist 8200dbb
%patch -p1
cvsdist 8200dbb
;; esac
cvsdist 987ea0c
cvsdist 987ea0c
%ifarch armv4l sparc64 ia64 s390 s390x
cvsdist 8200dbb
rm -rf glibc-compat
cvsdist 8200dbb
%endif
cvsdist 8200dbb
cvsdist 8200dbb
find . -type f -size 0 -o -name "*.orig" -exec rm -f {} \;
cvsdist 8200dbb
cvsdist 8200dbb
%build
cvsdist 8200dbb
rm -rf build-%{_target_cpu}-linux
cvsdist 8200dbb
mkdir build-%{_target_cpu}-linux ; cd build-%{_target_cpu}-linux
cvsdist 99bce00
GCC=gcc
cvsdist 8200dbb
%ifarch %{ix86}
cvsdist 8200dbb
BuildFlags="-march=%{_target_cpu} -D__USE_STRING_INLINES -fstrict-aliasing"
cvsdist 8200dbb
%endif
cvsdist 1ced64d
%ifarch alphaev6
cvsdist 1ced64d
BuildFlags="-mcpu=ev6"
cvsdist 1ced64d
%endif
cvsdist 99bce00
%ifarch sparc
cvsdist 99bce00
BuildFlags="-fcall-used-g7"
cvsdist 99bce00
GCC="gcc -m32"
cvsdist 99bce00
%endif
cvsdist 8200dbb
%ifarch sparcv9
cvsdist 8200dbb
BuildFlags="-mcpu=ultrasparc -fcall-used-g7"
cvsdist 99bce00
GCC="gcc -m32"
cvsdist 8200dbb
%endif
cvsdist 8200dbb
%ifarch sparc64
cvsdist 8200dbb
BuildFlags="-mcpu=ultrasparc -mvis -fcall-used-g7"
cvsdist 99bce00
GCC="gcc -m64"
cvsdist 8200dbb
%endif
cvsdist dac76f7
# Temporarily don't do this on ia64 and s390
cvsdist 987ea0c
%ifnarch ia64 s390 s390x
cvsdist dac76f7
BuildFlags="$BuildFlags -freorder-blocks"
cvsdist 1ced64d
%endif
cvsdist dac76f7
BuildFlags="$BuildFlags -DNDEBUG=1"
cvsdist 8200dbb
EnableKernel="--enable-kernel=%{enablekernel}"
cvsdist dac76f7
%ifarch %{auxarches}
cvsdist 1ced64d
EnableKernel="$EnableKernel --disable-profile"
cvsdist 1ced64d
%endif
cvsdist 987ea0c
echo "$BuildFlags" > ../BuildFlags
cvsdist 99bce00
CC="$GCC" CFLAGS="$BuildFlags -g -O3" ../configure --prefix=%{_prefix} \
cvsdist 8200dbb
	--enable-add-ons=yes --without-cvs $EnableKernel \
cvsdist 8200dbb
	%{_target_cpu}-redhat-linux
cvsdist 8200dbb
if [ -x /usr/bin/getconf ] ; then
cvsdist 8200dbb
  numprocs=$(/usr/bin/getconf _NPROCESSORS_ONLN)
cvsdist 8200dbb
  if [ $numprocs -eq 0 ]; then
cvsdist 8200dbb
    numprocs=1
cvsdist 8200dbb
  fi
cvsdist 8200dbb
else
cvsdist 8200dbb
  numprocs=1
cvsdist 8200dbb
fi
cvsdist 8200dbb
make -j$numprocs -r CFLAGS="$BuildFlags -g -O3" PARALLELMFLAGS=-s
cvsdist ab18463
gcc -static -Os ../redhat/glibc_post_upgrade.c -o glibc_post_upgrade
cvsdist 8200dbb
cvsdist 8200dbb
%install
cvsdist 8200dbb
rm -rf $RPM_BUILD_ROOT
cvsdist 8200dbb
mkdir -p $RPM_BUILD_ROOT
cvsdist 8200dbb
make install_root=$RPM_BUILD_ROOT install -C build-%{_target_cpu}-linux
cvsdist 8200dbb
cd build-%{_target_cpu}-linux && \
cvsdist 8200dbb
    make install_root=$RPM_BUILD_ROOT install-locales -C ../localedata objdir=`pwd` && \
cvsdist 8200dbb
    cd ..
cvsdist 8200dbb
cvsdist 987ea0c
%ifarch i686
cvsdist 987ea0c
rm -rf build-%{_target_cpu}-linux2.4
cvsdist 987ea0c
mkdir build-%{_target_cpu}-linux2.4 ; cd build-%{_target_cpu}-linux2.4
cvsdist 987ea0c
GCC=gcc
cvsdist 987ea0c
BuildFlags=`cat ../BuildFlags`
cvsdist 987ea0c
EnableKernel="--enable-kernel=%{enablekernel2} --disable-profile"
cvsdist 987ea0c
CC="$GCC" CFLAGS="$BuildFlags -g -O3" ../configure --prefix=%{_prefix} \
cvsdist 987ea0c
	--enable-add-ons=yes --without-cvs $EnableKernel \
cvsdist 987ea0c
	%{_target_cpu}-redhat-linux
cvsdist 987ea0c
if [ -x /usr/bin/getconf ] ; then
cvsdist 987ea0c
  numprocs=$(/usr/bin/getconf _NPROCESSORS_ONLN)
cvsdist 987ea0c
  if [ $numprocs -eq 0 ]; then
cvsdist 987ea0c
    numprocs=1
cvsdist 987ea0c
  fi
cvsdist 987ea0c
else
cvsdist 987ea0c
  numprocs=1
cvsdist 987ea0c
fi
cvsdist 987ea0c
make -j$numprocs -r CFLAGS="$BuildFlags -g -O3" PARALLELMFLAGS=-s
cvsdist 987ea0c
mkdir -p $RPM_BUILD_ROOT/lib/%{_target_cpu}/
cvsdist 987ea0c
cp -a libc.so $RPM_BUILD_ROOT/lib/%{_target_cpu}/`basename $RPM_BUILD_ROOT/lib/libc-*.so`
cvsdist 987ea0c
ln -sf `basename $RPM_BUILD_ROOT/lib/libc-*.so` $RPM_BUILD_ROOT/lib/%{_target_cpu}/`basename $RPM_BUILD_ROOT/lib/libc.so.*`
cvsdist 987ea0c
cp -a math/libm.so $RPM_BUILD_ROOT/lib/%{_target_cpu}/`basename $RPM_BUILD_ROOT/lib/libm-*.so`
cvsdist 987ea0c
ln -sf `basename $RPM_BUILD_ROOT/lib/libm-*.so` $RPM_BUILD_ROOT/lib/%{_target_cpu}/`basename $RPM_BUILD_ROOT/lib/libm.so.*`
cvsdist 987ea0c
cp -a linuxthreads/libpthread.so $RPM_BUILD_ROOT/lib/%{_target_cpu}/`basename $RPM_BUILD_ROOT/lib/libpthread-*.so`
cvsdist 987ea0c
ln -sf `basename $RPM_BUILD_ROOT/lib/libpthread-*.so` $RPM_BUILD_ROOT/lib/%{_target_cpu}/`basename $RPM_BUILD_ROOT/lib/libpthread.so.*`
cvsdist 987ea0c
strip -R .comment $RPM_BUILD_ROOT/lib/{libc,libm,libpthread}-*.so
cvsdist 987ea0c
cd ..
cvsdist 987ea0c
%endif
cvsdist 987ea0c
cvsdist 8200dbb
# compatibility hack: this locale has vanished from glibc, but some other
cvsdist 8200dbb
# programs are still using it. Normally we would handle it in the %pre
cvsdist 8200dbb
# section but with glibc that is simply not an option
cvsdist 8200dbb
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/locale/ru_RU/LC_MESSAGES
cvsdist 8200dbb
cvsdist 8200dbb
# Remove the files we don't want to distribute
cvsdist 8200dbb
rm -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libNoVersion*
cvsdist 987ea0c
%ifarch sparc64 ia64 s390 s390x
cvsdist 8200dbb
rm -f $RPM_BUILD_ROOT/%{_lib}/libNoVersion*
cvsdist 8200dbb
%endif
cvsdist 8200dbb
cvsdist 8200dbb
# the man pages for the linuxthreads require special attention
cvsdist 8200dbb
make -C linuxthreads/man
cvsdist 8200dbb
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man3
cvsdist 8200dbb
install -m 0644 linuxthreads/man/*.3thr $RPM_BUILD_ROOT%{_mandir}/man3
cvsdist 8200dbb
gzip -9nvf $RPM_BUILD_ROOT%{_mandir}/man3/*
cvsdist 8200dbb
cvsdist 8200dbb
if [ -d $RPM_BUILD_ROOT%{_prefix}/info -a "%{_infodir}" != "%{_prefix}/info" ]; then
cvsdist 8200dbb
    mkdir -p $RPM_BUILD_ROOT%{_infodir}
cvsdist 8200dbb
    mv -f $RPM_BUILD_ROOT%{_prefix}/info/* $RPM_BUILD_ROOT%{_infodir}
cvsdist 8200dbb
    rm -rf $RPM_BUILD_ROOT%{_prefix}/info
cvsdist 8200dbb
fi
cvsdist 8200dbb
cvsdist 8200dbb
gzip -9nvf $RPM_BUILD_ROOT%{_infodir}/libc*
cvsdist 8200dbb
cvsdist 8200dbb
ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libbsd.a
cvsdist 8200dbb
cvsdist 8200dbb
install -m 644 redhat/nsswitch.conf $RPM_BUILD_ROOT/etc/nsswitch.conf
cvsdist 8200dbb
cvsdist 8200dbb
# Take care of setuids
cvsdist 8200dbb
# -- new security review sez that this shouldn't be needed anymore
cvsdist 8200dbb
#chmod 755 $RPM_BUILD_ROOT%{_prefix}/libexec/pt_chown
cvsdist 8200dbb
cvsdist 8200dbb
# This is for ncsd - in glibc 2.2
cvsdist 8200dbb
install -m 644 nscd/nscd.conf $RPM_BUILD_ROOT/etc
cvsdist 8200dbb
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
cvsdist 8200dbb
install -m 755 nscd/nscd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/nscd
cvsdist 8200dbb
cvsdist 8200dbb
# Don't include ld.so.cache
cvsdist 8200dbb
rm -f $RPM_BUILD_ROOT/etc/ld.so.cache
cvsdist 8200dbb
cvsdist 8200dbb
# Include ld.so.conf
cvsdist 8200dbb
> $RPM_BUILD_ROOT/etc/ld.so.conf
cvsdist 8200dbb
chmod 644 $RPM_BUILD_ROOT/etc/ld.so.conf
cvsdist 8200dbb
cvsdist 1ced64d
# Install the upgrade program
cvsdist 1ced64d
install -m 700 build-%{_target_cpu}-linux/glibc_post_upgrade $RPM_BUILD_ROOT/usr/sbin/glibc_post_upgrade
cvsdist 1ced64d
cvsdist 8200dbb
# Strip binaries
cvsdist 8200dbb
strip -R .comment $RPM_BUILD_ROOT/sbin/* || :
cvsdist 8200dbb
strip -R .comment $RPM_BUILD_ROOT%{_prefix}/bin/* || :
cvsdist 8200dbb
strip -R .comment $RPM_BUILD_ROOT%{_prefix}/sbin/* || :
cvsdist 8200dbb
strip -R .comment $RPM_BUILD_ROOT%{_prefix}/libexec/pt_chown || :
cvsdist 8200dbb
strip -R .comment $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gconv/* || :
cvsdist 8200dbb
cvsdist dac76f7
# Hardlink identical locale files together
cvsdist e2f026e
gcc -O2 -o build-%{_target_cpu}-linux/hardlink redhat/hardlink.c
cvsdist e2f026e
build-%{_target_cpu}-linux/hardlink -vc $RPM_BUILD_ROOT%{_prefix}/lib/locale
cvsdist dac76f7
cvsdist 8200dbb
# BUILD THE FILE LIST
cvsdist 8200dbb
find $RPM_BUILD_ROOT -type f -or -type l |
cvsdist 987ea0c
	sed -e 's|.*/etc|%config &|' \
cvsdist 987ea0c
	    -e 's|.*/gconv/gconv-modules|%verify(not md5 size mtime) %config(noreplace) &|' > rpm.filelist.in
cvsdist 8200dbb
for n in %{_prefix}/share %{_prefix}/include %{_prefix}/lib/locale; do 
cvsdist 8200dbb
    find ${RPM_BUILD_ROOT}${n} -type d | \
cvsdist 99bce00
	grep -v '%{_prefix}/share$' | \
cvsdist 8200dbb
	sed "s/^/%dir /" >> rpm.filelist.in
cvsdist 8200dbb
done
cvsdist 8200dbb
cvsdist 8200dbb
# primary filelist
cvsdist dac76f7
SHARE_LANG='s|.*/share/locale/\([^/_]\+\).*/LC_MESSAGES/.*\.mo|%lang(\1) &|'
cvsdist dac76f7
LIB_LANG='s|.*/lib/locale/\([^/_]\+\)|%lang(\1) &|'
cvsdist dac76f7
# rpm does not handle %lang() tagged files hardlinked together accross
cvsdist dac76f7
# languages very well, temporarily disable
cvsdist dac76f7
LIB_LANG=''
cvsdist dac76f7
sed -e "s|$RPM_BUILD_ROOT||" -e "$LIB_LANG" -e "$SHARE_LANG" < rpm.filelist.in |
cvsdist 8200dbb
	grep -v '/etc/localtime'  | \
cvsdist 8200dbb
	grep -v '/etc/nsswitch.conf'  | \
cvsdist 8200dbb
	grep -v '/etc/ld.so.conf'  | \
cvsdist 8200dbb
	sort > rpm.filelist
cvsdist 8200dbb
cvsdist 1ced64d
grep '%{_prefix}/%{_lib}/lib.*_p\.a' < rpm.filelist > profile.filelist || :
cvsdist 8200dbb
egrep "(%{_prefix}/include)|(%{_infodir})" < rpm.filelist | 
cvsdist 8200dbb
	grep -v %{_infodir}/dir > devel.filelist
cvsdist 8200dbb
cvsdist 8200dbb
mv rpm.filelist rpm.filelist.full
cvsdist 8200dbb
grep -v '%{_prefix}/%{_lib}/lib.*_p.a' rpm.filelist.full | 
cvsdist 8200dbb
	egrep -v "(%{_prefix}/include)|(%{_infodir})" > rpm.filelist
cvsdist 8200dbb
cvsdist 8200dbb
grep '%{_prefix}/%{_lib}/lib.*\.a' < rpm.filelist >> devel.filelist
cvsdist 8200dbb
grep '%{_prefix}/%{_lib}/.*\.o' < rpm.filelist >> devel.filelist
cvsdist 8200dbb
grep '%{_prefix}/%{_lib}/lib.*\.so' < rpm.filelist >> devel.filelist
cvsdist 8200dbb
grep '%{_mandir}' < rpm.filelist >> devel.filelist
cvsdist 8200dbb
cvsdist 8200dbb
mv rpm.filelist rpm.filelist.full
cvsdist 8200dbb
grep -v '%{_prefix}/%{_lib}/lib.*\.a' < rpm.filelist.full |
cvsdist 8200dbb
	grep -v '%{_prefix}/%{_lib}/.*\.o' |
cvsdist 8200dbb
	grep -v '%{_prefix}/%{_lib}/lib.*\.so'|
cvsdist 8200dbb
	grep -v '%{_mandir}' | 
cvsdist 8200dbb
	grep -v 'nscd' > rpm.filelist
cvsdist dac76f7
	
cvsdist dac76f7
grep '%{_prefix}/bin' < rpm.filelist >> common.filelist
cvsdist dac76f7
grep '%{_prefix}/lib/locale' < rpm.filelist >> common.filelist
cvsdist dac76f7
grep '%{_prefix}/libexec' < rpm.filelist >> common.filelist
cvsdist dac76f7
grep '%{_prefix}/sbin/[^g]' < rpm.filelist >> common.filelist
cvsdist dac76f7
grep '%{_prefix}/share' < rpm.filelist >> common.filelist
cvsdist dac76f7
cvsdist dac76f7
mv rpm.filelist rpm.filelist.full
cvsdist dac76f7
grep -v '%{_prefix}/bin' < rpm.filelist.full |
cvsdist dac76f7
	grep -v '%{_prefix}/lib/locale' |
cvsdist dac76f7
	grep -v '%{_prefix}/libexec' | 
cvsdist dac76f7
	grep -v '%{_prefix}/sbin/[^g]' |
cvsdist dac76f7
	grep -v '%{_prefix}/share' > rpm.filelist
cvsdist 8200dbb
cvsdist 8200dbb
# /etc/localtime - we're proud of our timezone
cvsdist 8200dbb
rm -f $RPM_BUILD_ROOT/etc/localtime
cvsdist 8200dbb
cp -f $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo/US/Eastern $RPM_BUILD_ROOT/etc/localtime
cvsdist 8200dbb
#ln -sf ..%{_prefix}/share/zoneinfo/US/Eastern $RPM_BUILD_ROOT/etc/localtime
cvsdist 8200dbb
cvsdist 8200dbb
# the last bit: more documentation
cvsdist 8200dbb
rm -rf documentation
cvsdist 8200dbb
mkdir documentation
cvsdist 8200dbb
cp linuxthreads/ChangeLog  documentation/ChangeLog.threads
cvsdist 8200dbb
cp linuxthreads/Changes documentation/Changes.threads
cvsdist 8200dbb
cp linuxthreads/README documentation/README.threads
cvsdist 8200dbb
cp linuxthreads/FAQ.html documentation/FAQ-threads.html
cvsdist 8200dbb
cp -r linuxthreads/Examples documentation/examples.threads
cvsdist 8200dbb
cp crypt/README.ufc-crypt documentation/README.ufc-crypt
cvsdist 8200dbb
cp timezone/README documentation/README.timezone
cvsdist 8200dbb
cp ChangeLog* documentation
cvsdist 8200dbb
gzip -9 documentation/ChangeLog*
cvsdist 8200dbb
cvsdist 1ced64d
%post -p /usr/sbin/glibc_post_upgrade
cvsdist 8200dbb
cvsdist 8200dbb
%postun -p /sbin/ldconfig
cvsdist 8200dbb
cvsdist 8200dbb
%post devel
cvsdist 8200dbb
/sbin/install-info %{_infodir}/libc.info.gz %{_infodir}/dir
cvsdist 8200dbb
cvsdist 8200dbb
%pre devel
cvsdist 8200dbb
# this used to be a link and it is causing nightmares now
cvsdist 8200dbb
if [ -L %{_prefix}/include/scsi ] ; then
cvsdist 8200dbb
    rm -f %{_prefix}/include/scsi
cvsdist 8200dbb
fi
cvsdist 8200dbb
cvsdist 8200dbb
%preun devel
cvsdist 8200dbb
if [ "$1" = 0 ]; then
cvsdist 8200dbb
    /sbin/install-info --delete %{_infodir}/libc.info.gz %{_infodir}/dir
cvsdist 8200dbb
fi
cvsdist 8200dbb
cvsdist 8200dbb
%pre -n nscd
cvsdist 8200dbb
/usr/sbin/useradd -M -o -r -d / -s /bin/false \
cvsdist 8200dbb
	-c "NSCD Daemon" -u 28 nscd > /dev/null 2>&1 || :
cvsdist 8200dbb
cvsdist 8200dbb
%post -n nscd
cvsdist 8200dbb
/sbin/chkconfig --add nscd
cvsdist 8200dbb
cvsdist 8200dbb
%preun -n nscd
cvsdist 8200dbb
if [ $1 = 0 ] ; then
cvsdist 8200dbb
    service nscd stop > /dev/null 2>&1
cvsdist 8200dbb
    /sbin/chkconfig --del nscd
cvsdist 8200dbb
fi
cvsdist 8200dbb
cvsdist 8200dbb
%postun -n nscd
cvsdist 8200dbb
if [ $1 = 0 ] ; then
cvsdist 8200dbb
    /usr/sbin/userdel nscd > /dev/null 2>&1 || :
cvsdist 8200dbb
fi
cvsdist 8200dbb
if [ "$1" -ge "1" ]; then
cvsdist 8200dbb
    service nscd condrestart > /dev/null 2>&1 || :
cvsdist 8200dbb
fi
cvsdist 8200dbb
cvsdist 8200dbb
%clean
cvsdist 8200dbb
rm -rf "$RPM_BUILD_ROOT"
cvsdist 8200dbb
rm -f *.filelist*
cvsdist 8200dbb
cvsdist 8200dbb
%files -f rpm.filelist
cvsdist 8200dbb
%defattr(-,root,root)
cvsdist 8200dbb
%verify(not md5 size mtime) %config(noreplace) /etc/localtime
cvsdist 8200dbb
%verify(not md5 size mtime) %config(noreplace) /etc/nsswitch.conf
cvsdist 8200dbb
%verify(not md5 size mtime) %config(noreplace) /etc/ld.so.conf
cvsdist 8200dbb
%doc README NEWS INSTALL FAQ BUGS NOTES PROJECTS CONFORMANCE
cvsdist dac76f7
%doc COPYING COPYING.LIB README.template README.libm
cvsdist 8200dbb
%doc hesiod/README.hesiod
cvsdist 8200dbb
cvsdist 99bce00
%ifnarch %{auxarches}
cvsdist dac76f7
%files -f common.filelist common
cvsdist dac76f7
%defattr(-,root,root)
cvsdist dac76f7
%doc documentation/*
cvsdist dac76f7
cvsdist 8200dbb
%files -f devel.filelist devel
cvsdist 8200dbb
%defattr(-,root,root)
cvsdist 8200dbb
cvsdist 8200dbb
%files -f profile.filelist profile
cvsdist 8200dbb
%defattr(-,root,root)
cvsdist 8200dbb
cvsdist 8200dbb
%files -n nscd
cvsdist 8200dbb
%defattr(-,root,root)
cvsdist dac76f7
%config(noreplace) /etc/nscd.conf
cvsdist dac76f7
%config /etc/rc.d/init.d/nscd
cvsdist 8200dbb
%{_prefix}/sbin/nscd
cvsdist 8200dbb
%endif
cvsdist 8200dbb
cvsdist 8200dbb
%changelog
cvsdist e2f026e
* Tue May 22 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist e2f026e
- fix #include <signal.h> with -D_XOPEN_SOURCE=500 on ia64 (#35968)
cvsdist e2f026e
- fix a dlclose reldeps handling bug
cvsdist e2f026e
- some more profiling fixes
cvsdist e2f026e
- fix tgmath.h
cvsdist e2f026e
cvsdist e2f026e
* Thu May 17 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist e2f026e
- make ldconfig more quiet
cvsdist e2f026e
- fix LD_PROFILE on i686 (#41030)
cvsdist e2f026e
cvsdist e2f026e
* Wed May 16 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist e2f026e
- fix the hardlink program, so that it really catches all files with
cvsdist e2f026e
  identical content
cvsdist e2f026e
- add a s390x clone fix
cvsdist e2f026e
cvsdist e2f026e
* Wed May 16 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist e2f026e
- fix rpc for non-threaded apps using svc_fdset and similar variables (#40409)
cvsdist e2f026e
- fix nss compatibility DSO versions for alphaev6
cvsdist e2f026e
- add a hardlink program instead of the shell 3x for plus cmp -s/link
cvsdist e2f026e
  which takes a lot of time during build
cvsdist e2f026e
- rework BuildPreReq and Conflicts with gcc, so that
cvsdist e2f026e
  it applies only where it has to
cvsdist e2f026e
cvsdist e2f026e
* Fri May 11 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist e2f026e
- fix locale name of ja_JP in UTF-8 (#39783)
cvsdist e2f026e
- fix re_search_2 (#40244)
cvsdist e2f026e
- fix memusage script (#39138, #39823)
cvsdist e2f026e
- fix dlsym(RTLD_NEXT, ) from main program (#39803)
cvsdist e2f026e
- fix xtrace script (#39609)
cvsdist e2f026e
- make glibc conflict with glibc-devel 2.2.2 and below (to make sure
cvsdist e2f026e
  libc_nonshared.a has atexit)
cvsdist e2f026e
- fix getconf LFS_CFLAGS on 64bitters
cvsdist e2f026e
- recompile with gcc-2.96-84 or above to fix binary compatibility problem
cvsdist e2f026e
  with __frame_state_for function (#37933)
cvsdist e2f026e
cvsdist e2f026e
* Fri Apr 27 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist e2f026e
- glibc 2.2.3 release
cvsdist e2f026e
  - fix strcoll (#36539)
cvsdist e2f026e
- add BuildPreReqs (#36378)
cvsdist e2f026e
cvsdist e2f026e
* Wed Apr 25 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist e2f026e
- update from CVS
cvsdist e2f026e
cvsdist e2f026e
* Fri Apr 20 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist e2f026e
- update from CVS
cvsdist e2f026e
  - fix sparc64, ia64
cvsdist e2f026e
  - fix some locale syntax errors (#35982)
cvsdist e2f026e
cvsdist e2f026e
* Wed Apr 18 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist e2f026e
- update from CVS
cvsdist e2f026e
cvsdist e2f026e
* Wed Apr 11 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist e2f026e
- update from CVS
cvsdist e2f026e
cvsdist 987ea0c
* Fri Apr  6 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist 987ea0c
- support even 2.4.0 kernels on ia64, sparc64 and s390x
cvsdist 987ea0c
- include UTF-8 locales
cvsdist 987ea0c
- make gconv-modules %%config(noreplace)
cvsdist 987ea0c
cvsdist 987ea0c
* Fri Mar 23 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist 987ea0c
- back out sunrpc changes
cvsdist 987ea0c
cvsdist 987ea0c
* Wed Mar 21 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist 987ea0c
- update from CVS
cvsdist 987ea0c
  - fix ia64 build
cvsdist 987ea0c
  - fix pthread_getattr_np
cvsdist 987ea0c
cvsdist 987ea0c
* Fri Mar 16 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist 987ea0c
- update from CVS
cvsdist 987ea0c
  - run atexit() registered functions at dlclose time if they are in shared
cvsdist 987ea0c
    libraries (#28625)
cvsdist 987ea0c
  - add pthread_getattr_np API to make JVM folks happy
cvsdist 987ea0c
cvsdist 987ea0c
* Wed Mar 14 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist 987ea0c
- require 2.4.1 instead of 2.4.0 on platforms where it required 2.4 kernel
cvsdist 987ea0c
- fix ldd behaviour on unresolved symbols
cvsdist 987ea0c
- remove nonsensical ldconfig warning, update osversion for the most
cvsdist 987ea0c
  recent library with the same soname in the same directory instead (#31703)
cvsdist 987ea0c
- apply selected patches from CVS
cvsdist 987ea0c
- s390x spec file changes from Florian La Roche
cvsdist 987ea0c
cvsdist 987ea0c
* Wed Mar  7 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist 987ea0c
- fix gencat (#30894)
cvsdist 987ea0c
- fix ldconfig changes from yesterday, fix LD_ASSUME_KERNEL handling
cvsdist 987ea0c
cvsdist 987ea0c
* Tue Mar  6 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist 987ea0c
- update from CVS
cvsdist 987ea0c
- make pthread_attr_setstacksize consistent before and after pthread manager
cvsdist 987ea0c
  is started (#28194)
cvsdist 987ea0c
- pass back struct sigcontext from pthread signal wrapper (on ia32 only so
cvsdist 987ea0c
  far, #28493)
cvsdist 987ea0c
- on i686 ship both --enable-kernel 2.2.5 and 2.4.0 libc/libm/libpthread,
cvsdist 987ea0c
  make ld.so pick the right one
cvsdist 987ea0c
cvsdist 987ea0c
* Sat Feb 17 2001 Preston Brown <pbrown@redhat.com>
cvsdist 987ea0c
- glib-common doesn't require glibc, until we can figure out how to get out of dependency hell.
cvsdist 987ea0c
cvsdist 987ea0c
* Sat Feb 17 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist 987ea0c
- make glibc require particular version of glibc-common
cvsdist 987ea0c
  and glibc-common prerequire glibc.
cvsdist 987ea0c
cvsdist 987ea0c
* Fri Feb 16 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist 987ea0c
- glibc 2.2.2 release
cvsdist 987ea0c
  - fix regex REG_ICASE bug seen in ksymoops
cvsdist 987ea0c
cvsdist 987ea0c
* Sat Feb 10 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist 987ea0c
- fix regexec leaking memory (#26864)
cvsdist 987ea0c
cvsdist 987ea0c
* Fri Feb  9 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist 987ea0c
- update from CVS
cvsdist 987ea0c
  - fix ia64 build with gnupro
cvsdist 987ea0c
  - make regex 64bit clean
cvsdist 987ea0c
  - fix tgmath make check failures on alpha
cvsdist 987ea0c
cvsdist 987ea0c
* Tue Feb  6 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist 987ea0c
- update again for ia64 DF_1_INITFIRST
cvsdist 987ea0c
cvsdist 987ea0c
* Fri Feb  2 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist 987ea0c
- update from CVS
cvsdist 987ea0c
  - fix getaddrinfo (#25437)
cvsdist 987ea0c
  - support DF_1_INITFIRST (#25029)
cvsdist 987ea0c
cvsdist dac76f7
* Wed Jan 24 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist dac76f7
- build all auxiliary arches with --enablekernel 2.4.0, those wanting
cvsdist dac76f7
  to run 2.2 kernels can downgrade to the base architecture glibc.
cvsdist dac76f7
cvsdist dac76f7
* Sat Jan 20 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist dac76f7
- remove %%lang() flags from %%{_prefix}/lib/locale files temporarily
cvsdist dac76f7
cvsdist dac76f7
* Sun Jan 14 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist dac76f7
- update to 2.2.1 final
cvsdist dac76f7
  - fix a pthread_kill_other_threads_np breakage (#23966)
cvsdist dac76f7
  - make static binaries using dlopen work on ia64 again
cvsdist dac76f7
- fix a typo in glibc-common group
cvsdist dac76f7
cvsdist dac76f7
* Wed Jan 10 2001 Bernhard Rosenkraenzer <bero@redhat.com>
cvsdist dac76f7
- devel requires glibc = %%{version}
cvsdist dac76f7
- noreplace /etc/nscd.conf
cvsdist dac76f7
cvsdist dac76f7
* Wed Jan 10 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist dac76f7
- some more security fixes:
cvsdist dac76f7
  - don't look up LD_PRELOAD libs in cache for SUID apps
cvsdist dac76f7
    (because that bypasses SUID bit checking on the library)
cvsdist dac76f7
  - place output files for profiling SUID apps into /var/profile,
cvsdist dac76f7
    use O_NOFOLLOW for them
cvsdist dac76f7
  - add checks for $MEMUSAGE_OUTPUT and $SEGFAULT_OUTPUT_NAME
cvsdist dac76f7
- hardlink identical locale files together
cvsdist dac76f7
- add %%lang() tags to locale stuff
cvsdist dac76f7
- remove ko_KR.utf8 for now, it is provided by locale-utf8 package
cvsdist dac76f7
cvsdist dac76f7
* Mon Jan  8 2001 Jakub Jelinek <jakub@redhat.com>
cvsdist dac76f7
- add glibc-common subpackage
cvsdist dac76f7
- fix alphaev6 memcpy (#22494)
cvsdist dac76f7
- fix sys/cdefs.h (#22908)
cvsdist dac76f7
- don't define stdin/stdout/stderr as macros for -traditional (#22913)
cvsdist dac76f7
- work around a bug in IBM JDK (#22932, #23012)
cvsdist dac76f7
- fix pmap_unset when network is down (#23176)
cvsdist dac76f7
- move nscd in rc.d before netfs on shutdown
cvsdist dac76f7
- fix $RESOLV_HOST_CONF in SUID apps (#23562)
cvsdist dac76f7
cvsdist 99bce00
* Fri Dec 15 2000 Jakub Jelinek <jakub@redhat.com>
cvsdist 99bce00
- fix ftw and nftw
cvsdist 99bce00
cvsdist 99bce00
* Wed Dec 13 2000 Jakub Jelinek <jakub@redhat.com>
cvsdist 99bce00
- fix fcvt (#22184)
cvsdist 99bce00
- ldd /lib/ld-linux.so.2 is not crashing any longer again (#22197)
cvsdist 99bce00
- fix gencat
cvsdist 99bce00
cvsdist 99bce00
* Mon Dec 11 2000 Jakub Jelinek <jakub@redhat.com>
cvsdist 99bce00
- fix alpha htonl and alphaev6 stpcpy
cvsdist 99bce00
cvsdist 99bce00
* Sat Dec  9 2000 Jakub Jelinek <jakub@redhat.com>
cvsdist 99bce00
- update to CVS to:
cvsdist 99bce00
  - fix getnameinfo (#21934)
cvsdist 99bce00
  - don't stomp on memory in rpath handling (#21544)
cvsdist 99bce00
  - fix setlocale (#21507)
cvsdist 99bce00
- fix libNoVersion.so.1 loading code (#21579)
cvsdist 99bce00
- use auxarches define in spec file for auxiliary
cvsdist 99bce00
  architectures (#21219)
cvsdist 99bce00
- remove /usr/share directory from filelist (#21218)
cvsdist dc652d4
cvsdist 3bf2920
* Sun Nov 19 2000 Jakub Jelinek <jakub@redhat.com>
cvsdist 3bf2920
- update to CVS to fix getaddrinfo
cvsdist 3bf2920
cvsdist 3bf2920
* Fri Nov 17 2000 Jakub Jelinek <jakub@redhat.com>
cvsdist 3bf2920
- update to CVS to fix freopen
cvsdist 3bf2920
- remove all alpha workarounds, not needed anymore
cvsdist 3bf2920
cvsdist 3bf2920
* Wed Nov 15 2000 Jakub Jelinek <jakub@redhat.com>
cvsdist 3bf2920
- fix dladdr bug on alpha/sparc32/sparc64
cvsdist 3bf2920
- fix Makefiles so that they run static tests properly
cvsdist 3bf2920
cvsdist 3bf2920
* Tue Nov 14 2000 Jakub Jelinek <jakub@redhat.com>
cvsdist 3bf2920
- update to CVS to fix ldconfig
cvsdist 3bf2920
cvsdist 3bf2920
* Thu Nov  9 2000 Jakub Jelinek <jakub@redhat.com>
cvsdist 3bf2920
- update to glibc 2.2 release
cvsdist 3bf2920
cvsdist 3bf2920
* Mon Nov  6 2000 Jakub Jelinek <jakub@redhat.com>
cvsdist 3bf2920
- update to CVS to:
cvsdist 3bf2920
  - export __sysconf@@GLIBC_2.2 (#20417)
cvsdist 3bf2920
cvsdist 3bf2920
* Fri Nov  3 2000 Jakub Jelinek <jakub@redhat.com>
cvsdist 3bf2920
- merge to 2.1.97
cvsdist 3bf2920
cvsdist 3bf2920
* Mon Oct 30 2000 Jakub Jelinek <jakub@redhat.com>
cvsdist 3bf2920
- update to CVS, including:
cvsdist 3bf2920
  - fix WORD_BIT/LONG_BIT definition in limits.h (#19088)
cvsdist 3bf2920
  - fix hesiod (#19375)
cvsdist 3bf2920
  - set LC_MESSAGES in zic/zdump for proper error message output (#19495)
cvsdist 3bf2920
  - fix LFS fcntl when used with non-LFS aware kernels (#19730)
cvsdist 3bf2920
cvsdist b32d7ee
* Thu Oct 19 2000 Jakub Jelinek <jakub@redhat.com>
cvsdist b32d7ee
- fix alpha semctl (#19199)
cvsdist b32d7ee
- update to CVS, including:
cvsdist b32d7ee
  - fix glibc headers for Compaq non-gcc compilers
cvsdist b32d7ee
  - fix locale alias handling code (#18832)
cvsdist b32d7ee
  - fix rexec on little endian machines (#18886)
cvsdist b32d7ee
- started writing changelog again
cvsdist 3bf2920
cvsdist 3bf2920
* Thu Aug 10 2000 Adrian Havill <havill@redhat.com>
cvsdist 3bf2920
- added ja ujis alias for backwards compatibility