-
Notifications
You must be signed in to change notification settings - Fork 1
/
rpm.spec
1153 lines (999 loc) · 37.4 KB
/
rpm.spec
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:
# - when adopting, use 4.5 ticket for checklist: https://bugs.launchpad.net/pld-linux/+bug/262985
#
# Conditional build:
%bcond_without apidocs # Doxygen based API documentation
%bcond_without python3 # Python (3) bindings
%bcond_without plugins # plugins (all, including: audit, imaevm, selinux, systemd)
%bcond_without recommends_tags # use of Recommends tag (disable for bootstrapping)
%bcond_with imaevm # IMA/EVM signing support (requires libimaevm from ima-evm-utils)
%bcond_without audit # audit plugin
%bcond_without selinux # SELinux plugin
%bcond_without systemd # systemd inhibit plugin
%bcond_without fsverity # fsverity plugin
%define popt_ver 1.15
%define sover 9.3.0
%if "%{_rpmversion}" >= "4.12" && "%{_rpmversion}" < "5"
%define with_recommends_tags 1
%endif
%if %{without plugins}
%undefine with_audit
%undefine with_selinux
%undefine with_systemd
%endif
Summary: RPM Package Manager
Summary(de.UTF-8): RPM Packet-Manager
Summary(es.UTF-8): Gestor de paquetes RPM
Summary(pl.UTF-8): Aplikacja do zarządzania pakietami RPM
Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM
Summary(ru.UTF-8): Менеджер пакетов от RPM
Summary(uk.UTF-8): Менеджер пакетів від RPM
Name: rpm
Version: 4.17.1.1
Release: 7
Epoch: 1
License: GPL v2 / LGPL v2.1
Group: Base
Source0: http://ftp.rpm.org/releases/rpm-4.17.x/%{name}-%{version}.tar.bz2
# Source0-md5: 30e5806bdcb06a17cabf23d8f07b6b0f
Source1: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
# Source1-md5: 23914bb49fafe7153cee87126d966461
Source2: macros.local
Source3: macros.lang
Source4: %{name}.sysconfig
Source5: %{name}.groups
Source6: %{name}-groups-po.awk
Source7: %{name}-install-tree
Source9: %{name}-user_group.sh
# http://svn.pld-linux.org/banner.sh/
Source10: banner.sh
Source11: %{name}.noautoprov
Source12: %{name}.noautoprovfiles
Source13: %{name}.noautoreq
Source14: %{name}.noautoreqfiles
Source15: perl.prov
Source16: libtooldeps.sh
Source17: libtool.attr
Patch0: %{name}-man_pl.patch
Patch1: %{name}-popt-aliases.patch
Patch2: %{name}-perl-macros.patch
Patch3: %{name}-perl-req-perlfile.patch
Patch4: %{name}-scripts-closefds.patch
Patch5: %{name}-dir-macros-relative.patch
Patch6: %{name}-perl_req-INC_dirs.patch
Patch7: %{name}-debuginfo.patch
Patch9: %{name}-builddir-readlink.patch
Patch10: %{name}-changelog_order_check_nonfatal.patch
Patch11: %{name}-postun-nofail.patch
Patch12: %{name}-clean-docdir.patch
Patch13: %{name}-perl-magic.patch
Patch14: %{name}-ignore-missing-macro-files.patch
Patch15: x32.patch
Patch16: rpm5-db-compat.patch
Patch17: python-internal-build.patch
Patch18: missing-macros.patch
Patch19: pkgconfig.patch
Patch20: uname-deps.patch
Patch21: arm_abi.patch
Patch22: ix86-platforms.patch
Patch23: shortcircuited-deps.patch
Patch24: cpuinfo-deps.patch
Patch25: rpmio-read-proc-files.patch
Patch26: allow-at-in-ver-rel.patch
Patch28: default-patch-flags.patch
Patch29: %{name}-noarch_py_prov.patch
Patch30: missing-ghost-terminate-build.patch
Patch31: missing-doc-terminate-build.patch
Patch32: noexpand.patch
Patch34: skip-symlinks.patch
Patch35: pl-po.patch
Patch36: build-locale.patch
Patch37: no-exe-for-elf-req.patch
Patch38: gem-in-package-builddir.patch
Patch39: sqlite-log-crash.patch
Patch40: perl-heredoc-matching.patch
URL: https://rpm.org/
BuildRequires: acl-devel
%{?with_audit:BuildRequires: audit-libs-devel}
BuildRequires: autoconf >= 2.63
BuildRequires: automake >= 1:1.10
BuildRequires: bzip2-devel >= 1.0.2-17
%{?with_plugins:BuildRequires: dbus-devel >= 1.3}
BuildRequires: elfutils-devel >= 0.159
BuildRequires: gettext-tools >= 0.19.2
%{?with_imaevm:BuildRequires: ima-evm-utils-devel >= 1.0}
BuildRequires: libarchive-devel
BuildRequires: libcap-devel
BuildRequires: libgcrypt-devel
BuildRequires: libgomp-devel >= 6:4.5
BuildRequires: libmagic-devel
%{?with_selinux:BuildRequires: libselinux-devel >= 2.1.0}
# needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
BuildRequires: libstdc++-devel
BuildRequires: libtool >= 1:1.4.2-9
BuildRequires: lua-devel >= 5.3
BuildRequires: patch >= 2.2
BuildRequires: pkgconfig
BuildRequires: popt-devel >= %{popt_ver}
BuildRequires: python3-modules >= 1:3.2
%if %{with python3}
BuildRequires: python3-devel >= 1:3.2
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.750
%endif
BuildRequires: rpm-build >= 4.6
BuildRequires: sqlite3-devel >= 3.22.0
BuildRequires: tcl
BuildRequires: xz-devel
BuildRequires: zlib-devel >= 1.0.5
BuildRequires: zstd-devel >= 1.3.8
%if %{with apidocs}
BuildRequires: doxygen
BuildRequires: ghostscript
BuildRequires: graphviz
BuildRequires: tetex-pdftex
%endif
Requires(posttrans): coreutils
Requires: %{name}-base = %{epoch}:%{version}-%{release}
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
Requires: FHS >= 3.0-2
Requires: libgcrypt
Requires: popt >= %{popt_ver}
Requires: rpm-pld-macros >= 2.002
%if %{with recommends_tags}
Recommends: rpm-plugin-audit
Recommends: rpm-plugin-prioreset
Recommends: rpm-plugin-syslog
Recommends: rpm-plugin-systemd-inhibit
%endif
Obsoletes: rpm-utils-perl < 1:4.15
Obsoletes: rpm-utils-static < 1:4.15
Conflicts: glibc < 2.2.92
# db4.6 poldek needed
Conflicts: poldek < 0.21-0.20070703.00.3
# segfaults with lzma 0.42.2
Conflicts: lzma-libs < 4.999.3
Conflicts: util-vserver < 0.30.216-1.pre3034.7
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _binary_payload w9.gzdio
# don't require very fresh rpm.macros to build
%define find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT
%define ix86 i386 i486 i586 i686 athlon geode pentium3 pentium4
%define ppc ppc ppc7400 ppc7450
%define x8664 amd64 ia32e x86_64
%define _rpmlibdir /usr/lib/rpm
%description
RPM is a powerful package manager, which can be used to build,
install, query, verify, update, and uninstall individual software
packages. A package consists of an archive of files, and package
information, including name, version, and description.
%description -l de.UTF-8
RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur
Installation, Anfrage, Verifizierung, Aktualisierung und
Uninstallation individueller Softwarepakete. Ein Paket besteht aus
einem Archiv Dateien und Paketinformation, inklusive Name, Version und
Beschreibung.
%description -l es.UTF-8
RPM es un poderoso administrador de paquetes, que puede ser usado para
construir, instalar, pesquisar, verificar, actualizar y desinstalar
paquetes individuales de software. Un paquete consiste en un
almacenaje de archivos, y información sobre el paquete, incluyendo
nombre, versión y descripción.
%description -l pl.UTF-8
RPM jest doskonałym programem zarządzającym pakietami. Umożliwia on
przebudowanie, instalację czy weryfikację dowolnego pakietu.
Informacje dotyczące każdego pakietu, takie jak jego opis, lista
plików wchodzących w skład pakietu, zależności od innych pakietów, są
przechowywane w bazie danych i można je uzyskać za pomocą opcji
odpytywania programu rpm.
%description -l pt_BR.UTF-8
RPM é um poderoso gerenciador de pacotes, que pode ser usado para
construir, instalar, pesquisar, verificar, atualizar e desinstalar
pacotes individuais de software. Um pacote consiste de um conjunto de
arquivos e informações adicionais, incluindo nome, versão e descrição
do pacote, permissões dos arquivos, etc.
%description -l ru.UTF-8
RPM - это мощный менеджер пакетов, который может быть использован для
создания, инсталляции, запросов (query), проверки, обновления и
удаления программных пакетов. Пакет состоит из файлового архива и
служебной информации, включающей название, версию, описание и другие
данные о пакете.
%description -l uk.UTF-8
RPM - це потужний менеджер пакетів, що може бути використаний для
створення, інсталяції, запитів (query), перевірки, поновлення та
видалення програмних пакетів. Пакет складається з файлового архіву та
службової інформації, що містить назву, версію, опис та іншу
інформацію про пакет.
%package base
Summary: RPM base package - scripts used by rpm packages themselves
Summary(pl.UTF-8): Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
Group: Base
Requires: filesystem
Obsoletes: rpm-scripts < 4.4
Obsoletes: vserver-rpm < 1
%description base
The RPM base package contains scripts used by rpm packages themselves.
These include:
- scripts for adding/removing groups and users needed for rpm
packages,
- banner.sh to display %%banner messages from rpm scriptlets.
%description base -l pl.UTF-8
Pakiet podstawowy RPM zwiera skrypty używane przez same pakiety rpm.
Zawiera on:
- skrypty dodające/usuwające grupy i użytkowników dla pakietów rpm,
- banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
%package lib
Summary: RPMs library
Summary(pl.UTF-8): Biblioteki RPM-a
Group: Libraries
Requires: elfutils-libs >= 0.159
Requires: libmagic >= 1.15-2
Requires: popt >= %{popt_ver}
Requires: sqlite3-libs >= 3.22.0
Requires: zlib >= 1.0.5
Requires: zstd >= 1.3.8
Obsoletes: rpm-libs < 4.0.2-4
# avoid SEGV caused by mixed db versions
Conflicts: poldek < 0.18.1-16
%description lib
RPMs library.
%description lib -l pl.UTF-8
Biblioteki RPM-a.
%package devel
Summary: Header files for rpm libraries
Summary(de.UTF-8): Header-Dateien für rpm Libraries
Summary(es.UTF-8): Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
Summary(pl.UTF-8): Pliki nagłówkowe bibliotek rpm
Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами
Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm
Group: Development/Libraries
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
Requires: acl-devel
%{?with_audit:Requires: audit-libs-devel}
Requires: bzip2-devel
Requires: elfutils-devel >= 0.159
Requires: libcap-devel
Requires: libgcrypt-devel
Requires: libgomp-devel >= 6:4.5
Requires: libmagic-devel
%if %{with selinux}
Requires: libselinux-devel
Requires: libsemanage-devel
Requires: libsepol-devel
%endif
Requires: lua-devel >= 5.3
Requires: popt-devel >= %{popt_ver}
Requires: sqlite3-devel >= 3.22.0
Requires: xz-devel
Requires: zlib-devel >= 1.0.5
Requires: zstd-devel >= 1.3.8
Obsoletes: rpm-static < 1:4.15
%description devel
The RPM packaging system includes C libraries that make it easy to
manipulate RPM packages and databases. They are intended to ease the
creation of graphical package managers and other tools that need
intimate knowledge of RPM packages. This package contains header files
for these libraries.
%description devel -l de.UTF-8
Der RPM-Packensystem enthält eine C-Library, die macht es einfach
RPM-Pakete und Dateibanken zu manipulieren. Er eignet sich für
Vereinfachung des Schaffens grafischer Paket-Manager und anderer
Werkzeuge, die intime Kenntnis von RPM-Paketen brauchen.
%description devel -l es.UTF-8
El sistema de empaquetado RPM incluye una biblioteca C que vuelve
fácil la manipulación de paquetes y bases de datos RPM. Su objetivo es
facilitar la creación de administradores gráficos de paquetes y otras
herramientas que necesiten un conocimiento profundo de paquetes RPM.
%description devel -l pl.UTF-8
System RPM zawiera biblioteki C, które ułatwiają manipulowanie
pakietami RPM oraz bazami danych. W zamiarze ma to uprościć tworzenie
graficznych programów zarządzających pakietami oraz innych narzędzi,
które wymagają szczegółowej wiedzy na temat pakietów RPM. Ten pakiet
zawiera pliki nagłówkowe wspomnianych bibliotek.
%description devel -l pt_BR.UTF-8
O sistema de empacotamento RPM inclui uma biblioteca C que torna fácil
a manipulação de pacotes e bases de dados RPM. Seu objetivo é
facilitar a criação de gerenciadores gráficos de pacotes e outras
ferramentas que precisem de conhecimento profundo de pacotes RPM.
%description devel -l ru.UTF-8
Система управления пакетами RPM содержит библиотеку C, которая
упрощает манипуляцию пакетами RPM и соответствующими базами данных.
Эта библиотека предназначена для облегчения создания графических
пакетных менеджеров и других утилит, которым необходимо работать с
пакетами RPM.
%description devel -l uk.UTF-8
Система керування пакетами RPM містить бібліотеку C, котра спрощує
роботу з пакетами RPM та відповідними базами даних. Ця бібліотека
призначена для полегшення створення графічних пакетних менеджерів та
інших утиліт, що працюють з пакетами RPM.
%package utils
Summary: Additional utilities for managing RPM packages and database
Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
Group: Applications/File
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: popt >= %{popt_ver}
%if %{with recommends_tags}
Recommends: bzip2
Recommends: gzip
%endif
Conflicts: filesystem-debuginfo < 3.0-16
%description utils
Additional utilities for managing RPM packages and database.
%description utils -l de.UTF-8
Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
%description utils -l pl.UTF-8
Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
%package build
Summary: Scripts for building binary RPM packages
Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
Summary(pl.UTF-8): Skrypty pomocnicze do budowania binarnych RPM-ów
Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes
Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
Group: Applications/File
Requires(pretrans): coreutils
Requires(pretrans): findutils
Requires: %{name}-utils = %{epoch}:%{version}-%{release}
Requires: /bin/id
Requires: awk
Requires: bzip2
Requires: chrpath >= 0.10-4
Requires: cpio
Requires: debugedit
Requires: diffutils
Requires: elfutils
Requires: file >= 4.17
Requires: fileutils
Requires: findutils
Requires: rpm-pld-macros-build >= 1.744
%ifarch athlon
Requires: gcc >= 3.0.3
%else
Requires: gcc
%endif
Requires: glibc-devel
Requires: grep
Requires: gzip
Requires: make
Requires: patch
Requires: sed >= 4.0
Requires: sh-utils
Requires: tar >= 1:1.22
Requires: textutils
Requires: which
Requires: xz
Provides: rpmbuild(noauto) = 3
%ifarch %{x8664}
Conflicts: automake < 1:1.7.9-2
Conflicts: libtool < 2:1.5-13
%endif
%description build
Scripts for building binary RPM packages.
%description build -l de.UTF-8
Scripts fürs Bauen binärer RPM-Pakete.
%description build -l pl.UTF-8
Skrypty pomocnicze do budowania binarnych RPM-ów.
%description build -l pt_BR.UTF-8
Este pacote contém scripts e programas executáveis que são usados para
construir pacotes usando o RPM.
%description build -l ru.UTF-8
Различные вспомогательные скрипты и исполняемые программы, которые
используются для сборки RPM'ов.
%description build -l uk.UTF-8
Різноманітні допоміжні скрипти та утиліти, які використовуються для
побудови RPM'ів.
%package perlprov
Summary: Additional utilities for checking Perl provides/requires in RPM packages
Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
Group: Applications/File
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: perl-Encode
Requires: perl-devel
Requires: perl-modules
%description perlprov
Additional utilities for checking Perl provides/requires in RPM
packages.
%description perlprov -l de.UTF-8
Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen.
%description perlprov -l pl.UTF-8
Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
pakietach RPM.
%package -n python3-rpm
Summary: Python 3 interface to RPM library
Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki RPM-a
Summary(pt_BR.UTF-8): Módulo Python 3 para aplicativos que manipulam pacotes RPM
Group: Development/Languages/Python
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: python3
Obsoletes: python-rpm < 1:4.16.0
Obsoletes: rpm-python < 4.0.2-50
%description -n python3-rpm
The python3-rpm package contains a module which permits applications
written in the Python 3 programming language to use the interface
supplied by RPM (RPM Package Manager) libraries.
This package should be installed if you want to develop Python 3
programs that will manipulate RPM packages and databases.
%description -n python3-rpm -l pl.UTF-8
Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w
Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki
RPM-a.
Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
%description -n python3-rpm -l pt_BR.UTF-8
O pacote python3-rpm contém um módulo que permite que aplicações
escritas em Python 3 utilizem a interface fornecida pelas bibliotecas
RPM (RPM Package Manager).
Esse pacote deve ser instalado se você quiser desenvolver programas em
Python 3 para manipular pacotes e bancos de dados RPM.
%package plugin-audit
Summary: Plugin for logging audit events on package operations
Summary(pl.UTF-8): Wtyczka do logowania zdarzeń audytowych przy operacjach na pakietach
Group: Base
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
%description plugin-audit
Plugin for libaudit support.
%description plugin-audit -l pl.UTF-8
Wtyczka do obsługi libaudit.
%package plugin-syslog
Summary: Plugin for syslog functionality
Summary(pl.UTF-8): Wtyczka do funkcjonalności sysloga
Group: Base
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
%description plugin-syslog
This plugin exports RPM actions to the system log.
%description plugin-syslog -l pl.UTF-8
Ta wtyczka eksportuje akcje RPM-a do logu systemowego.
%package plugin-systemd-inhibit
Summary: Plugin for systemd inhibit functionality
Summary(pl.UTF-8): Wtyczka do funkcjonalności systemd inhibit
Group: Base
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
Requires: dbus >= 1.3
%description plugin-systemd-inhibit
This plugin blocks systemd from entering idle, sleep or shutdown while
an rpm transaction is running using the systemd-inhibit mechanism.
%description plugin-systemd-inhibit -l pl.UTF-8
Ta wtyczka blokuje systemd przed wejściem w stan bezczynności (idle),
uśpienia (sleep) lub zamykania (shutdown) podczas trwania transakcji
RPM-a, korzystając z mechanizmu systemd-inhibit.
%package plugin-ima
Summary: Plugin for IMA file signatures
Summary(pl.UTF-8): Wtyczka do sygnatur plików IMA
Group: Base
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
%description plugin-ima
This plugin adds support for enforcing and verifying IMA file
signatures in an rpm.
%description plugin-ima -l pl.UTF-8
Ta wtyczka dodaje obsługę wymuszania i weryfikacji podpisów plików IMA
w RPM-ie.
%package plugin-prioreset
Summary: Plugin for resetting scriptlet priorities for SysV init
Summary(pl.UTF-8): Wtyczka do resetowania priorytetu skryptletów przy inicie SysV
Group: Base
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
%description plugin-prioreset
This plugin is useful on legacy SysV init systems if you run rpm
transactions with nice/ionice priorities. Should not be used on
systemd systems.
%description plugin-prioreset -l pl.UTF-8
Ta wtyczka jest przydatna w systemach ze starym procesem init w wersji
SysV, jeżeli transakcje RPM-a są uruchamiane z priorytetami
nice/ionice. Nie powinna być używana w systemach z systemd.
%package plugin-selinux
Summary: Plugin for SELinux functionality
Summary(pl.UTF-8): Wtyczka do funkcjonalności SELinux
Group: Base
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
Requires: libselinux >= 2.1.0
%description plugin-selinux
Plugin for SELinux functionality.
%description plugin-selinux -l pl.UTF-8
Wtyczka do funkcjonalności SELinux.
%package plugin-fsverity
Summary: Plugin for fsverity file signatures
Summary(pl.UTF-8): Wtyczka do sygnatur plików fsverity
Group: Base
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
%description plugin-fsverity
Plugin for fsverity file signatures.
%description plugin-fsverity -l pl.UTF-8
Wtyczka do sygnatur plików fsverity.
%package plugin-fapolicyd
Summary: Plugin for fapolicyd support
Summary(pl.UTF-8): Wtyczka do obsługi fapolicyd
Group: Base
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
%description plugin-fapolicyd
Plugin for fapolicyd support.
See https://people.redhat.com/sgrubb/fapolicyd/ for information about
the fapolicyd daemon.
%description plugin-fapolicyd -l pl.UTF-8
Wtyczka do obsługi fapolicyd.
Informacje na temat demona fapolicyd można znaleźć pod adresem
<https://people.redhat.com/sgrubb/fapolicyd/>.
%package plugin-dbus-announce
Summary: Plugin for announcing transactions on the DBUS
Summary(pl.UTF-8): Wtyczka ogłaszająca transakcje przez DBUS
Group: Base
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
%description plugin-dbus-announce
The plugin announces basic information about rpm transactions to the
system DBUS - like packages installed or removed. Other programs can
subscribe to the signals to get notified when packages on the system
change.
%description plugin-dbus-announce -l pl.UTF-8
Ta wtyczka ogłasza przez podstawowe szynę systemową DBUS informacje o
transakcjach RPM-a, takie jak pakiety, które są instalowane lub
usuwane. Inne programy mogą zasubskrybować sygnały powiadamiające o
zmianach w pakietach systemowych.
%package sign
Summary: Package signing support
Summary(pl.UTF-8): Obsługa podpisywania pakietów
Group: Base
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
%description sign
This package contains support for digitally signing RPM packages.
%description sign -l pl.UTF-8
Ten pakiet zawiera obsługę cyfrowego podpisywania pakietów RPM.
%package apidocs
Summary: RPM API documentation and guides
Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki
Group: Documentation
BuildArch: noarch
%description apidocs
Documentation for RPM API and guides in HTML format generated from rpm
sources by doxygen.
%description apidocs -l pl.UTF-8
Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
źrodeł RPM-a przez doxygen.
%prep
%setup -q -n %{name}-%{version}%{?subver}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p0
%patch7 -p1
#%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch28 -p1
#%patch29 -p1
%patch30 -p1
%patch31 -p1
%patch32 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch37 -p1
%patch38 -p1
%patch39 -p1
%patch40 -p1
%{__rm} po/*.gmo
install %{SOURCE15} scripts/perl.prov.in
%{__mv} scripts/perl.req{,.in}
# generate Group translations to *.po
awk -f %{SOURCE6} %{SOURCE5}
%build
%{__libtoolize}
%{__aclocal}
%{__autoheader}
%{__autoconf}
%{__automake}
# rpm checks for CPU type at runtime, but it looks better
%{__sed} -i \
-e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
-e 's|@host_cpu@|%{_target_cpu}|' \
-e 's|@host_os@|%{_target_os}|' \
macros.in
%configure \
PYTHON=python3 \
WITH_PERL_VERSION=no \
__GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
__GPG=%{_bindir}/gpg \
--enable-bdb-ro \
--enable-ndb \
%{!?with_plugins:--disable-plugins} \
%{!?with_systemd:--disable-inhibit-plugin} \
--disable-silent-rules \
--enable-sqlite \
--enable-zstd \
--with-acl \
--with-archive \
--with-audit%{!?with_audit:=no} \
--with-cap \
--with-fapolicyd \
%{?with_imaevm:--with-imaevm} \
%{?with_python3:--enable-python} \
--with-selinux%{!?with_selinux:=no} \
--with-vendor=pld
%{__make}
%{__make} -C po update-gmo
%if %{with python3}
cd python
%py3_build
%endif
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
$RPM_BUILD_ROOT/var/lib/{banner,rpm}
cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
%{__make} install \
pkgconfigdir=%{_pkgconfigdir} \
DESTDIR=$RPM_BUILD_ROOT
# cleanup
%ifnarch %{ix86} %{x8664} x32
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/athlon-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/geode-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i386-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i486-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i586-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i686-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium3-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium4-linux/macros
%endif
%ifnarch %{x8664} x32
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/amd64-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia32e-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x32-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x86_64-linux/macros
%endif
%ifnarch %{ppc}
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/m68k-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc32dy4-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc64*-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8260-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8560-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros
%endif
%ifnarch aarch64
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
%endif
%ifnarch %{arm}
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
%endif
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros
cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
%ifarch x32
%{_target_cpu}-%{_target_vendor}-linux-gnux32
%else
%{_target_cpu}-%{_target_vendor}-linux
%endif
EOF
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld
cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rpm
cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh
cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
cp -p %{SOURCE16} $RPM_BUILD_ROOT%{_rpmlibdir}/libtooldeps.sh
cp -p %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/fileattrs/libtool.attr
# move rpm to /bin
%{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmverify
# move essential libs to /lib (libs that /bin/rpm links to)
for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib}
ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
done
# init an empty database for %ghost'ing for all supported backends
for be in sqlite bdb ndb; do
./rpmdb \
--macros=$RPM_BUILD_ROOT%{_rpmlibdir}/macros \
--rcfile=$RPM_BUILD_ROOT%{_rpmlibdir}/rpmrc \
--dbpath=${PWD}/${be} \
--define "_db_backend ${be}" \
--initdb
cp -va ${be}/. $RPM_BUILD_ROOT/var/lib/rpm/
done
%if %{with python3}
# Remove anything that rpm make install might put there
%{__rm} -rf $RPM_BUILD_ROOT%{py3_sitedir}
cd python
%py3_install
cd ..
%endif
%{__rm} $RPM_BUILD_ROOT%{_libdir}/rpm-plugins/*.la
# wrong location, not used anyway
%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log}
%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
%posttrans
if [ -e /var/lib/rpm/Packages ]; then
if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
/bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
echo
echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
echo
fi
echo
echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
echo 'you should ignore it and restart poldek'
echo
%{__rm} -rf /var/lib/rpm/log >/dev/null 2>/dev/null || :
%{__rm} -rf /var/lib/rpm/tmp >/dev/null 2>/dev/null || :
# Unlock database for rebuild, safe since this is posttrans
%{__rm} -f /var/lib/rpm/.rpm.lock >/dev/null 2>/dev/null || :
if ! /usr/bin/rpmdb --rebuilddb; then
echo
echo "rpm database conversion failed!"
echo "You have to run '/usr/bin/rpmdb --rebuilddb' manually"
echo
exit 1
fi
fi
%post
if [ -d /var/cache/hrmib ]; then
%{__rm} -rf /var/cache/hrmib
echo "HR-MIB is not supported by this rpm version."
echo "/var/cache/hrmib has been removed."
fi
%post lib -p /sbin/ldconfig
%postun lib -p /sbin/ldconfig
%pretrans build
find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc ChangeLog CREDITS README
%dir /etc/pki/rpm-gpg
/etc/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
%attr(755,root,root) /bin/rpm
%attr(755,root,root) %{_bindir}/rpmdb
%attr(755,root,root) %{_bindir}/rpmkeys
%attr(755,root,root) %{_bindir}/rpmquery
%attr(755,root,root) %{_bindir}/rpmverify
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
# this is ok to be replaced
%config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform
%{_mandir}/man8/rpm.8*
%{_mandir}/man8/rpmdb.8*
%{_mandir}/man8/rpmkeys.8*
%{_mandir}/man8/rpm-misc.8*
%{?with_plugins:%{_mandir}/man8/rpm-plugins.8*}
%lang(fr) %{_mandir}/fr/man8/rpm.8*
%lang(ja) %{_mandir}/ja/man8/rpm.8*
%lang(ko) %{_mandir}/ko/man8/rpm.8*
%lang(pl) %{_mandir}/pl/man8/rpm.8*
%lang(ru) %{_mandir}/ru/man8/rpm.8*
%lang(sk) %{_mandir}/sk/man8/rpm.8*
%dir /var/lib/rpm
%ghost %config(missingok,noreplace) /var/lib/rpm/*
%ghost /var/lib/rpm/.*.lock
%{_rpmlibdir}/rpmpopt*
%{_rpmlibdir}/rpmrc
%{_rpmlibdir}/macros
%dir %{_rpmlibdir}/macros.d
%dir %{_rpmlibdir}/platform
%{_rpmlibdir}/platform/noarch-*
%ifarch %{ix86} %{x8664} x32
%{_rpmlibdir}/platform/athlon*
%{_rpmlibdir}/platform/geode*
%{_rpmlibdir}/platform/i?86*
%{_rpmlibdir}/platform/pentium*
%endif
%ifarch %{x8664} x32
%{_rpmlibdir}/platform/amd64*
%{_rpmlibdir}/platform/ia32e*
%{_rpmlibdir}/platform/x86_64*
%{_rpmlibdir}/platform/x32*
%endif
%ifarch alpha
%{_rpmlibdir}/platform/alpha*
%endif
%ifarch aarch64
%{_rpmlibdir}/platform/aarch64*
%endif
%ifarch %{arm}
%{_rpmlibdir}/platform/arm*
%endif
%ifarch ia64
%{_rpmlibdir}/platform/ia64*
%endif
%ifarch mips mipsel mips64 mips64el
%{_rpmlibdir}/platform/mips*
%endif
%ifarch %{ppc}
%{_rpmlibdir}/platform/ppc*
%endif
%ifarch sparc sparc64
%{_rpmlibdir}/platform/sparc*
%endif
%dir %{_rpmlibdir}/pld
%attr(755,root,root) %{_rpmlibdir}/rpmdb_dump
%attr(755,root,root) %{_rpmlibdir}/rpmdb_load
# valgrind suppression file for rpm
%{_rpmlibdir}/rpm.supp
%files base
%defattr(644,root,root,755)
%dir %{_sysconfdir}/rpm
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
%dir %{_rpmlibdir}
%attr(755,root,root) %{_bindir}/banner.sh
%attr(755,root,root) %{_rpmlibdir}/user_group.sh
%dir /var/lib/banner
%files lib
%defattr(644,root,root,755)
%attr(755,root,root) /%{_lib}/librpm.so.9
%attr(755,root,root) /%{_lib}/librpm.so.%{sover}
%attr(755,root,root) /%{_lib}/librpmbuild.so.9
%attr(755,root,root) /%{_lib}/librpmbuild.so.%{sover}
%attr(755,root,root) /%{_lib}/librpmio.so.9
%attr(755,root,root) /%{_lib}/librpmio.so.%{sover}
%attr(755,root,root) /%{_lib}/librpmsign.so.9
%attr(755,root,root) /%{_lib}/librpmsign.so.%{sover}
%{?with_plugins:%dir %{_libdir}/rpm-plugins}
%files devel
%defattr(644,root,root,755)