From 8200dbbd45ec46eeaf2a5d25424786d8f9ef457d Mon Sep 17 00:00:00 2001 From: cvsdist Date: Sep 09 2004 05:16:54 +0000 Subject: auto-import changelog data from glibc-2.1.92-14.src.rpm Wed Aug 30 2000 Jakub Jelinek - build from CVS archive --- diff --git a/.cvsignore b/.cvsignore index e69de29..536ff86 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +glibc-2.1.92.tar.gz diff --git a/glibc.spec b/glibc.spec new file mode 100644 index 0000000..e0cb949 --- /dev/null +++ b/glibc.spec @@ -0,0 +1,343 @@ +%define linux24 0 +%define glibcrelease 14 +Summary: The GNU libc libraries. +Name: glibc +Version: 2.1.92 +%if %{linux24} +Release: %{glibcrelease}.2.4 +%else +Release: %{glibcrelease} +%endif +Copyright: LGPL +Group: System Environment/Libraries +Source: %{name}-%{version}.tar.gz +# In the source tarball the file diff-CYGNUS-to-REDHAT.patch contains all +# diffs applied by Red Hat to the current CVS version of glibc +Buildroot: /var/tmp/glibc-%{PACKAGE_VERSION}-root +Obsoletes: zoneinfo, libc-static, libc-devel, libc-profile, libc-headers, +Obsoletes: linuxthreads, gencat, locale, ldconfig, locale-ja +Provides: ldconfig +Autoreq: false +%ifarch alpha +Provides: ld.so.2 +%else +%endif +%ifarch sparc +Obsoletes: libc +%endif +Prereq: basesystem +Conflicts: rpm <= 4.0-0.65 +ExcludeArch: ia64 +Patch: glibc-kernel-2.4.patch +%if %{linux24} +Conflicts: kernel < 2.4.0 +%define enablekernel 2.4.0 +%else +%define enablekernel 2.2.5 +%endif + +%description +The glibc package contains standard libraries which are used by +multiple programs on the system. In order to save disk space and +memory, as well as to make upgrading easier, common system code is +kept in one place and shared between programs. This particular package +contains the most important sets of shared libraries: the standard C +library and the standard math library. Without these two libraries, a +Linux system will not function. The glibc package also contains +national language (locale) support and timezone databases. + +%package devel +Summary: Header and object files for development using standard C libraries. +Group: Development/Libraries +Conflicts: texinfo < 3.11 +Prereq: /sbin/install-info +Obsoletes: libc-debug, libc-headers, libc-devel, linuxthreads-devel +Obsoletes: glibc-debug +Prereq: kernel-headers +Requires: kernel-headers >= 2.2.1 +Autoreq: true + +%description devel +The glibc-devel package contains the header and object files necessary +for developing programs which use the standard C libraries (which are +used by nearly all programs). If you are developing programs which +will use the standard C libraries, your system needs to have these +standard header and object files available in order to create the +executables. + +Install glibc-devel if you are going to develop programs which will +use the standard C libraries. + +%package profile +Summary: The GNU libc libraries, including support for gprof profiling. +Group: Development/Libraries +Obsoletes: libc-profile +Autoreq: true + +%description profile +The glibc-profile package includes the GNU libc libraries and support +for profiling using the gprof program. Profiling is analyzing a +program's functions to see how much CPU time they use and determining +which functions are calling other functions during execution. To use +gprof to profile a program, your program needs to use the GNU libc +libraries included in glibc-profile (instead of the standard GNU libc +libraries included in the glibc package). + +If you are going to use the gprof program to profile a program, you'll +need to install the glibc-profile program. + +%package -n nscd +Summary: A Name Service Caching Daemon (nscd). +Group: System Environment/Daemons +Conflicts: kernel < 2.2.0 +Prereq: /sbin/chkconfig, /usr/sbin/useradd, /usr/sbin/userdel +Autoreq: true + +%description -n nscd +Nscd caches name service lookups and can dramatically improve +performance with NIS+, and may help with DNS as well. Note that you +can't use nscd with 2.0 kernels because of bugs in the kernel-side +thread support. Unfortunately, nscd happens to hit these bugs +particularly hard. + +Install nscd if you need a name service lookup caching daemon, and +you're not using a version 2.0 kernel. + +%prep +%setup -q +%if %{linux24} +# If we are building enablekernel 2.4.0 glibc on older kernel, +# we have to make sure no binaries compiled against that glibc +# are ever run +case `uname -r` in +[01].*|2.[0-3]*) +%patch -p1 +;; esac +%endif + +%ifarch armv4l sparc64 ia64 +rm -rf glibc-compat +%endif + +find . -type f -size 0 -o -name "*.orig" -exec rm -f {} \; + +%build +rm -rf build-%{_target_cpu}-linux +mkdir build-%{_target_cpu}-linux ; cd build-%{_target_cpu}-linux +%ifarch %{ix86} +BuildFlags="-march=%{_target_cpu} -D__USE_STRING_INLINES -fstrict-aliasing" +%endif +%ifarch sparcv9 +BuildFlags="-mcpu=ultrasparc -fcall-used-g7" +%endif +%ifarch sparc64 +BuildFlags="-mcpu=ultrasparc -mvis -fcall-used-g7" +%endif +BuildFlags="$BuildFlags -freorder-blocks -DNDEBUG=1" +EnableKernel="--enable-kernel=%{enablekernel}" +%if %{linux24} +EnableKernel="$EnableKernel --disable-profile" +%endif +CC=gcc CFLAGS="$BuildFlags -g -O3" ../configure --prefix=%{_prefix} \ + --enable-add-ons=yes --without-cvs $EnableKernel \ + %{_target_cpu}-redhat-linux +if [ -x /usr/bin/getconf ] ; then + numprocs=$(/usr/bin/getconf _NPROCESSORS_ONLN) + if [ $numprocs -eq 0 ]; then + numprocs=1 + fi +else + numprocs=1 +fi +make -j$numprocs -r CFLAGS="$BuildFlags -g -O3" PARALLELMFLAGS=-s + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT +make install_root=$RPM_BUILD_ROOT install -C build-%{_target_cpu}-linux +cd build-%{_target_cpu}-linux && \ + make install_root=$RPM_BUILD_ROOT install-locales -C ../localedata objdir=`pwd` && \ + cd .. + +# compatibility hack: this locale has vanished from glibc, but some other +# programs are still using it. Normally we would handle it in the %pre +# section but with glibc that is simply not an option +mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/locale/ru_RU/LC_MESSAGES + +# Remove the files we don't want to distribute +rm -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libNoVersion* +%ifarch sparc64 ia64 +rm -f $RPM_BUILD_ROOT/%{_lib}/libNoVersion* +%endif + +# the man pages for the linuxthreads require special attention +make -C linuxthreads/man +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man3 +install -m 0644 linuxthreads/man/*.3thr $RPM_BUILD_ROOT%{_mandir}/man3 +gzip -9nvf $RPM_BUILD_ROOT%{_mandir}/man3/* + +if [ -d $RPM_BUILD_ROOT%{_prefix}/info -a "%{_infodir}" != "%{_prefix}/info" ]; then + mkdir -p $RPM_BUILD_ROOT%{_infodir} + mv -f $RPM_BUILD_ROOT%{_prefix}/info/* $RPM_BUILD_ROOT%{_infodir} + rm -rf $RPM_BUILD_ROOT%{_prefix}/info +fi + +gzip -9nvf $RPM_BUILD_ROOT%{_infodir}/libc* + +ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libbsd.a + +install -m 644 redhat/nsswitch.conf $RPM_BUILD_ROOT/etc/nsswitch.conf + +# Take care of setuids +# -- new security review sez that this shouldn't be needed anymore +#chmod 755 $RPM_BUILD_ROOT%{_prefix}/libexec/pt_chown + +# This is for ncsd - in glibc 2.2 +install -m 644 nscd/nscd.conf $RPM_BUILD_ROOT/etc +mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d +install -m 755 nscd/nscd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/nscd + +# Don't include ld.so.cache +rm -f $RPM_BUILD_ROOT/etc/ld.so.cache + +# Include ld.so.conf +> $RPM_BUILD_ROOT/etc/ld.so.conf +chmod 644 $RPM_BUILD_ROOT/etc/ld.so.conf + +# Strip binaries +strip -R .comment $RPM_BUILD_ROOT/sbin/* || : +strip -R .comment $RPM_BUILD_ROOT%{_prefix}/bin/* || : +strip -R .comment $RPM_BUILD_ROOT%{_prefix}/sbin/* || : +strip -R .comment $RPM_BUILD_ROOT%{_prefix}/libexec/pt_chown || : +strip -R .comment $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gconv/* || : + +# BUILD THE FILE LIST +find $RPM_BUILD_ROOT -type f -or -type l | + sed -e 's|.*/etc|%config &|' -e 's|.*/gconv/gconv-modules|%config &|' > rpm.filelist.in +for n in %{_prefix}/share %{_prefix}/include %{_prefix}/lib/locale; do + find ${RPM_BUILD_ROOT}${n} -type d | \ + grep -v '^%{_prefix}/share$' | \ + sed "s/^/%dir /" >> rpm.filelist.in +done + +# primary filelist +sed "s|$RPM_BUILD_ROOT||" < rpm.filelist.in | + grep -v '/etc/localtime' | \ + grep -v '/etc/nsswitch.conf' | \ + grep -v '/etc/ld.so.conf' | \ + sort > rpm.filelist + +%if !%{linux24} +grep '%{_prefix}/%{_lib}/lib.*_p\.a' < rpm.filelist > profile.filelist +%endif +egrep "(%{_prefix}/include)|(%{_infodir})" < rpm.filelist | + grep -v %{_infodir}/dir > devel.filelist + +mv rpm.filelist rpm.filelist.full +grep -v '%{_prefix}/%{_lib}/lib.*_p.a' rpm.filelist.full | + egrep -v "(%{_prefix}/include)|(%{_infodir})" > rpm.filelist + +grep '%{_prefix}/%{_lib}/lib.*\.a' < rpm.filelist >> devel.filelist +grep '%{_prefix}/%{_lib}/.*\.o' < rpm.filelist >> devel.filelist +grep '%{_prefix}/%{_lib}/lib.*\.so' < rpm.filelist >> devel.filelist +grep '%{_mandir}' < rpm.filelist >> devel.filelist + +mv rpm.filelist rpm.filelist.full +grep -v '%{_prefix}/%{_lib}/lib.*\.a' < rpm.filelist.full | + grep -v '%{_prefix}/%{_lib}/.*\.o' | + grep -v '%{_prefix}/%{_lib}/lib.*\.so'| + grep -v '%{_mandir}' | + grep -v 'nscd' > rpm.filelist + +# /etc/localtime - we're proud of our timezone +rm -f $RPM_BUILD_ROOT/etc/localtime +cp -f $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo/US/Eastern $RPM_BUILD_ROOT/etc/localtime +#ln -sf ..%{_prefix}/share/zoneinfo/US/Eastern $RPM_BUILD_ROOT/etc/localtime + +# the last bit: more documentation +rm -rf documentation +mkdir documentation +cp linuxthreads/ChangeLog documentation/ChangeLog.threads +cp linuxthreads/Changes documentation/Changes.threads +cp linuxthreads/README documentation/README.threads +cp linuxthreads/FAQ.html documentation/FAQ-threads.html +cp -r linuxthreads/Examples documentation/examples.threads +cp crypt/README.ufc-crypt documentation/README.ufc-crypt +cp timezone/README documentation/README.timezone +cp ChangeLog* documentation +gzip -9 documentation/ChangeLog* + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%post devel +/sbin/install-info %{_infodir}/libc.info.gz %{_infodir}/dir + +%pre devel +# this used to be a link and it is causing nightmares now +if [ -L %{_prefix}/include/scsi ] ; then + rm -f %{_prefix}/include/scsi +fi + +%preun devel +if [ "$1" = 0 ]; then + /sbin/install-info --delete %{_infodir}/libc.info.gz %{_infodir}/dir +fi + +%pre -n nscd +/usr/sbin/useradd -M -o -r -d / -s /bin/false \ + -c "NSCD Daemon" -u 28 nscd > /dev/null 2>&1 || : + +%post -n nscd +/sbin/chkconfig --add nscd + +%preun -n nscd +if [ $1 = 0 ] ; then + service nscd stop > /dev/null 2>&1 + /sbin/chkconfig --del nscd +fi + +%postun -n nscd +if [ $1 = 0 ] ; then + /usr/sbin/userdel nscd > /dev/null 2>&1 || : +fi +if [ "$1" -ge "1" ]; then + service nscd condrestart > /dev/null 2>&1 || : +fi + +%clean +rm -rf "$RPM_BUILD_ROOT" +rm -f *.filelist* + +%files -f rpm.filelist +%defattr(-,root,root) +%verify(not md5 size mtime) %config(noreplace) /etc/localtime +%verify(not md5 size mtime) %config(noreplace) /etc/nsswitch.conf +%verify(not md5 size mtime) %config(noreplace) /etc/ld.so.conf +%doc README NEWS INSTALL FAQ BUGS NOTES PROJECTS CONFORMANCE +%doc COPYING COPYING.LIB +%doc documentation/* README.template README.libm +%doc hesiod/README.hesiod + +%if !%{linux24} +%ifnarch sparcv9 i586 i686 athlon +%files -f devel.filelist devel +%defattr(-,root,root) + +%files -f profile.filelist profile +%defattr(-,root,root) + +%files -n nscd +%defattr(-,root,root) +%config /etc/nscd.conf +/etc/rc.d/init.d/nscd +%{_prefix}/sbin/nscd +%endif +%endif + +%define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`) + +%changelog +* %{date} Jakub Jelinek +- build from CVS archive diff --git a/sources b/sources index e69de29..a9c6b66 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +a6b136adf676c56e9f4c08ba61c4c5bd glibc-2.1.92.tar.gz