2 # spec file for package glibc
4 # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
6 # All modifications and additions to the file contributed by third parties
7 # remain the property of their copyright owners, unless otherwise agreed
8 # upon. The license for this file, and modifications and additions to the
9 # file, is the same license as for the pristine package itself (unless the
10 # license for the pristine package is not an Open Source License, in which
11 # case the license is the MIT License). An "Open Source License" is a
12 # license that conforms to the Open Source Definition (Version 1.9)
13 # published by the Open Source Initiative.
16 %define glibc_run_tests 1
19 # This will avoid building some parts of glibc
20 %define asan_arch x86_64 armv7l aarch64
21 %bcond_with fast_build
23 Summary: Standard Shared Libraries (from the GNU C Library)
24 License: LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
27 BuildRequires: makeinfo
29 BuildRequires: gcc-c++
30 BuildRequires: gettext-tools
31 BuildRequires: libstdc++-devel
33 BuildRequires: python3-base
36 #BuildRequires: python
37 BuildRequires: glibc-devel-static
40 #BuildRequires: pkgconfig(systemd)
41 %define _filter_GLIBC_PRIVATE 1
42 %if %_target_cpu == "i686"
43 # For i686 let's only build what's different from i586, so
44 # no need to build documentation
45 %define build_profile 1
46 %define build_locales 0
49 %if %{with fast_build}
50 %define build_profile 0
51 %define build_locales 0
55 %define build_profile 1
56 %define build_locales 0
61 %define disable_assert 0
62 %define enable_stackguard_randomization 1
63 %define multiarcharches %{ix86} x86_64
66 %define enablekernel 2.6.16
68 %define enablekernel 2.6.16
70 Conflicts: kernel < %{enablekernel}
71 %ifarch armv7l armv7hl
72 # The old runtime linker link gets not provided by rpm find.provides, but it exists
73 Provides: ld-linux.so.3
74 Provides: ld-linux.so.3(GLIBC_2.4)
78 %define glibc_major_version %{version}
79 %define git_id 0a8262a1b2
81 Url: http://www.gnu.org/software/libc/libc.html
82 Source: glibc-%{version}.tar.xz
83 Source5: nsswitch.conf
84 Source7: bindresvport.blacklist
85 Source8: glibc_post_upgrade.c
86 Source9: glibc.rpmlintrc
87 Source10: baselibs.conf
89 Source1001: glibc.manifest
91 Requires(pre): filesystem
92 Provides: rtld(GNU_HASH)
95 The GNU C Library provides the most important standard libraries used
96 by nearly all programs: the standard C library, the standard math
97 library, and the POSIX thread library. A system is not functional
98 without these libraries.
101 Summary: Info Files for the GNU C Library
107 This package contains the documentation for the GNU C library stored as
108 info files. Due to a lack of resources, this documentation is not
109 complete and is partially out of date.
112 Summary: HTML Documentation for the GNU C Library
118 This package contains the HTML documentation for the GNU C library. Due
119 to a lack of resources, this documentation is not complete and is
120 partially out of date.
123 Summary: Database Sources for 'locale'
124 License: GPL-2.0+ and MIT
125 Group: Base/Libraries
128 %description i18ndata
129 This package contains the data needed to build the locale data files to
130 use the internationalization features of the GNU libc. It is normally
131 not necessary to install this packages, the data files are already
135 Summary: Locale Data for Localized Programs
136 License: GPL-2.0+ and MIT and LGPL-2.1+
137 Requires(post): /usr/bin/cat
138 Requires: glibc = %{version}
140 Locale data for the internationalisation features of the GNU C library.
143 Summary: Libc Profiling and Debugging Versions
144 License: LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
145 Group: Base/Utilities
146 Requires: glibc = %{version}
149 This package contains special versions of the GNU C library which are
150 necessary for profiling and debugging.
153 Summary: Include Files and Libraries Mandatory for Development
154 License: BSD-3-Clause and LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
155 Requires: glibc = %{version}
156 Requires: linux-kernel-headers
159 These libraries are needed to develop programs which use the standard C
162 %package devel-static
163 Summary: C library static libraries for -static linking
164 License: BSD-3-Clause and LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
165 Requires: %{name}-devel = %{version}
166 # Provide Fedora name for package to make packaging easier
167 Provides: %{name}-static = %version
169 %description devel-static
170 The glibc-devel-static package contains the C library static libraries
171 for -static linking. You don't need these, unless you link statically,
172 which is highly discouraged.
175 Summary: Development utilities from GNU C library
177 Requires: glibc = %{version}
179 %description devel-utils
180 The glibc-devel-utils package contains various binaries which can be helpful during program
183 If you are unsure if you need this, don't install this package.
186 Summary: Extra binaries from GNU C Library
188 Requires: glibc = %{version}
191 The glibc-extra package contains some extra binaries for glibc that
192 are not essential but recommend to use.
194 makedb: A program to create a database for nss
197 Summary: Obsolete Shared Libraries from the GNU C Library
199 Requires: glibc = %{version}
201 %description obsolete
202 This package provides some old libraries from the GNU C Library which
203 are no longer supported. Additional it provides a compatibility library
204 for old binaries linked against glibc 2.0.
206 Install this package if you need one of this libraries to get old
207 binaries working, but since this libraries are not supported and there
208 is no gurantee that they work for you, you should try to get newer
209 versions of your software.
212 Summary: Testsuite results
214 Group: Development/Languages
215 %description testresults
216 Results from running the glibc testsuites.
221 Summary: glibc with ASan instrumentation
222 License: LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
223 Requires: glibc = %{version}
226 This package provides glibc with ASan instrumentation
229 ln -s --force /%{_lib}/libc-2.24-asan.so /%{_lib}/libc.so.6
232 ln -s --force /%{_lib}/libc-2.24.so /%{_lib}/libc.so.6
238 %setup -n glibc-%{version} -q
242 %{?asan:%gcc_unforce_options}
243 if [ -x /bin/uname.bin ]; then
251 # We do not want configure to figure out the system its building one
252 # to support a common ground and thus set build and host to the
255 %define target %{_target_cpu}-tizen-linux-gnueabi
257 %define target %{_target_cpu}-tizen-linux
259 # Don't use as-needed, it breaks glibc assumptions
260 # Before enabling it, run the testsuite and verify that it
262 export LD_AS_NEEDED=0
263 # Adjust glibc version.h
264 echo "#define CONFHOST \"%{target}\"" >> version.h
265 echo "#define GITID \"%{git_id}\"" >> version.h
267 # Default CFLAGS and Compiler
269 BuildFlags=$(echo %{optflags} | sed -e "s/-Wp,-D_FORTIFY_SOURCE=2//g" | sed -e "s/-ffast-math//" | sed -e "s/atom/i686/g" | sed -e "s/-fexceptions//" | sed -e "s/-fno-omit-frame-pointer//" )
270 BuildFlags="$BuildFlags -O2 -g -U_FORTIFY_SOURCE"
271 BuildFlags="$(echo $BuildFlags | sed -e 's#-ffortify=[0-9]*##')"
272 BuildFlags="$(echo $BuildFlags | sed -e 's#-fstack-protector-strong##')"
273 BuildFlags="$(echo $BuildFlags | sed -e 's#-fstack-protector##')"
274 BuildFlags="$(echo $BuildFlags | sed -e 's/-Wa,-mimplicit-it=thumb//g' | sed -e 's/-mthumb//g')"
275 # Turn off all -Wformat enable flags as there are glibc tests that explicitly
276 # append -Wno-format and with enabled Wformat options that produced warnings
277 # that turns into errors. Remove -Wformat=1|2 or -Wformat-..-arg
278 BuildFlags="$(echo $BuildFlags | sed -re 's/-Wformat((=[1-2])|((-\w+)+))?(\s|$)//g')"
284 BuildFlags="$BuildFlags -g"
287 # Glibc must have both functions' implementations
288 BuildFlags="$BuildFlags -U_LARGEFILE_SOURCE -U_LARGEFILE64_SOURCE -U_FILE_OFFSET_BITS"
290 %if %{disable_assert}
291 BuildFlags="$BuildFlags -DNDEBUG=1"
300 # fails to build otherwise - need to recheck and fix
301 %define enable_stackguard_randomization 0
304 configure_and_build_glibc() {
305 local dirname="$1"; shift
306 local cflags="$1"; shift
307 local addons="$1"; shift
310 conf_cflags="$cflags -funwind-tables -fPIC"
311 %{?asan: conf_cflags="$conf_cflags -DASAN_INIT_FIRST "}
313 profile="--disable-profile"
315 if [ "$dirname" = "base" ] ; then
316 profile="--enable-profile"
319 CFLAGS="$conf_cflags" BUILD_CFLAGS="$conf_cflags" \
320 CC="$BuildCC" CXX="$BuildCCplus" ../configure \
321 --prefix=%{_prefix} \
322 --libexecdir=%{_libexecdir} --infodir=%{_infodir} \
323 --enable-add-ons=$addons \
326 %if %{enable_stackguard_randomization}
327 --enable-stackguard-randomization \
329 --build=%{target} --host=%{target} \
330 %ifnarch %{multiarcharches}
331 --disable-multi-arch \
333 %ifarch %{ix86} x86_64
336 --enable-kernel=%{enablekernel} \
337 --enable-bind-now --enable-obsolete-rpc \
339 --disable-experimental-malloc \
340 libc_cv_cc_pie_default=yes
341 # explicitly set CFLAGS to use the full CFLAGS (not the reduced one for configure)
342 make %{?_smp_mflags} #CFLAGS="$cflags" BUILD_CFLAGS="$cflags"
346 configure_flags="--prefix=/usr --without-cvs --without-selinux --enable-stackguard-randomization --enable-obsolete-rpc --disable-mathvec"
348 configure_flags="$configure_flags --disable-sanity-checks"
351 HERE=%{_builddir}/%{name}-%{version}
354 ASAN_BUILD=$HERE/asan-build
358 #chmod +x $HERE/asan-glibc-gcc-wrapper.py
359 #build static wrapper, because we don't want asan to intercept allocators
360 g++ -o gcc-wrapper gcc-wrapper.cc -O3 -funroll-loops -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-exceptions -static
365 # CC=$HERE/asan-glibc-gcc-wrapper.py $GLIBC/configure $configure_flags
366 CC=$HERE/gcc-wrapper $GLIBC/configure $configure_flags
368 # Quick build - builds only libraries, but does not create symlinks.
369 make -r -j $J -C $GLIBC objdir=`pwd` subdir_lib
370 #make -r -j $J -C $GLIBC objdir=`pwd` install_root=$ASAN_INST install-lib
377 configure_and_build_glibc base "$BuildFlags" "$add_ons"
385 # Build html documentation
392 # Build glibc_post_upgrade binary
394 $BuildCC -static %{optflags} -Os $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_post_upgrade \
395 -Lcc-base -Bcc-base/csu \
396 '-DREMOVE_TLS_DIRS' '-DREMOVE_PPC_OPTIMIZE_POWER5' \
397 '-DLIBDIR="/%{_lib}"' '-DGCONV_MODULES_DIR="%{_libdir}/gconv"'
402 # #check sections could be redefined/disabled, so keep this inside #build
405 export LD_AS_NEEDED=0
406 (make %{?_smp_mflags} -C cc-base check || true) 2>&1 | tee check.log
410 #######################################################################
414 #######################################################################
417 # The testsuite will fail if asneeded is used
418 export LD_AS_NEEDED=0
419 # This has to pass on all platforms!
422 make %{?_smp_mflags} -C cc-base check-abi
424 #######################################################################
428 #######################################################################
431 # We don't want to strip the .symtab from our libraries in find-debuginfo.sh,
432 # certainly not from libpthread.so.* because it is used by libthread_db to find
433 # some non-exported symbols in order to detect if threading support
434 # should be enabled. These symbols are _not_ exported, and we can't easily
435 # export them retroactively without changing the ABI. So we have to
436 # continue to "export" them via .symtab, instead of .dynsym :-(
437 # But we also want to keep .symtab and .strtab of other libraries since some
438 # debugging tools currently require these sections directly inside the main
439 # files - specifically valgrind and PurifyPlus.
440 export STRIP_KEEP_SYMTAB=*.so*
442 # Make sure we will create the gconv-modules.cache
443 mkdir -p %{buildroot}%{_libdir}/gconv
444 touch %{buildroot}%{_libdir}/gconv/gconv-modules.cache
447 make %{?_smp_mflags} install_root=%{buildroot} install -C cc-base
449 install_optimized_variant() {
450 local dirname="$1"; shift
451 local subdir="$1"; shift
452 local subdir_up="$1"; shift
455 destdir=$RPM_BUILD_ROOT/%{_lib}/$subdir
457 # Don't run a complete make install, we know which libraries
459 for lib in libc math/libm nptl/libpthread rt/librt nptl_db/libthread_db
462 libbaseso=$(basename $RPM_BUILD_ROOT/%{_lib}/${libbase}-*.so)
463 # Only install if different from base lib
464 if cmp -s ${lib}.so ../cc-base/${lib}.so; then
465 ln -sf $subdir_up/$libbaseso $destdir/$libbaseso
467 cp -a ${lib}.so $destdir/$libbaseso
470 ln -sf $libbaseso $destdir/$(basename $RPM_BUILD_ROOT/%{_lib}/${libbase}.so.*)
478 # XXX Do not install locales in parallel!
480 # localedef creates hardlinks to other locales if possible
481 # this will not work if we generate them in parallel.
482 # thus we need to run fdupes on /usr/lib/locale/
483 # Still, on my system this is a speed advantage:
484 # non-parallel build for install-locales: 9:34mins
485 # parallel build with fdupes: 7:08mins
486 make %{?_smp_mflags} install_root=%{buildroot} localedata/install-locales
487 %fdupes %{buildroot}/usr/lib/locale
490 # Create file list for glibc-locale package
493 # Prepare obsolete/, used only on some architectures:
494 export RPM_BUILD_ROOT
496 mkdir -p %{buildroot}/%{_lib}/obsolete
499 # NPTL <bits/stdio-lock.h> is not usable outside of glibc, so include
500 # the generic one (RH#162634)
501 # cp -av bits/stdio-lock.h %{buildroot}%{_includedir}/bits/stdio-lock.h
506 install -m 0700 glibc_post_upgrade %{buildroot}%{_sbindir}
508 install -m 644 %{SOURCE7} %{buildroot}/etc
509 install -m 644 %{SOURCE5} %{buildroot}/etc
510 install -m 644 posix/gai.conf %{buildroot}/etc
512 mkdir -p %{buildroot}/etc/default
513 install -m 644 nis/nss %{buildroot}/etc/default/
515 mkdir -p %{buildroot}%{_includedir}/resolv
516 install -m 0644 resolv/mapv4v6addr.h %{buildroot}%{_includedir}/resolv/
517 install -m 0644 resolv/mapv4v6hostent.h %{buildroot}%{_includedir}/resolv/
520 mkdir -p %{buildroot}%{_datadir}/doc/glibc
521 cp -p cc-base/manual/libc/*.html %{buildroot}%{_datadir}/doc/glibc
528 cat > %{buildroot}/etc/ld.so.conf <<EOF
529 %if "%{_lib}" == "lib64"
533 include /etc/ld.so.conf.d/*.conf
534 # /lib64, /lib, /usr/lib64 and /usr/lib gets added
535 # automatically by ldconfig after parsing this file.
536 # So, they do not need to be listed.
538 # Add ldconfig cache directory for directory ownership
539 mkdir -p %{buildroot}/var/cache/ldconfig
540 # Empty the ld.so.cache:
541 rm -f %{buildroot}/etc/ld.so.cache
542 touch %{buildroot}/etc/ld.so.cache
544 # Don't look at ldd! We don't wish a /bin/sh requires
545 chmod 644 %{buildroot}%{_bindir}/ldd
547 # Remove timezone data, now coming in standalone package:
548 for i in sbin/sln usr/bin/tzselect usr/sbin/zic usr/sbin/zdump etc/localtime; do
549 rm -f %{buildroot}/$i
551 rm -rf %{buildroot}%{_datadir}/zoneinfo
554 # Provide compatibility link
555 ln -s ld-%{glibc_major_version}.so %{buildroot}/lib/ld-linux.so.3
558 # Move getconf to %{_libexecdir}/getconf/ to avoid cross device link
559 mv %{buildroot}%{_bindir}/getconf %{buildroot}%{_libexecdir}/getconf/getconf
560 ln -s %{_libexecdir}/getconf/getconf %{buildroot}%{_bindir}/getconf
562 #######################################################################
566 #######################################################################
570 HERE=%{_builddir}/%{name}-%{version}
572 ASAN_BUILD=$HERE/asan-build
573 cp $ASAN_BUILD/libc.so %{buildroot}/%{_lib}/libc-2.24-asan.so
579 cp --parents $(find cc-base -name "*tests.sum") testresults/
580 cp check.log testresults/
581 chmod 644 $(find testresults/ -type f)
584 %post -p %{_sbindir}/glibc_post_upgrade
586 %postun -p /sbin/ldconfig
589 for l in /usr/share/locale/locale.alias %{_libdir}/gconv/gconv-modules; do
590 [ -d "$l.d" ] || continue
591 echo "###X# The following is autogenerated from extra files in the .d directory:" >>"$l"
594 /usr/sbin/iconvconfig
597 %install_info --info-dir=%{_infodir} %{_infodir}/libc.info.gz
600 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz
603 %manifest %{name}.manifest
605 %defattr(-,root,root)
606 %license LICENSES COPYING COPYING.LIB
607 %config(noreplace) /etc/bindresvport.blacklist
608 %config /etc/ld.so.conf
609 %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/ld.so.cache
610 %config(noreplace) /etc/rpc
611 %verify(not md5 size mtime) %config(noreplace) /etc/nsswitch.conf
612 %verify(not md5 size mtime) %config(noreplace) /etc/gai.conf
613 %config(noreplace) /etc/default/nss
614 /%{_lib}/ld-%{glibc_major_version}.so
616 # Each architecture has a different name for the dynamic linker:
619 /%{_lib}/ld-linux-armhf.so.3
620 # Keep compatibility link
621 /%{_lib}/ld-linux.so.3
623 /%{_lib}/ld-linux.so.3
627 /%{_lib}/ld-linux-x86-64.so.2
630 /%{_lib}/ld-linux.so.2
633 /lib/ld-linux-aarch64.so.1
634 /%{_lib}/ld-linux-aarch64.so.1
637 /%{_lib}/libanl-%{glibc_major_version}.so
639 /%{_lib}/libc-%{glibc_major_version}.so
641 /%{_lib}/libcrypt-%{glibc_major_version}.so
642 /%{_lib}/libcrypt.so.1
643 /%{_lib}/libdl-%{glibc_major_version}.so
645 /%{_lib}/libm-%{glibc_major_version}.so
647 /%{_lib}/libnsl-%{glibc_major_version}.so
649 /%{_lib}/libnss_compat-%{glibc_major_version}.so
650 /%{_lib}/libnss_compat.so.2
651 /%{_lib}/libnss_db-%{glibc_major_version}.so
652 /%{_lib}/libnss_db.so.2
653 /%{_lib}/libnss_dns-%{glibc_major_version}.so
654 /%{_lib}/libnss_dns.so.2
655 /%{_lib}/libnss_files-%{glibc_major_version}.so
656 /%{_lib}/libnss_files.so.2
657 /%{_lib}/libnss_optfiles-%{glibc_major_version}.so
658 /%{_lib}/libnss_optfiles.so.2
659 /%{_lib}/libnss_hesiod-%{glibc_major_version}.so
660 /%{_lib}/libnss_hesiod.so.2
661 /%{_lib}/libpthread-%{glibc_major_version}.so
662 /%{_lib}/libpthread.so.0
663 /%{_lib}/libthread_db-1.0.so
664 /%{_lib}/libthread_db.so.1
665 /%{_lib}/libresolv-%{glibc_major_version}.so
666 /%{_lib}/libresolv.so.2
667 /%{_lib}/librt-%{glibc_major_version}.so
669 /%{_lib}/libutil-%{glibc_major_version}.so
670 /%{_lib}/libutil.so.1
671 %define optimized_libs() \
672 %dir %attr(0755,root,root) /%{_lib}/%1\
673 /%{_lib}/%1/libc-%{glibc_major_version}.so\
674 /%{_lib}/%1/libc.so.6*\
675 /%{_lib}/%1/libm-%{glibc_major_version}.so\
676 /%{_lib}/%1/libm.so.6*\
677 /%{_lib}/%1/libpthread-%{glibc_major_version}.so\
678 /%{_lib}/%1/libpthread.so.0\
679 /%{_lib}/%1/librt-%{glibc_major_version}.so\
680 /%{_lib}/%1/librt.so.1\
681 /%{_lib}/%1/libthread_db-1.0.so\
682 /%{_lib}/%1/libthread_db.so.1
684 %dir %attr(0700,root,root) /var/cache/ldconfig
690 %attr(755,root,root) %{_bindir}/ldd
691 %ifarch %ix86 sparc sparcv9
696 %dir %attr(0755,root,root) %{_libexecdir}/getconf
697 %{_libexecdir}/getconf/*
698 %{_sbindir}/glibc_post_upgrade
699 %{_sbindir}/iconvconfig
700 /%{_lib}/libBrokenLocale-%{glibc_major_version}.so
701 /%{_lib}/libBrokenLocale.so.1
706 %manifest %{name}.manifest
708 %defattr (755,root,root,755)
709 %dir /%{_lib}/obsolete/
710 #%dir /%{_lib}/obsolete/noversion
711 #/%{_lib}/obsolete/noversion/libNoVersion-%{glibc_major_version}.so
712 #/%{_lib}/obsolete/noversion/libNoVersion.so.1
715 %files locale -f libc.lang
716 %manifest %{name}.manifest
717 %license COPYING COPYING.LIB
718 %defattr(-,root,root)
719 %{_datadir}/locale/locale.alias
728 %manifest %{name}.manifest
729 /%{_lib}/libc-2.24-asan.so
734 %manifest %{name}.manifest
735 %defattr(-,root,root)
736 %license COPYING COPYING.LIB
742 # These static libraries are needed even for shared builds
743 %{_libdir}/libc_nonshared.a
745 %ifarch ppc ppc64 s390 s390x sparc sparcv8 sparcv9 sparcv9v
746 # This is not built on sparc64.
747 %{_libdir}/libnldbl_nonshared.a
749 %{_libdir}/libmcheck.a
750 %{_libdir}/librpcsvc.a
753 %manifest %{name}.manifest
754 %defattr(-,root,root)
755 %{_libdir}/libBrokenLocale.a
758 %{_libdir}/libcrypt.a
761 %{_libdir}/libpthread.a
762 %{_libdir}/libresolv.a
767 %manifest %{name}.manifest
768 %defattr(-,root,root)
769 %doc %{_infodir}/libc.info.gz
770 %doc %{_infodir}/libc.info-?.gz
771 %doc %{_infodir}/libc.info-??.gz
775 %manifest %{name}.manifest
776 %defattr(-,root,root)
777 %doc %{_prefix}/share/doc/glibc
781 %manifest %{name}.manifest
782 %defattr(-,root,root)
783 %{_prefix}/share/i18n
787 %manifest %{name}.manifest
788 %license COPYING COPYING.LIB
789 %defattr(-,root,root)
791 %{_libdir}/libBrokenLocale_p.a
792 %{_libdir}/libanl_p.a
794 %{_libdir}/libcrypt_p.a
795 %{_libdir}/libpthread_p.a
796 %{_libdir}/libresolv_p.a
798 %{_libdir}/librpcsvc_p.a
799 %{_libdir}/libutil_p.a
804 %manifest %{name}.manifest
805 %defattr(-,root,root)
806 /%{_lib}/libmemusage.so
807 /%{_lib}/libpcprofile.so
808 /%{_libdir}/libBrokenLocale.so
809 /%{_lib}/libSegFault.so
810 /%{_lib}/libthread_db-1.0.so
811 /%{_lib}/libthread_db.so.1
812 /%{_libdir}/libthread_db.so
813 %dir /%{_libdir}/audit
814 /%{_libdir}/audit/sotruss-lib.so
815 # These need gd-devel for building
816 # %%{_bindir}/memusage
817 # %%{_bindir}/memusagestat
819 %{_bindir}/pcprofiledump
827 %manifest %{name}.manifest
829 %defattr(-,root,root)
835 %defattr(-,root,root)
836 %doc testresults/check.log