-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathglibc.spec
More file actions
2014 lines (1801 loc) · 70.2 KB
/
glibc.spec
File metadata and controls
2014 lines (1801 loc) · 70.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# TODO:
# - consider moving klogctl.3 man to man-pages (and drop syslog.2 stub hacks here)
# - restore --with-pkgversion when tcl upstream fixes the #3599098 (broken platform::identify).
# - --enable-systemtap
# - look at locale fixes/updates in bugzilla
# - no more chicken-egg problem (postshell is no more dynamically linked with libc), remove SONAME symlinks? see files section.
# [OLD]
# - localedb-gen man pages(?)
# - math/{test-fenv,test-tgmath,test-float,test-ifloat}, debug/backtrace-tst(SEGV) fail on alpha
# - enable --enable-sframe when binutils 2.45 is available
#
# Conditional build:
# min_kernel (default is 3.2.0 with arch specific values x32 (3.4.0) aarch64 (3.7.0)
%bcond_without memusage # memusage utility
%bcond_without selinux # SELinux support (in nscd)
%bcond_with tests # test suite
%bcond_without localedb # localedb-all database (building is time consuming)
%bcond_with cross # cross build, skip native programs
%bcond_with bash_nls # bash NLS in shell scripts (ldd, sotruss); restores /bin/bash dep
%bcond_without cet # Intel Control-flow Enforcement Technology (CET)
%bcond_with sframe # new stack trace information format which can be used by backtrace
#
%ifarch aarch64
%{!?min_kernel:%global min_kernel 3.7.0}
%endif
%ifarch x32
%{!?min_kernel:%global min_kernel 3.4.0}
%endif
%ifnarch aarch64 x32
%{!?min_kernel:%global min_kernel 3.2.0}
%endif
%ifarch sparc64
%undefine with_memusage
%endif
%ifnarch %{x8664}
%undefine with_cet
%endif
%ifnarch %{x8664} aarch64
%undefine with_sframe
%endif
%ifnarch %{arm}
%define with_static_pie 1
%endif
%define core_version 2.43
%define llh_version 7:2.6.32.1-1
Summary: GNU libc
Summary(de.UTF-8): GNU libc
Summary(es.UTF-8): GNU libc
Summary(fr.UTF-8): GNU libc
Summary(ja.UTF-8): GNU libc ライブラリ
Summary(pl.UTF-8): GNU libc
Summary(ru.UTF-8): GNU libc версии
Summary(tr.UTF-8): GNU libc
Summary(uk.UTF-8): GNU libc версії
Name: glibc
Version: %{core_version}
Release: 4
Epoch: 6
License: LGPL v2.1+
Group: Libraries
Source0: https://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
# Source0-md5: 7ec2588300b299215a65aec7e6afa04f
Source2: nscd.init
Source3: nscd.sysconfig
Source4: nscd.logrotate
# from man-pages.spec --with tars
Source5: %{name}-man-pages.tar.xz
# Source5-md5: 4481fa9cbead3fe9d24af66666db1c86
Source6: %{name}-localedb-gen
Source7: %{name}-LD-path.c
Source9: nscd.tmpfiles
# use branch.sh to update glibc-git.patch
Patch0: %{name}-git.patch
# Patch0-md5: a23cce6392e306a73ab16a5a049ea889
# against GNU TP (libc domain)
#Patch1: %{name}-pl.po-update.patch
Patch2: %{name}-pld.patch
Patch4: %{name}-no-bash-nls.patch
Patch6: %{name}-paths.patch
Patch10: %{name}-info.patch
Patch11: %{name}-autoconf.patch
Patch14: %{name}-sparc-errno_fix.patch
Patch15: %{name}-new-charsets.patch
# additions pending for upstream merge or taken from other distros
Patch17: %{name}-morelocales.patch
# fixes mostly pending for upstream merge
Patch18: %{name}-locale_fixes.patch
Patch19: %{name}-ZA_collate.patch
Patch23: %{name}-pt_pax.patch
Patch30: %{name}-rh1124987.patch
Patch31: arm-widevine-compat.patch
URL: http://www.gnu.org/software/libc/
%{?with_selinux:BuildRequires: audit-libs-devel}
BuildRequires: autoconf >= 2.71
BuildRequires: automake
BuildRequires: binutils >= 4:2.39
%{?with_sframe:BuildRequires: binutils >= 4:2.45}
BuildRequires: bison >= 2.7
%{!?with_cross:BuildRequires: dietlibc-static}
BuildRequires: gawk >= 3.1.2
BuildRequires: gcc >= 6:12.1
%{?with_memusage:BuildRequires: gd-devel >= 2.0.1}
BuildRequires: gettext-tools >= 0.10.36
%{?with_selinux:BuildRequires: libcap-devel}
%{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
BuildRequires: linux-libc-headers >= %{llh_version}
BuildRequires: make >= 1:4.0
BuildRequires: perl-base
BuildRequires: python3 >= 1:3.4
BuildRequires: python3-modules >= 1:3.4
BuildRequires: rpm-build >= 4.3-0.20030610.28
BuildRequires: rpmbuild(macros) >= 2.043
BuildRequires: sed >= 4.0.5
BuildRequires: tar >= 1:1.22
BuildRequires: texinfo >= 4.7
BuildRequires: xz
Requires(post): ldconfig = %{epoch}:%{version}-%{release}
Requires: filesystem
Requires: ldconfig = %{epoch}:%{version}-%{release}
Requires: uname(release) >= %{min_kernel}
Provides: %{name}(%{_target_cpu}) = %{epoch}:%{version}-%{release}
%ifarch %{ix86}
Provides: %{name}(ix86) = %{epoch}:%{version}-%{release}
%endif
Provides: glibc(nptl)
Provides: glibc(tls)
Provides: rtld(GNU_HASH)
Obsoletes: glibc-common
Obsoletes: glibc-debug < 2.1
Obsoletes: glibc-ld < 6:2.33-2
%ifarch %{x8664} sparc64 ppc64
Provides: glibc64
Obsoletes: glibc64
%endif
Suggests: localedb
Suggests: tzdata
Conflicts: %{name}-misc < %{epoch}:%{version}-%{release}
Conflicts: SysVinit < 2.86-11
Conflicts: kernel < 3:%{min_kernel}
Conflicts: kernel24
Conflicts: kernel24-smp
Conflicts: ld.so < 1.9.9-10
Conflicts: man-pages < 4.00
Conflicts: openssh-server < 2:8.2p1-1
Conflicts: poldek < 0.30.1-9
Conflicts: rc-scripts < 0.3.1-13
Conflicts: rpm < 4.1
Conflicts: util-linux < 2.35.1-2
Conflicts: xorg-driver-video-nvidia-libs < 1:295.33
ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} x32 alpha s390 s390x sparc sparc64 sparcv9 ppc ppc64 armv5tel armv6hl armv7hl armv7hnl aarch64
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# errno, ps_*, __resp, __h_errno symbols
%define skip_post_check_so libm.so.6 libc_malloc_debug.so.0 libthread_db.so.1 libresolv.so.2 libnss_db.so.2 libnss_compat.so.2 libnss_hesiod.so.2 libnsl.so.1 librt.so.1
# avoid -s here (ld.so must not be stripped to allow any program debugging)
%define filterout_ld (-Wl,)?-[sS] (-Wl,)?--strip.*
# disable -D_FORTIFY_SOURCE=X and -fstack-protector
%define _fortify_cflags %{nil}
%define _ssp_cflags %{nil}
%define specflags_sparcv9 -mcpu=ultrasparc -mvis -fcall-used-g6
%define specflags_sparc64 -mcpu=ultrasparc -mvis -fcall-used-g6
# ld.so needs not to be stripped to work
# gdb needs unstripped libpthread for some threading support
# ...but we can strip at least debuginfo from them
%define _autostripdebug .*/ld-[0-9.]*so\\|.*/libpthread-[0-9.]*so
# -m from CFLAGS or even LDFLAGS is not propagated to some *.o linking
%ifarch sparc sparcv9
%{expand:%%define __cc %{__cc} -m32}
%endif
# Xen-friendly glibc
%define specflags_ia32 -mno-tls-direct-seg-refs
%define specflags_x86_64 -mno-tls-direct-seg-refs -fasynchronous-unwind-tables
%define specflags_amd64 -mno-tls-direct-seg-refs -fasynchronous-unwind-tables
%define specflags_ia32e -mno-tls-direct-seg-refs
# we don't want perl dependency in glibc-devel
%define _noautoreqfiles %{_bindir}/mtrace
# hack: don't depend on rpmlib(PartialHardlinkSets) for easier upgrade from Ra
# (hardlinks here are unlikely to be "partial"... and rpm 4.0.2 from Ra was
# patched not to crash on partial hardlinks too)
%define _hack_dontneed_PartialHardlinkSets 1
%define _noautochrpath .*\\(ldconfig\\|sln\\)
# private symbols
# don't generate deps for ldconfig to avoid loop and force rpm to install it before glibc
%define _noautoprov .*\(GLIBC_PRIVATE\)
%define _noautoreq .*\(GLIBC_PRIVATE\) /sbin/ldconfig
# to avoid multi-arch conflicts on getconf/* files
%define _libexecdir %{_libdir}
%description
Contains the standard libraries that are used by multiple programs on
the system. In order to save disk space and memory, as well as to ease
upgrades, common system code is kept in one place and shared between
programs. This package contains the most important sets of shared
libraries, the standard C library and the standard math library.
Without these, a Linux system will not function. It also contains
national language (locale) support.
Can be used on: Linux kernel >= %{min_kernel}.
%description -l es.UTF-8
Contiene las bibliotecas estándared que son usadas por varios
programas del sistema. Para ahorrar el espacio en el disco y la
memoria, igual que para facilitar actualizaciones, código común del
sistema se guarda en un sitio y es compartido entre los programas.
Este paquete contiene las bibliotecas compartidas más importantes, es
decir la biblioteca C estándar y la biblioteca estándar de matemática.
Sin éstas, un sistema Linux no podrá funcionar. También está incluido
soporte de idiomas nacionales (locale).
Puede usarse con: núcleo Linux >= %{min_kernel}.
%description -l de.UTF-8
Enthält die Standard-Libraries, die von verschiedenen Programmen im
System benutzt werden. Um Festplatten- und Arbeitsspeicher zu sparen
und zur Vereinfachung von Upgrades ist der gemeinsame Systemcode an
einer einzigen Stelle gespeichert und wird von den Programmen
gemeinsam genutzt. Dieses Paket enthält die wichtigsten Sets der
shared Libraries, die Standard-C-Library und die
Standard-Math-Library, ohne die das Linux-System nicht funktioniert.
Ferner enthält es den Support für die verschiedenen Sprachgregionen
(locale).
Can be used on: Linux kernel >= %{min_kernel}.
%description -l fr.UTF-8
Contient les bibliothèques standards utilisées par de nombreux
programmes du système. Afin d'économiser l'espace disque et mémoire,
et de faciliter les mises à jour, le code commun au système est mis à
un endroit et partagé entre les programmes. Ce paquetage contient les
bibliothèques partagées les plus importantes, la bibliothèque standard
du C et la bibliothèque mathématique standard. Sans celles-ci, un
système Linux ne peut fonctionner. Il contient aussi la gestion des
langues nationales (locales).
Can be used on: Linux kernel >= %{min_kernel}.
%description -l ja.UTF-8
glibc パッケージはシステム上の複数のプログラムで使われる標準ライブラリを
ふくみます。ディスクスペースとメモリを節約したり、アップグレードを 用意にするために、共通のシステムコードは一つの場所におかれ、プログラム
間で共有されます。この部分的なパッケージはシェアドライブラリのかなり 重要なセットをふくみます: 標準 C
ライブラリと標準数値ライブラリです。 この二つのライブラリ抜きでは、Linux システムは機能しません。 glibc
パッケージはまた地域言語 (locale) サポートとタイムゾーンデータベース サポートをふくみます。
Can be used on: Linux kernel >= %{min_kernel}.
%description -l pl.UTF-8
W pakiecie znajdują się podstawowe biblioteki, używane przez różne
programy w Twoim systemie. Używanie przez programy bibliotek z tego
pakietu oszczędza miejsce na dysku i pamięć. Większość kodu
systemowego jest usytuowane w jednym miejscu i dzielone między wieloma
programami. Pakiet ten zawiera bardzo ważny zbiór bibliotek
standardowych, współdzielonych (dynamicznych) bibliotek C i
matematycznych. Bez glibc system Linux nie jest w stanie funkcjonować.
Znajdują się tutaj również definicje różnych informacji dla wielu
języków (locale).
Pakiet jest przeznaczony dla jądra Linuksa >= %{min_kernel}.
%description -l ru.UTF-8
Содержит стандартные библиотеки, используемые многочисленными
программами в системе. Для того, чтобы сохранить дисковое пространство
и память, а также для простоты обновления, системный код, общий для
всех программ, хранится в одном месте и коллективно используется всеми
программами. Этот пакет содержит наиболее важные из разделяемых
библиотек - стандартную библиотеку C и стандартную библиотеку
математики. Без этих библиотек Linux функционировать не будет. Также
пакет содержит поддержку национальных языков (locale).
Can be used on: Linux kernel >= %{min_kernel}.
%description -l tr.UTF-8
Bu paket, birçok programın kullandığı standart kitaplıkları içerir.
Disk alanı ve bellek kullanımını azaltmak ve aynı zamanda güncelleme
işlemlerini kolaylaştırmak için ortak sistem kodları tek bir yerde
tutulup programlar arasında paylaştırılır. Bu paket en önemli ortak
kitaplıkları, standart C kitaplığını ve standart matematik kitaplığını
içerir. Bu kitaplıklar olmadan Linux sistemi çalışmayacaktır. Yerel
dil desteği ve zaman dilimi veri tabanı da bu pakette yer alır.
Can be used on: Linux kernel >= %{min_kernel}.
%description -l uk.UTF-8
Містить стандартні бібліотеки, котрі використовуються численними
програмами в системі. Для того, щоб зберегти дисковий простір та
пам'ять, а також для простоти поновлення системи, системний код,
спільний для всіх програм, зберігається в одному місці і колективно
використовується всіма програмами. Цей пакет містить найбільш важливі
з динамічних бібліотек - стандартну бібліотеку С та стандартну
бібліотеку математики. Без цих бібліотек Linux функціонувати не буде.
Також пакет містить підтримку національних мов (locale).
Can be used on: Linux kernel >= %{min_kernel}.
%package misc
Summary: Utilities and data used by glibc
Summary(pl.UTF-8): Narzędzia i dane używane przez glibc
Group: Applications/System
Requires: %{name} = %{epoch}:%{version}-%{release}
Suggests: libidn2 >= 2.0.5
%ifarch %{ix86}
Conflicts: %{name}(x32)
Conflicts: %{name}(x86_64)
%endif
Conflicts: man-pages < 4.00
%description misc
Utilities and data used by glibc.
%description misc -l pl.UTF-8
Narzędzia i dane używane przez glibc.
%package -n ldconfig
Summary: Create shared library cache and maintains symlinks
Summary(de.UTF-8): Erstellt ein shared library cache und verwaltet symlinks
Summary(fr.UTF-8): Crée un cache de bibliothčque partagée et gčre *.so
Summary(pl.UTF-8): Tworzenie cache'u bibliotek dynamicznych i ich dowiązań symbolicznych
Summary(tr.UTF-8): Ortak kitaplýk önbelleđi yaratýr ve bađlantýlarý kurar
Group: Applications/System
Requires: uname(release) >= %{min_kernel}
# we want FHS being installed before ldconfig, altho they are both unrelated to each-other.
Requires: FHS
Provides: rtld(GNU_HASH)
# This is needed because previous package (glibc) had autoreq false and had
# provided this manually. Probably poldek bug that have to have it here.
Provides: /sbin/ldconfig
Conflicts: glibc-ld < 6:2.33-2
%description -n ldconfig
ldconfig scans a running system and sets up the symbolic links that
are used to load shared libraries properly. It also creates
/etc/ld.so.cache which speeds the loading programs which use shared
libraries.
%description -n ldconfig -l de.UTF-8
ldconfig scannt ein laufendes System und richtet die symbolischen
Verknüpfungen zum Laden der gemeinsam genutzten Libraries ein.
Außerdem erstellt es /etc/ld.so.cache, was das Laden von Programmen
mit gemeinsam genutzten Libraries beschleunigt.
%description -n ldconfig -l fr.UTF-8
ldconfig analyse un systčme et configure les liens symboliques
utilisés pour charger correctement les bibliothčques partagées. Il
crée aussi /etc/ld.so.cache qui accélčre le chargement des programmes
utilisant les bibliothčques partagées.
%description -n ldconfig -l pl.UTF-8
ldconfig testuje uruchomiony system i tworzy dowiązania symboliczne,
które są następnie używane do poprawnego ładowania bibliotek
dynamicznych. Program ten tworzy plik /etc/ld.so.cache, który
przyśpiesza ładowanie programów korzystających z bibliotek
dynamicznych.
%description -n ldconfig -l tr.UTF-8
ldconfig, çalýţmakta olan sistemi araţtýrýr ve ortak kitaplýklarýn
düzgün bir ţekilde yüklenmesi için gereken simgesel bađlantýlarý
kurar. Ayrýca ortak kitaplýklarý kullanan programlarýn yüklenmesini
hýzlandýran /etc/ld.so.cache dosyasýný yaratýr.
%package -n nss_compat
Summary: Old style NYS NSS glibc module
Summary(es.UTF-8): El antiguo módulo NYS NSS de glibc
Summary(pl.UTF-8): Stary moduł NYS NSS glibc
Group: Base
Requires: %{name} = %{epoch}:%{version}-%{release}
%description -n nss_compat
Old style NYS NSS glibc module.
%description -n nss_compat -l es.UTF-8
El antiguo módulo NYS NSS de glibc
%description -n nss_compat -l pl.UTF-8
Stary moduł NYS NSS glibc.
%package -n nss_db
Summary: NSS glibc module that uses hashed key-value database
Summary(pl.UTF-8): Moduł NSS glibc wykorzystujący haszowaną bazę danych klucz-wartość
Group: Base
Requires: %{name} = %{epoch}:%{version}-%{release}
%description -n nss_db
NSS glibc module that uses hashed key-value database.
%description -n nss_db -l pl.UTF-8
Moduł NSS glibc wykorzystujący haszowaną bazę danych klucz-wartość.
%package -n nss_hesiod
Summary: hesiod NSS glibc module
Summary(es.UTF-8): Módulo hesiod NSS de glibc
Summary(pl.UTF-8): Moduł hesiod NSS glibc
Group: Base
Requires: %{name} = %{epoch}:%{version}-%{release}
%description -n nss_hesiod
glibc NSS (Name Service Switch) module for databases access.
%description -n nss_hesiod -l es.UTF-8
Módulo hesiod NSS de glibc.
%description -n nss_hesiod -l pl.UTF-8
Moduł glibc NSS (Name Service Switch) dostępu do baz danych.
%package memusage
Summary: Memory usage profiler
Summary(pl.UTF-8): Narzędzie do profilowania zużycia pamięci
Group: Development/Tools
Requires: %{name} = %{epoch}:%{version}-%{release}
Conflicts: man-pages < 4.00
%description memusage
Memory usage profiler.
%description memusage -l pl.UTF-8
Narzędzie do profilowania zużycia pamięci.
%package devel
Summary: Additional libraries required to compile
Summary(de.UTF-8): Weitere Libraries zum Kompilieren
Summary(es.UTF-8): Bibliotecas adicionales necesarias para la compilación
Summary(fr.UTF-8): Librairies supplémentaires nécessaires à la compilation
Summary(ja.UTF-8): 標準 C ライブラリで使われるヘッダーとオブジェクトファイル
Summary(pl.UTF-8): Dodatkowe biblioteki wymagane podczas kompilacji
Summary(ru.UTF-8): Дополнительные библиотеки, необходимые для компиляции
Summary(tr.UTF-8): Geliştirme için gerekli diğer kitaplıklar
Summary(uk.UTF-8): Додаткові бібліотеки, потрібні для компіляції
Group: Development/Libraries
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: %{name}-devel-utils = %{epoch}:%{version}-%{release}
Requires: %{name}-headers = %{epoch}:%{version}-%{release}
Requires: libxcrypt-devel >= 4.0.0
Provides: %{name}-devel(%{_target_cpu}) = %{epoch}:%{version}-%{release}
%ifarch %{ix86}
Provides: %{name}-devel(ix86) = %{epoch}:%{version}-%{release}
%endif
Obsoletes: libiconv-devel
%ifarch %{x8664}
# see http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2016-May/024902.html
%if "%(rpm -q --qf '%{E}:%{V}' binutils)" >= "4:2.26"
Conflicts: binutils < 4:2.26
%endif
%endif
%description devel
To develop programs which use the standard C libraries (which nearly
all programs do), the system needs to have these standard header files
and object files available for creating the executables.
%description devel -l de.UTF-8
Bei der Entwicklung von Programmen, die die Standard-C-Libraries
verwenden (also fast alle), benötigt das System diese Standard-Header-
und Objektdateien zum Erstellen der ausführbaren Programme.
%description devel -l es.UTF-8
Para desarrollar programas que utilizan las bibliotecas C estándar (lo
cual hacen prácticamente todos los programas), el sistema necesita
disponer de estos ficheros de cabecera y de objetos para crear los
ejecutables.
%description devel -l fr.UTF-8
Pour développer des programmes utilisant les bibliothèques standard du
C (ce que presque tous les programmes font), le système doit posséder
ces fichiers en-têtes et objets standards pour créer les exécutables.
%description devel -l ja.UTF-8
glibc-devel パッケージは(ほとんどすべてのプログラムで使われる)標準 C
ライブラリを使用したプログラムを開発するためのヘッダーとオブジェクト ファイルを含みます。もし標準 C
ライブラリを使用するプログラムを開発するなら 実行ファイルを作成する目的でこれらの標準ヘッダとオブジェクトファイル が使用できます。
%description devel -l pl.UTF-8
Pakiet ten jest niezbędny przy tworzeniu własnych programów
korzystających ze standardowej biblioteki C. Znajdują się tutaj pliki
nagłówkowe oraz pliki obiektowe, niezbędne do kompilacji programów
wykonywalnych i innych bibliotek.
%description devel -l ru.UTF-8
Для разработки программ, использующих стандартные библиотеки C (а
практически все программы их используют), системе НЕОБХОДИМЫ хедеры и
объектные файлы, содержащиеся в этом пакете, чтобы создавать
исполняемые файлы.
%description devel -l tr.UTF-8
C kitaplığını kullanan (ki hemen hemen hepsi kullanıyor) programlar
geliştirmek için gereken standart başlık dosyaları ve statik
kitaplıklar.
%description devel -l uk.UTF-8
Для розробки програм, що використовують стандартні бібліотеки C
(практично всі програми їх використовують), системі НЕОБХІДНІ хедери
та об'єктні файли, що містяться в цьому пакеті, цоб створювати
виконувані файли.
%package headers
Summary: Header files for development using standard C libraries
Summary(pl.UTF-8): Pliki nagłówkowe do tworzenia programów przy użyciu standardowych bibliotek C
Group: Development/Building
Provides: %{name}-header-cpu-%{_target_cpu} = %{epoch}:%{version}-%{release}
%ifarch %{ix86}
Provides: %{name}-headers-cpu-ix86 = %{epoch}:%{version}-%{release}
%endif
%ifarch %{x8664} x32
# If both -m32 and -m64 is to be supported on x86_64, x86_64 package
# have to be installed, not ix86 one.
Obsoletes: glibc-headers-cpu-athlon
Obsoletes: glibc-headers-cpu-i386
Obsoletes: glibc-headers-cpu-i486
Obsoletes: glibc-headers-cpu-i586
Obsoletes: glibc-headers-cpu-i686
Obsoletes: glibc-headers-cpu-ix86
Obsoletes: glibc-headers-cpu-pentium3
Obsoletes: glibc-headers-cpu-pentium4
%endif
%ifarch x32
Obsoletes: glibc-headers-cpu-x86_64
%endif
%ifarch ppc64
Obsoletes: glibc-headers-cpu-ppc
%endif
%ifarch s390x
Obsoletes: glibc-headers-cpu-s390
%endif
%ifarch sparc64
Obsoletes: glibc-headers-cpu-sparc
%endif
Requires: linux-libc-headers >= %{llh_version}
%description headers
The glibc-headers package contains the header 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 files available in order to create the executables.
Install glibc-headers if you are going to develop programs which will
use the standard C libraries.
%description headers -l pl.UTF-8
Pakiet glibc-headers zawiera pliki nagłówkowe niezbędne do rozwijania
programów używających standardowych bibliotek C (używanych przez
prawie wszystkie programy). Jeśli tworzymy programy korzystające ze
standardowych bibliotek C, system wymaga dostępności tych
standardowych plików nagłówkowych do tworzenia programów
wykonywalnych.
Ten pakiet należy zainstalować jeśli zamierzamy tworzyć programy
korzystające ze standardowych bibliotek C.
%package devel-utils
Summary: Utilities needed for development using standard C libraries
Summary(pl.UTF-8): Narzędzia do tworzenia programów przy użyciu standardowych bibliotek C
Group: Development/Libraries
Provides: %{name}-devel-util-cpu-%{_target_cpu} = %{epoch}:%{version}-%{release}
%ifarch %{ix86}
Provides: %{name}-devel-utils-cpu-ix86 = %{epoch}:%{version}-%{release}
%endif
%ifarch %{x8664} x32
# If both -m32 and -m64 is to be supported on AMD64, x86_64 package
# have to be installed, not ix86 one.
Obsoletes: glibc-devel-utils-cpu-athlon
Obsoletes: glibc-devel-utils-cpu-i386
Obsoletes: glibc-devel-utils-cpu-i486
Obsoletes: glibc-devel-utils-cpu-i586
Obsoletes: glibc-devel-utils-cpu-i686
Obsoletes: glibc-devel-utils-cpu-ix86
Obsoletes: glibc-devel-utils-cpu-pentium3
Obsoletes: glibc-devel-utils-cpu-pentium4
%endif
%ifarch x32
Obsoletes: glibc-devel-utils-cpu-x86_64
%endif
%ifarch ppc64
Obsoletes: glibc-devel-utils-cpu-ppc
%endif
%ifarch s390x
Obsoletes: glibc-devel-utils-cpu-s390
%endif
%ifarch sparc64
Obsoletes: glibc-devel-utils-cpu-sparc
%endif
Conflicts: man-pages < 4.00
%description devel-utils
The glibc-devel-utils package contains utilities 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 utilities
available.
Install glibc-devel-utils if you are going to develop programs which
will use the standard C libraries.
%description devel-utils -l pl.UTF-8
Pakiet glibc-devel-utils zawiera narzędzia niezbędne do rozwijania
programów używających standardowych bibliotek C (używanych przez
prawie wszystkie programy). Jeśli tworzymy programy korzystające ze
standardowych bibliotek C, system wymaga dostępności tych narzędzi do
tworzenia programów wykonywalnych.
Ten pakiet należy zainstalować jeśli zamierzamy tworzyć programy
korzystające ze standardowych bibliotek C.
%package devel-doc
Summary: Documentation needed for development using standard C libraries
Summary(pl.UTF-8): Dokumentacja do tworzenia programów przy użyciu standardowych bibliotek C
Group: Documentation
Conflicts: man-pages < 4.09
BuildArch: noarch
%description devel-doc
The glibc-devel-doc package contains info and manual pages necessary
for developing programs which use the standard C libraries (which are
used by nearly all programs).
Install glibc-devel-doc if you are going to develop programs which
will use the standard C libraries.
%description devel-doc -l pl.UTF-8
Pakiet glibc-devel-doc zawiera strony info i manuala przydatne do
rozwijania programów używających standardowych bibliotek C (używanych
przez prawie wszystkie programy).
Ten pakiet należy zainstalować jeśli zamierzamy tworzyć programy
korzystające ze standardowych bibliotek C.
%package static
Summary: Static GNU libc libraries
Summary(es.UTF-8): Bibliotecas estáticas
Summary(pl.UTF-8): Biblioteki statyczne GNU libc
Summary(ru.UTF-8): Статические библиотеки glibc
Summary(uk.UTF-8): Статичні бібліотеки glibc
Group: Development/Libraries
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
Requires: libxcrypt-static >= 4.0.0
Provides: %{name}-static(%{_target_cpu}) = %{epoch}:%{version}-%{release}
%ifarch %{ix86}
Provides: %{name}-static(ix86) = %{epoch}:%{version}-%{release}
%endif
Obsoletes: libiconv-static
%description static
GNU libc static libraries.
%description static -l es.UTF-8
Bibliotecas estáticas de GNU libc.
%description static -l pl.UTF-8
Biblioteki statyczne GNU libc.
%description static -l ru.UTF-8
Это отдельный пакет со статическими библиотеками, которые больше не
входят в glibc-devel.
%description static -l uk.UTF-8
Це окремий пакет зі статичними бібліотеками, що більше не входять в
склад glibc-devel.
%package profile
Summary: glibc with profiling support
Summary(de.UTF-8): glibc mit Profil-Unterstützung
Summary(es.UTF-8): glibc con soporte de perfilamiento
Summary(fr.UTF-8): glibc avec support pour profiling
Summary(pl.UTF-8): glibc ze wsparciem dla profilowania
Summary(ru.UTF-8): GNU libc с поддержкой профайлера
Summary(tr.UTF-8): Ölçüm desteği olan glibc
Summary(uk.UTF-8): GNU libc з підтримкою профайлера
Group: Development/Libraries/Libc
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
Obsoletes: libc-profile < 6
%description profile
When programs are being profiled using gprof, they must use these
libraries instead of the standard C libraries for gprof to be able to
profile them correctly.
%description profile -l de.UTF-8
Damit Programmprofile mit gprof richtig erstellt werden, müssen diese
Libraries anstelle der üblichen C-Libraries verwendet werden.
%description profile -l es.UTF-8
Cuando programas son perfilidas usando gprof, tienen que usar estas
biblioteces en vez de las estándares para que gprof pueda perfilarlas
correctamente.
%description profile -l pl.UTF-8
Programy profilowane za pomocą gprof muszą używać tych bibliotek
zamiast standardowych bibliotek C, aby gprof mógł odpowiednio je
wyprofilować.
%description profile -l uk.UTF-8
Коли програми досліджуються профайлером gprof, вони повинні
використовувати замість стандартних бібліотек бібліотеки, що містяться
в цьому пакеті. При використанні стандартних бібліотек gprof замість
реальних результатів буде показувати ціни на папайю в Гонолулу в
позаминулому році...
%description profile -l tr.UTF-8
gprof kullanılarak ölçülen programlar standart C kitaplığı yerine bu
kitaplığı kullanmak zorundadırlar.
%description profile -l ru.UTF-8
Когда программы исследуются профайлером gprof, они должны
использовать, вместо стандартных библиотек, библиотеки, включенные в
этот пакет. При использовании стандартных библиотек gprof вместо
реальных результатов будет показывать цены на папайю в Гонолулу в
позапрошлом году...
%package pic
Summary: glibc PIC archive
Summary(es.UTF-8): Archivo PIC de glibc
Summary(pl.UTF-8): Archiwum PIC glibc
Group: Development/Libraries/Libc
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description pic
GNU C Library PIC archive contains an archive library (ar file)
composed of individual shared objects. This is used for creating a
library which is a smaller subset of the standard libc shared library.
%description pic -l es.UTF-8
El archivo PIC de la biblioteca glibc contiene una biblioteca
archivada (un fichero ar) compuesta de individuales objetos
compartidos. Es usado para crear una biblioteca que sea un subconjunto
más pequeño de la biblioteca libc compartida estándar.
%description pic -l pl.UTF-8
Archiwum PIC biblioteki GNU C zawiera archiwalną bibliotekę (plik ar)
złożoną z pojedynczych obiektów współdzielonych. Używana jest do
tworzenia biblioteki będącej mniejszym podzestawem standardowej
biblioteki współdzielonej libc.
%package -n nscd
Summary: Name Service Caching Daemon
Summary(es.UTF-8): Demonio de caché del servicio de nombres
Summary(ja.UTF-8): ネームサービスキャッシングデーモン (nacd)
Summary(pl.UTF-8): Demon zapamiętujący odpowiedzi serwisów nazw
Summary(ru.UTF-8): Кэширующий демон сервисов имен
Summary(uk.UTF-8): Кешуючий демон севісів імен
License: GPL v2
Group: Networking/Daemons
Requires(post): fileutils
Requires(post,preun): /sbin/chkconfig
Requires(postun): /usr/sbin/groupdel
Requires(postun): /usr/sbin/userdel
Requires(pre): /bin/id
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
Requires: %{name} = %{epoch}:%{version}-%{release}
%{?with_selinux:Requires: libselinux >= 1.18}
Requires: rc-scripts >= 0.4.3.0
Provides: group(nscd)
Provides: user(nscd)
Obsoletes: gnscd
Obsoletes: unscd
%description -n nscd
nscd caches name service lookups; it can dramatically improve
performance with NIS+, and may help with DNS as well.
%description -n nscd -l es.UTF-8
nscd guarda las peticiones del servicio de nombres en una caché; eso
puede aumentar drásticamente las prestaciones de NIS+, y también puede
ayudar con DNS.
%description -n nscd -l ja.UTF-8
Nscd はネームサービス参照をキャッシュし、NIS+ のパフォーマンスを ドラマティックに改善することができ、DNS を同様に補助します。
%description -n nscd -l pl.UTF-8
nscd zapamiętuje zapytania i odpowiedzi NIS oraz DNS. Pozwala
drastycznie poprawić szybkość działania NIS+.
%description -n nscd -l ru.UTF-8
nscd кэширует результаты запросов к сервисам имен; это может резко
увеличить производительность работы с NIS+ и, также, может помочь с
DNS.
%description -n nscd -l uk.UTF-8
nscd кешує результати запросів до сервісів імен; це може сильно
збільшити швидкість роботи з NIS+ і, також, може допомогти з DNS.
%package -n localedb-src
Summary: locale database source code
Summary(es.UTF-8): Código fuente de la base de datos de los locales
Summary(pl.UTF-8): Kod źródłowy bazy locale
Group: Libraries
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: gzip
Requires: sed
Provides: localedb
%description -n localedb-src
This add-on package contains the data needed to build the locale data
files to use the internationalization features of the GNU libc.
%description -n localedb-src -l es.UTF-8
Este paquete adicional contiene los datos necesarios para construir
los ficheros de locale, imprescindibles para usar las cualidades de
internacionalización de GNU libc.
%description -n localedb-src -l pl.UTF-8
Pakiet ten zawiera dane niezbędne do zbudowania binarnych plików
lokalizacyjnych, by móc wykorzystać możliwości oferowane przez GNU
libc.
%package localedb-all
Summary: locale database for all locales supported by glibc
Summary(es.UTF-8): Base de datos de todos los locales soportados por glibc
Summary(pl.UTF-8): Baza danych locale dla wszystkich lokalizacji obsługiwanych przez glibc
Group: Libraries
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: iconv = %{epoch}:%{version}-%{release}
Provides: localedb
%description localedb-all
This package contains locale database for all locales supported by
glibc. In glibc 2.3.x it's one large file (about 39MB) - if you want
something smaller with support for chosen locales only, consider
installing localedb-src and regenerating database using localedb-gen
script (when database is generated, localedb-src can be uninstalled).
%description localedb-all -l es.UTF-8
Este paquete contiene una base de datos de todos los locales
soportados por glibc. En glibc 2.3.x ése es un fichero grande (aprox.
39 MB) -- si prefiere algo más pequeño, sólo con soporte de unos
locales elegidos, considérese instalar localedb-src y regenerar la
base de datos usando el escript localedb-gen (una vez que la base de
datos esté creada, localedb-src se podrá desinstalar).
%description localedb-all -l pl.UTF-8
Ten pakiet zawiera bazę danych locale dla wszystkich lokalizacji
obsługiwanych przez glibc. W glibc 2.3.x jest to jeden duży plik
(około 39MB); aby mieć coś mniejszego, z obsługą tylko wybranych
lokalizacji, należy zainstalować pakiet localedb-src i przegenerować
bazę danych przy użyciu skryptu localedb-gen (po wygenerowaniu bazy
pakiet localedb-src można odinstalować).
%package -n iconv
Summary: Convert encoding of given files from one encoding to another
Summary(es.UTF-8): Convierte entre varias codificaciones de los ficheros dados
Summary(pl.UTF-8): Moduły do konwersji plików tekstowych z jednego kodowania do innego
Group: Libraries
Requires: %{name} = %{epoch}:%{version}-%{release}
Provides: iconv(%{_target_base_arch})
Conflicts: man-pages < 4.00
%description -n iconv
Convert encoding of given files from one encoding to another. You need
this package if you want to convert some document from one encoding to
another or if you have installed some programs which use Generic
Character Set Conversion Interface.
%description -n iconv -l es.UTF-8
Convierte la codificación de dados ficheros. Necesita este paquete si
quiere convertir un documento entre una codificación (juego de
caracteres) y otra, o si tiene instalado algún programa que usa el
Generic Character Set Conversion Interface (interfaz genérica de
conversión de juegos de caracteres).
%description -n iconv -l pl.UTF-8
Moduły do konwersji plików tekstowych z jednego kodowania do innego.
Trzeba mieć zainstalowany ten pakiet, aby wykonywać konwersję
dokumentów z jednego kodowania do innego lub do używania programów
korzystających z Generic Character Set Conversion Interface w glibc,
czyli z zestawu funkcji z tej biblioteki, które umożliwiają konwersję
kodowania danych z poziomu dowolnego programu.
%prep
%setup -q
%if "%{min_kernel}" < "3.2.0"
echo "Minimal supported kernel is 3.2.0" >&2
exit 1
%endif
%patch -P0 -p1
%patch -P2 -p1
%{!?with_bash_nls:%patch -P4 -p1}
%patch -P6 -p1
%patch -P10 -p1
%patch -P11 -p1
%patch -P14 -p1
%patch -P15 -p1
%patch -P17 -p1
%patch -P18 -p1
%patch -P19 -p1
%patch -P23 -p0
%patch -P30 -p1
%ifarch %{arm} aarch64
%patch -P31 -p1
%endif
# cleanup backups after patching
find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
chmod +x scripts/cpp
%build
# glibc has its own way to remove PLT relocations. / H. J. Lu.
unset LD_SYMBOLIC_FUNCTIONS || :
%{__aclocal}
%{__autoconf}
rm -rf builddir
install -d builddir
cd builddir
%ifarch sparc64
CC="%{__cc} -m64 -mcpu=ultrasparc -mvis -fcall-used-g6"
%endif
# force ld bfd (instead of gold)
install -d alt-tools
ln -sf %{_bindir}/ld.bfd alt-tools/ld
PATH=$(pwd)/alt-tools:$PATH; export PATH
%define configuredir ..
AWK="gawk" \
%configure \
%if %{with cet}
--enable-cet \
%endif
--enable-bind-now \
--enable-fortify-source \
--enable-hidden-plt \
--enable-kernel="%{min_kernel}" \
%ifarch aarch64
--enable-memory-tagging \
%endif
--enable-obsolete-nsl \
--enable-profile \
%{?with_sframe:--enable-sframe} \
--enable-stack-protector=strong \
--enable-stackguard-randomization \
--with-binutils=$(pwd)/alt-tools \
--with-bugurl=http://bugs.pld-linux.org/ \
--with-headers=%{_includedir} \
--with-selinux%{!?with_selinux:=no} \
--with-tls
# hack: libgd (used by memusagestat) requires librt, which is built after malloc/ subdir.
# First build all without libgd-dependent components (LIBGD=no)...
%{__make} \
AWK="gawk" \
complocaledir=%{_prefix}/lib/locale \
sLIBdir=%{_libdir} \
LIBGD=no
# ...then, when librt is ready, rerun make to build memusagestat
%{__make} \
AWK="gawk" \
complocaledir=%{_prefix}/lib/locale \
sLIBdir=%{_libdir}
cd ..
%if %{with tests}
env LANGUAGE=C LC_ALL=C \
%{__make} -j1 -C builddir tests
%endif
%if %{without cross}
CC="%{__cc}"
CC=${CC#*ccache }
CC=${CC#%{_libdir}/ccache/}
diet ${CC} %{SOURCE7} %{rpmcflags} -Os -static -o glibc-postinst
%endif
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,default,logrotate.d} \
$RPM_BUILD_ROOT{%{_mandir},/var/log,/var/{lib,run}/nscd} \
$RPM_BUILD_ROOT{/var/cache/ldconfig,%{systemdtmpfilesdir}}
cd builddir
env LANGUAGE=C LC_ALL=C \
%{__make} install \
install_root=$RPM_BUILD_ROOT \