Please do not reply directly to this email. All additional comments should be made in the comments box of this bug report. Summary: Merge Review: glibc https://bugzilla.redhat.com/show_bug.cgi?id=225806 ------- Additional Comments From tcallawa@xxxxxxxxxx 2008-01-31 15:19 EST ------- OK, this was not as bad as I'd originally thought it would be. Here is a commented diff between the existing devel spec and my cleaned up spec (which I will attach to this bug ticket): # First section # There is no need to define macros that have the same values as Name, Version # and Release. Also, lets use %{glibcdate} to generate glibcsrcdir. @@ -1,9 +1,6 @@ %define glibcdate 20080131T0821 -%define glibcname glibc -%define glibcsrcdir glibc-20080131T0821 +%define glibcsrcdir glibc-%{glibcdate} %define glibc_release_tarballs 0 -%define glibcversion 2.7.90 -%define glibcrelease 5 %define run_glibc_tests 1 %define auxarches i586 i686 athlon sparcv9v sparc64v alphaev6 %define xenarches i686 athlon # We really don't want to use hacks here, especially # _unpackaged_files_terminate_build. glibc doesn't even # need it. Drop the summary period, and put the version/release here. @@ -21,11 +18,13 @@ %endif %define rtkaioarches %{ix86} x86_64 ia64 ppc ppc64 s390 s390x %define debuginfocommonarches %{ix86} alpha alphaev6 sparc sparcv9 sparcv9v sparc64 sparc64v -%define _unpackaged_files_terminate_build 0 -Summary: The GNU libc libraries. + +Summary: The GNU libc libraries Name: glibc -Version: %{glibcversion} -Release: %{glibcrelease} +Version: 2.7.90 +# Normally, we'd embed the checkout tag in the release, but since glibc changes +# checkout tag with every release, it is somewhat pointless to do so. +Release: 6 # GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries. # Things that are linked directly into dynamically linked programs # and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional # Add the upstream URL. # Use "name" rather than "glibcname". # Fix the buildroot to comply with Fedora standards # Drop the ancient obsoletes, conflicts. We only keep conflicts around for 3 # releases. # Get rid of AutoReq: false. # Use BuildRequires instead of BuildPreReq @@ -33,48 +32,56 @@ # libraries without restrictions. License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ Group: System Environment/Libraries +URL: http://sources.redhat.com/glibc/ Source0: %{glibcsrcdir}.tar.bz2 %if %{glibc_release_tarballs} Source1: %(echo %{glibcsrcdir} | sed s/glibc-/glibc-linuxthreads-/).tar.bz2 Source2: %(echo %{glibcsrcdir} | sed s/glibc-/glibc-libidn-/).tar.bz2 %define glibc_release_unpack -a1 -a2 %endif -Source3: %{glibcname}-fedora-%{glibcdate}.tar.bz2 -Patch0: %{glibcname}-fedora.patch +Source3: %{name}-fedora-%{glibcdate}.tar.bz2 +Patch0: %{name}-fedora.patch Patch1: %{name}-ia64-lib64.patch -Buildroot: %{_tmppath}/glibc-%{PACKAGE_VERSION}-root -Obsoletes: zoneinfo, libc-static, libc-devel, libc-profile, libc-headers, -Obsoletes: gencat, locale, ldconfig, locale-ja, glibc-profile +Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +# These obsoletes are ancient. +# Obsoletes: zoneinfo, libc-static, libc-devel, libc-profile, libc-headers, +# Obsoletes: gencat, locale, ldconfig, locale-ja, glibc-profile Provides: ldconfig # The dynamic linker supports DT_GNU_HASH Provides: rtld(GNU_HASH) -Autoreq: false +# Autoreq: false Requires: glibc-common = %{version}-%{release} -%ifarch sparc -Obsoletes: libc -%endif # Require libgcc in case some program calls pthread_cancel in its %%post -Prereq: basesystem, libgcc +Requires(pre): basesystem, libgcc # This is for building auxiliary programs like memusage, nscd # For initial glibc bootstraps it can be commented out -BuildPreReq: gd-devel libpng-devel zlib-devel texinfo, libselinux-devel >= 1.33.4-3 -BuildPreReq: audit-libs-devel >= 1.1.3, sed >= 3.95, libcap-devel, gettext -BuildPreReq: /bin/ps, /bin/kill, /bin/awk +BuildRequires: gd-devel libpng-devel zlib-devel texinfo, libselinux-devel >= 1.33.4-3 +BuildRequires: audit-libs-devel >= 1.1.3, sed >= 3.95, libcap-devel, gettext +BuildRequires: /bin/ps, /bin/kill, /bin/awk # This is to ensure that __frame_state_for is exported by glibc # will be compatible with egcs 1.x.y -BuildPreReq: gcc >= 3.2 -Conflicts: rpm <= 4.0-0.65 -Conflicts: glibc-devel < 2.2.3 -Conflicts: gcc4 <= 4.0.0-0.6 -%ifarch x86_64 %{ix86} +BuildRequires: gcc >= 3.2 +# Last seen in RHL, no need to state this anymore. +# Conflicts: rpm <= 4.0-0.65 +# Last seen in RHL, no need to state this anymore. +# Conflicts: glibc-devel < 2.2.3 +# Last seen in FC-3, no need to state this anymore. +# Conflicts: gcc4 <= 4.0.0-0.6 +# %ifarch x86_64 %{ix86} # Need gdb that understands DW_CFA_val_expression -Conflicts: gdb < 6.3.0.0-1.111 -%endif +# Last seen in preFC-5 era, no need to state this anymore. +# Conflicts: gdb < 6.3.0.0-1.111 +# %endif # Earlier shadow-utils packages had too restrictive permissions on # /etc/default -Conflicts: shadow-utils < 2:4.0.3-20 -Conflicts: nscd < 2.3.3-52 -Conflicts: kernel < 2.6.9 +# Last seen in FC-2, no need to state this anymore. +# Conflicts: shadow-utils < 2:4.0.3-20 +# Last seen in FC-3 era, no need to state this anymore. +# Conflicts: nscd < 2.3.3-52 +# Last seen in FC-2 era, no need to state this anymore. +# Conflicts: kernel < 2.6.9 +# However, just to be safe, lets make this a Requires: +Requires: kernel >= 2.6.9 %define enablekernel 2.6.9 %ifarch i386 %define nptl_target_cpu i486 # BuildRequires instead of BuildPreReq @@ -89,9 +96,10 @@ BuildRequires: gcc >= 4.1.0-0.17 %endif %if "%{_enable_debug_packages}" == "1" -BuildPreReq: elfutils >= 0.72 -BuildPreReq: rpm >= 4.2-0.56 +BuildRequires: elfutils >= 0.72 +BuildRequires: rpm >= 4.2-0.56 %endif %define __find_provides %{_builddir}/%{glibcsrcdir}/find_provides.sh %define _filter_GLIBC_PRIVATE 1 # Drop ancient conflicts/obsoletes. # Use Requires(pre) instead of PreReq. # Don't use AutoReq. @@ -121,20 +128,25 @@ %package devel Summary: Object files for development using standard C libraries. Group: Development/Libraries -Conflicts: texinfo < 3.11 +# This is pre Fedora, don't need it. +# Conflicts: texinfo < 3.11 # Need AS_NEEDED directive -Conflicts: binutils < 2.15.94.0.2-1 -Prereq: /sbin/install-info -Obsoletes: libc-debug, libc-headers, libc-devel, linuxthreads-devel -Obsoletes: glibc-debug, nptl-devel -Prereq: %{name}-headers -Requires: %{name}-headers = %{version}-%{release}, %{name} = %{version}-%{release} -%ifarch %{ix86} +# This is pre Fedora 4, don't need it. +# Conflicts: binutils < 2.15.94.0.2-1 +Requires(pre): /sbin/install-info +# Ancient. Dropping. +# Obsoletes: libc-debug, libc-headers, libc-devel, linuxthreads-devel +# Haven't seen nptl-devel since FC-3, haven't seen glibc-debug since, well, unknown. +# Obsoletes: glibc-debug, nptl-devel +Requires(pre): %{name}-headers = %{version}-%{release} +Requires: %{name} = %{version}-%{release} +# %ifarch %{ix86} # Earlier gcc's had atexit reference in crtendS.o, which does not # work with this glibc where atexit is in libc_nonshared.a -Conflicts: gcc < 2.96-79 -%endif -Autoreq: true +# This is pre Fedora, don't need it anymore. +# Conflicts: gcc < 2.96-79 +# %endif +# Autoreq: true %description devel The glibc-devel package contains the object files necessary # Drop ancient obsoletes. # Use Requires(pre), not PreReq. # Don't use AutoReq. @@ -156,11 +168,12 @@ # have to be installed, not i386 ones. Obsoletes: %{name}-headers(i386) %endif -Obsoletes: libc-debug, libc-headers, libc-devel -Prereq: kernel-headers +# Ancient. +# Obsoletes: libc-debug, libc-headers, libc-devel +Requires(pre): kernel-headers Requires: kernel-headers >= 2.2.1, %{name} = %{version}-%{release} BuildRequires: kernel-headers >= 2.6.22 -Autoreq: true +# Autoreq: true %description headers The glibc-headers package contains the header files necessary # Drop conflicts loop. Replace with explicit Requires. # Get rid of AutoReq. @@ -175,9 +188,8 @@ %package common Summary: Common binaries and locale data for glibc -Conflicts: %{name} < %{version} -Conflicts: %{name} > %{version} -Autoreq: false +Requires: %{name} = %{version}-%{release} +# Autoreq: false Requires: tzdata >= 2003a Group: System Environment/Base # Drop ancient Conflicts. # Don't use AutoReq. # Use Requires(pre) instead of PreReq. @@ -188,11 +200,13 @@ %package -n nscd Summary: A Name Service Caching Daemon (nscd). Group: System Environment/Daemons -Conflicts: kernel < 2.2.0 +# Seriously ancient. +# Conflicts: kernel < 2.2.0 Requires: libselinux >= 1.17.10-1, audit-libs >= 1.1.3 -Conflicts: selinux-policy-targeted < 1.17.30-2.2 -Prereq: /sbin/chkconfig, /usr/sbin/useradd, /usr/sbin/userdel, sh-utils -Autoreq: true +# Not necessary since FC-3. +# Conflicts: selinux-policy-targeted < 1.17.30-2.2 +Requires(pre): /sbin/chkconfig, /usr/sbin/useradd, /usr/sbin/userdel, sh-utils +# Autoreq: true %description -n nscd Nscd caches name service lookups and can dramatically improve # Use %{name} macro for consistency. @@ -201,7 +215,7 @@ %package utils Summary: Development utilities from GNU C library Group: Development/Tools -Requires: glibc = %{version}-%{release} +Requires: %{name} = %{version}-%{release} %description utils The glibc-utils package contains memusage, a memory usage profiler, -- Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug, or are watching the QA contact. _______________________________________________ Fedora-package-review mailing list Fedora-package-review@xxxxxxxxxx http://www.redhat.com/mailman/listinfo/fedora-package-review