3 # - when adopting, use 4.5 ticket for checklist: https://bugs.launchpad.net/pld-linux/+bug/262985
6 %bcond_without apidocs # Doxygen based API documentation
7 %bcond_without python3 # Python (3) bindings
8 %bcond_without plugins # plugins (all, including: audit, imaevm, selinux, systemd)
9 %bcond_without recommends_tags # use of Recommends tag (disable for bootstrapping)
10 %bcond_with imaevm # IMA/EVM signing support (requires libimaevm from ima-evm-utils)
11 %bcond_without audit # audit plugin
12 %bcond_without selinux # SELinux plugin
13 %bcond_without systemd # systemd inhibit plugin
14 %bcond_without fsverity # fsverity plugin
19 %if "%{_rpmversion}" >= "4.12" && "%{_rpmversion}" < "5"
20 %define with_recommends_tags 1
23 %if %{without plugins}
25 %undefine with_selinux
26 %undefine with_systemd
28 Summary: RPM Package Manager
29 Summary(de.UTF-8): RPM Packet-Manager
30 Summary(es.UTF-8): Gestor de paquetes RPM
31 Summary(pl.UTF-8): Aplikacja do zarządzania pakietami RPM
32 Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM
33 Summary(ru.UTF-8): Менеджер пакетов от RPM
34 Summary(uk.UTF-8): Менеджер пакетів від RPM
39 License: GPL v2 / LGPL v2.1
41 Source0: http://ftp.rpm.org/releases/rpm-4.17.x/%{name}-%{version}.tar.bz2
42 # Source0-md5: 9da155ee8e560fd9ada8b858a73907bb
43 Source1: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
44 # Source1-md5: 23914bb49fafe7153cee87126d966461
47 Source4: %{name}.sysconfig
48 Source5: %{name}.groups
49 Source6: %{name}-groups-po.awk
50 Source7: %{name}-install-tree
51 Source9: %{name}-user_group.sh
52 # http://svn.pld-linux.org/banner.sh/
54 Source11: %{name}.noautoprov
55 Source12: %{name}.noautoprovfiles
56 Source13: %{name}.noautoreq
57 Source14: %{name}.noautoreqfiles
59 Source16: libtooldeps.sh
60 Source17: libtool.attr
61 Patch0: %{name}-man_pl.patch
62 Patch1: %{name}-popt-aliases.patch
63 Patch2: %{name}-perl-macros.patch
64 Patch3: %{name}-perl-req-perlfile.patch
65 Patch4: %{name}-scripts-closefds.patch
66 Patch5: %{name}-dir-macros-relative.patch
67 Patch6: %{name}-perl_req-INC_dirs.patch
68 Patch7: %{name}-debuginfo.patch
69 Patch9: %{name}-builddir-readlink.patch
70 Patch10: %{name}-changelog_order_check_nonfatal.patch
71 Patch11: %{name}-postun-nofail.patch
72 Patch12: %{name}-clean-docdir.patch
73 Patch13: %{name}-perl-magic.patch
74 Patch14: %{name}-ignore-missing-macro-files.patch
76 Patch16: rpm5-db-compat.patch
77 Patch17: python-internal-build.patch
78 Patch18: missing-macros.patch
79 Patch19: pkgconfig.patch
80 Patch20: uname-deps.patch
81 Patch21: arm_abi.patch
82 Patch22: ix86-platforms.patch
83 Patch23: shortcircuited-deps.patch
84 Patch24: cpuinfo-deps.patch
85 Patch25: rpmio-read-proc-files.patch
86 Patch26: allow-at-in-ver-rel.patch
87 Patch28: default-patch-flags.patch
88 Patch29: %{name}-noarch_py_prov.patch
89 Patch30: missing-ghost-terminate-build.patch
90 Patch31: missing-doc-terminate-build.patch
91 Patch32: noexpand.patch
92 Patch34: skip-symlinks.patch
94 Patch36: build-locale.patch
95 Patch37: no-exe-for-elf-req.patch
96 Patch38: gem-in-package-builddir.patch
98 BuildRequires: acl-devel
99 %{?with_audit:BuildRequires: audit-libs-devel}
100 BuildRequires: autoconf >= 2.63
101 BuildRequires: automake >= 1:1.10
102 BuildRequires: bzip2-devel >= 1.0.2-17
103 %{?with_plugins:BuildRequires: dbus-devel >= 1.3}
104 BuildRequires: elfutils-devel >= 0.159
105 BuildRequires: gettext-tools >= 0.19.2
106 %{?with_imaevm:BuildRequires: ima-evm-utils-devel >= 1.0}
107 BuildRequires: libarchive-devel
108 BuildRequires: libcap-devel
109 BuildRequires: libgcrypt-devel
110 BuildRequires: libgomp-devel >= 6:4.5
111 BuildRequires: libmagic-devel
112 %{?with_selinux:BuildRequires: libselinux-devel >= 2.1.0}
113 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
114 BuildRequires: libstdc++-devel
115 BuildRequires: libtool >= 1:1.4.2-9
116 BuildRequires: lua-devel >= 5.3
117 BuildRequires: patch >= 2.2
118 BuildRequires: pkgconfig
119 BuildRequires: popt-devel >= %{popt_ver}
120 BuildRequires: python3-modules >= 1:3.2
122 BuildRequires: python3-devel >= 1:3.2
123 BuildRequires: rpm-pythonprov
124 BuildRequires: rpmbuild(macros) >= 1.750
126 BuildRequires: rpm-build >= 4.6
127 BuildRequires: sqlite3-devel >= 3.22.0
129 BuildRequires: xz-devel
130 BuildRequires: zlib-devel >= 1.0.5
131 BuildRequires: zstd-devel >= 1.3.8
133 BuildRequires: doxygen
134 BuildRequires: ghostscript
135 BuildRequires: graphviz
136 BuildRequires: tetex-pdftex
138 Requires(posttrans): coreutils
139 Requires: %{name}-base = %{epoch}:%{version}-%{release}
140 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
141 Requires: FHS >= 3.0-2
143 Requires: popt >= %{popt_ver}
144 Requires: rpm-pld-macros >= 2.002
145 %if %{with recommends_tags}
146 Recommends: rpm-plugin-audit
147 Recommends: rpm-plugin-prioreset
148 Recommends: rpm-plugin-syslog
149 Recommends: rpm-plugin-systemd-inhibit
151 Obsoletes: rpm-utils-perl < 1:4.15
152 Obsoletes: rpm-utils-static < 1:4.15
153 Conflicts: glibc < 2.2.92
154 # db4.6 poldek needed
155 Conflicts: poldek < 0.21-0.20070703.00.3
156 # segfaults with lzma 0.42.2
157 Conflicts: lzma-libs < 4.999.3
158 Conflicts: util-vserver < 0.30.216-1.pre3034.7
159 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
161 %define _binary_payload w9.gzdio
163 # don't require very fresh rpm.macros to build
164 %define find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT
165 %define ix86 i386 i486 i586 i686 athlon geode pentium3 pentium4
166 %define ppc ppc ppc7400 ppc7450
167 %define x8664 amd64 ia32e x86_64
169 %define _rpmlibdir /usr/lib/rpm
172 RPM is a powerful package manager, which can be used to build,
173 install, query, verify, update, and uninstall individual software
174 packages. A package consists of an archive of files, and package
175 information, including name, version, and description.
177 %description -l de.UTF-8
178 RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur
179 Installation, Anfrage, Verifizierung, Aktualisierung und
180 Uninstallation individueller Softwarepakete. Ein Paket besteht aus
181 einem Archiv Dateien und Paketinformation, inklusive Name, Version und
184 %description -l es.UTF-8
185 RPM es un poderoso administrador de paquetes, que puede ser usado para
186 construir, instalar, pesquisar, verificar, actualizar y desinstalar
187 paquetes individuales de software. Un paquete consiste en un
188 almacenaje de archivos, y información sobre el paquete, incluyendo
189 nombre, versión y descripción.
191 %description -l pl.UTF-8
192 RPM jest doskonałym programem zarządzającym pakietami. Umożliwia on
193 przebudowanie, instalację czy weryfikację dowolnego pakietu.
194 Informacje dotyczące każdego pakietu, takie jak jego opis, lista
195 plików wchodzących w skład pakietu, zależności od innych pakietów, są
196 przechowywane w bazie danych i można je uzyskać za pomocą opcji
197 odpytywania programu rpm.
199 %description -l pt_BR.UTF-8
200 RPM é um poderoso gerenciador de pacotes, que pode ser usado para
201 construir, instalar, pesquisar, verificar, atualizar e desinstalar
202 pacotes individuais de software. Um pacote consiste de um conjunto de
203 arquivos e informações adicionais, incluindo nome, versão e descrição
204 do pacote, permissões dos arquivos, etc.
206 %description -l ru.UTF-8
207 RPM - это мощный менеджер пакетов, который может быть использован для
208 создания, инсталляции, запросов (query), проверки, обновления и
209 удаления программных пакетов. Пакет состоит из файлового архива и
210 служебной информации, включающей название, версию, описание и другие
213 %description -l uk.UTF-8
214 RPM - це потужний менеджер пакетів, що може бути використаний для
215 створення, інсталяції, запитів (query), перевірки, поновлення та
216 видалення програмних пакетів. Пакет складається з файлового архіву та
217 службової інформації, що містить назву, версію, опис та іншу
218 інформацію про пакет.
221 Summary: RPM base package - scripts used by rpm packages themselves
222 Summary(pl.UTF-8): Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
225 Obsoletes: rpm-scripts < 4.4
226 Obsoletes: vserver-rpm < 1
229 The RPM base package contains scripts used by rpm packages themselves.
231 - scripts for adding/removing groups and users needed for rpm
233 - banner.sh to display %%banner messages from rpm scriptlets.
235 %description base -l pl.UTF-8
236 Pakiet podstawowy RPM zwiera skrypty używane przez same pakiety rpm.
238 - skrypty dodające/usuwające grupy i użytkowników dla pakietów rpm,
239 - banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
242 Summary: RPMs library
243 Summary(pl.UTF-8): Biblioteki RPM-a
245 Requires: elfutils >= 0.159
246 Requires: elfutils-libelf >= 0.159
247 Requires: libmagic >= 1.15-2
248 Requires: popt >= %{popt_ver}
249 Requires: sqlite3-libs >= 3.22.0
250 Requires: zlib >= 1.0.5
251 Requires: zstd >= 1.3.8
252 Obsoletes: rpm-libs < 4.0.2-4
253 # avoid SEGV caused by mixed db versions
254 Conflicts: poldek < 0.18.1-16
259 %description lib -l pl.UTF-8
263 Summary: Header files for rpm libraries
264 Summary(de.UTF-8): Header-Dateien für rpm Libraries
265 Summary(es.UTF-8): Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
266 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek rpm
267 Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
268 Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами
269 Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm
270 Group: Development/Libraries
271 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
273 %{?with_audit:Requires: audit-libs-devel}
274 Requires: bzip2-devel
275 Requires: elfutils-devel >= 0.159
276 Requires: libcap-devel
277 Requires: libgcrypt-devel
278 Requires: libmagic-devel
280 Requires: libselinux-devel
281 Requires: libsemanage-devel
282 Requires: libsepol-devel
284 Requires: lua-devel >= 5.3
285 Requires: popt-devel >= %{popt_ver}
286 Requires: sqlite3-devel >= 3.22.0
288 Requires: zlib-devel >= 1.0.5
289 Requires: zstd-devel >= 1.3.8
290 Obsoletes: rpm-static < 1:4.15
293 The RPM packaging system includes C libraries that make it easy to
294 manipulate RPM packages and databases. They are intended to ease the
295 creation of graphical package managers and other tools that need
296 intimate knowledge of RPM packages. This package contains header files
299 %description devel -l de.UTF-8
300 Der RPM-Packensystem enthält eine C-Library, die macht es einfach
301 RPM-Pakete und Dateibanken zu manipulieren. Er eignet sich für
302 Vereinfachung des Schaffens grafischer Paket-Manager und anderer
303 Werkzeuge, die intime Kenntnis von RPM-Paketen brauchen.
305 %description devel -l es.UTF-8
306 El sistema de empaquetado RPM incluye una biblioteca C que vuelve
307 fácil la manipulación de paquetes y bases de datos RPM. Su objetivo es
308 facilitar la creación de administradores gráficos de paquetes y otras
309 herramientas que necesiten un conocimiento profundo de paquetes RPM.
311 %description devel -l pl.UTF-8
312 System RPM zawiera biblioteki C, które ułatwiają manipulowanie
313 pakietami RPM oraz bazami danych. W zamiarze ma to uprościć tworzenie
314 graficznych programów zarządzających pakietami oraz innych narzędzi,
315 które wymagają szczegółowej wiedzy na temat pakietów RPM. Ten pakiet
316 zawiera pliki nagłówkowe wspomnianych bibliotek.
318 %description devel -l pt_BR.UTF-8
319 O sistema de empacotamento RPM inclui uma biblioteca C que torna fácil
320 a manipulação de pacotes e bases de dados RPM. Seu objetivo é
321 facilitar a criação de gerenciadores gráficos de pacotes e outras
322 ferramentas que precisem de conhecimento profundo de pacotes RPM.
324 %description devel -l ru.UTF-8
325 Система управления пакетами RPM содержит библиотеку C, которая
326 упрощает манипуляцию пакетами RPM и соответствующими базами данных.
327 Эта библиотека предназначена для облегчения создания графических
328 пакетных менеджеров и других утилит, которым необходимо работать с
331 %description devel -l uk.UTF-8
332 Система керування пакетами RPM містить бібліотеку C, котра спрощує
333 роботу з пакетами RPM та відповідними базами даних. Ця бібліотека
334 призначена для полегшення створення графічних пакетних менеджерів та
335 інших утиліт, що працюють з пакетами RPM.
338 Summary: Additional utilities for managing RPM packages and database
339 Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
340 Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
341 Group: Applications/File
342 Requires: %{name} = %{epoch}:%{version}-%{release}
343 Requires: popt >= %{popt_ver}
344 %if %{with recommends_tags}
348 Conflicts: filesystem-debuginfo < 3.0-16
351 Additional utilities for managing RPM packages and database.
353 %description utils -l de.UTF-8
354 Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
356 %description utils -l pl.UTF-8
357 Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
360 Summary: Scripts for building binary RPM packages
361 Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
362 Summary(pl.UTF-8): Skrypty pomocnicze do budowania binarnych RPM-ów
363 Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes
364 Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
365 Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
366 Group: Applications/File
367 Requires(pretrans): coreutils
368 Requires(pretrans): findutils
369 Requires: %{name}-utils = %{epoch}:%{version}-%{release}
373 Requires: chrpath >= 0.10-4
378 Requires: file >= 4.17
381 Requires: rpm-pld-macros-build >= 1.744
383 Requires: gcc >= 3.0.3
387 Requires: glibc-devel
394 Requires: tar >= 1:1.22
398 Provides: rpmbuild(noauto) = 3
400 Conflicts: automake < 1:1.7.9-2
401 Conflicts: libtool < 2:1.5-13
405 Scripts for building binary RPM packages.
407 %description build -l de.UTF-8
408 Scripts fürs Bauen binärer RPM-Pakete.
410 %description build -l pl.UTF-8
411 Skrypty pomocnicze do budowania binarnych RPM-ów.
413 %description build -l pt_BR.UTF-8
414 Este pacote contém scripts e programas executáveis que são usados para
415 construir pacotes usando o RPM.
417 %description build -l ru.UTF-8
418 Различные вспомогательные скрипты и исполняемые программы, которые
419 используются для сборки RPM'ов.
421 %description build -l uk.UTF-8
422 Різноманітні допоміжні скрипти та утиліти, які використовуються для
426 Summary: Additional utilities for checking Perl provides/requires in RPM packages
427 Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
428 Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
429 Group: Applications/File
430 Requires: %{name} = %{epoch}:%{version}-%{release}
431 Requires: perl-Encode
433 Requires: perl-modules
435 %description perlprov
436 Additional utilities for checking Perl provides/requires in RPM
439 %description perlprov -l de.UTF-8
440 Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen.
442 %description perlprov -l pl.UTF-8
443 Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
446 %package -n python3-rpm
447 Summary: Python 3 interface to RPM library
448 Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki RPM-a
449 Summary(pt_BR.UTF-8): Módulo Python 3 para aplicativos que manipulam pacotes RPM
450 Group: Development/Languages/Python
451 Requires: %{name} = %{epoch}:%{version}-%{release}
453 Obsoletes: python-rpm < 1:4.16.0
454 Obsoletes: rpm-python < 4.0.2-50
456 %description -n python3-rpm
457 The python3-rpm package contains a module which permits applications
458 written in the Python 3 programming language to use the interface
459 supplied by RPM (RPM Package Manager) libraries.
461 This package should be installed if you want to develop Python 3
462 programs that will manipulate RPM packages and databases.
464 %description -n python3-rpm -l pl.UTF-8
465 Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w
466 Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki
469 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
470 Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
472 %description -n python3-rpm -l pt_BR.UTF-8
473 O pacote python3-rpm contém um módulo que permite que aplicações
474 escritas em Python 3 utilizem a interface fornecida pelas bibliotecas
475 RPM (RPM Package Manager).
477 Esse pacote deve ser instalado se você quiser desenvolver programas em
478 Python 3 para manipular pacotes e bancos de dados RPM.
480 %package plugin-audit
481 Summary: Plugin for logging audit events on package operations
482 Summary(pl.UTF-8): Wtyczka do logowania zdarzeń audytowych przy operacjach na pakietach
484 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
486 %description plugin-audit
487 Plugin for libaudit support.
489 %description plugin-audit -l pl.UTF-8
490 Wtyczka do obsługi libaudit.
492 %package plugin-syslog
493 Summary: Plugin for syslog functionality
494 Summary(pl.UTF-8): Wtyczka do funkcjonalności sysloga
496 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
498 %description plugin-syslog
499 This plugin exports RPM actions to the system log.
501 %description plugin-syslog -l pl.UTF-8
502 Ta wtyczka eksportuje akcje RPM-a do logu systemowego.
504 %package plugin-systemd-inhibit
505 Summary: Plugin for systemd inhibit functionality
506 Summary(pl.UTF-8): Wtyczka do funkcjonalności systemd inhibit
508 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
509 Requires: dbus >= 1.3
511 %description plugin-systemd-inhibit
512 This plugin blocks systemd from entering idle, sleep or shutdown while
513 an rpm transaction is running using the systemd-inhibit mechanism.
515 %description plugin-systemd-inhibit -l pl.UTF-8
516 Ta wtyczka blokuje systemd przed wejściem w stan bezczynności (idle),
517 uśpienia (sleep) lub zamykania (shutdown) podczas trwania transakcji
518 RPM-a, korzystając z mechanizmu systemd-inhibit.
521 Summary: Plugin for IMA file signatures
522 Summary(pl.UTF-8): Wtyczka do sygnatur plików IMA
524 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
526 %description plugin-ima
527 This plugin adds support for enforcing and verifying IMA file
528 signatures in an rpm.
530 %description plugin-ima -l pl.UTF-8
531 Ta wtyczka dodaje obsługę wymuszania i weryfikacji podpisów plików IMA
534 %package plugin-prioreset
535 Summary: Plugin for resetting scriptlet priorities for SysV init
536 Summary(pl.UTF-8): Wtyczka do resetowania priorytetu skryptletów przy inicie SysV
538 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
540 %description plugin-prioreset
541 This plugin is useful on legacy SysV init systems if you run rpm
542 transactions with nice/ionice priorities. Should not be used on
545 %description plugin-prioreset -l pl.UTF-8
546 Ta wtyczka jest przydatna w systemach ze starym procesem init w wersji
547 SysV, jeżeli transakcje RPM-a są uruchamiane z priorytetami
548 nice/ionice. Nie powinna być używana w systemach z systemd.
550 %package plugin-selinux
551 Summary: Plugin for SELinux functionality
552 Summary(pl.UTF-8): Wtyczka do funkcjonalności SELinux
554 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
555 Requires: libselinux >= 2.1.0
557 %description plugin-selinux
558 Plugin for SELinux functionality.
560 %description plugin-selinux -l pl.UTF-8
561 Wtyczka do funkcjonalności SELinux.
563 %package plugin-fsverity
564 Summary: Plugin for fsverity file signatures
566 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
568 %description plugin-fsverity
569 Plugin for fsverity file signatures.
571 %package plugin-fapolicyd
572 Summary: Plugin for fapolicyd support
574 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
576 %description plugin-fapolicyd
577 Plugin for fapolicyd support.
579 See https://people.redhat.com/sgrubb/fapolicyd/ for information about
580 the fapolicyd daemon.
582 %package plugin-dbus-announce
583 Summary: Plugin for announcing transactions on the DBUS
585 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
587 %description plugin-dbus-announce
588 The plugin announces basic information about rpm transactions to the
589 system DBUS - like packages installed or removed. Other programs can
590 subscribe to the signals to get notified when packages on the system
594 Summary: Package signing support
595 Summary(pl.UTF-8): Obsługa podpisywania pakietów
597 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
600 This package contains support for digitally signing RPM packages.
602 %description sign -l pl.UTF-8
603 Ten pakiet zawiera obsługę cyfrowego podpisywania pakietów RPM.
606 Summary: RPM API documentation and guides
607 Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki
612 Documentation for RPM API and guides in HTML format generated from rpm
615 %description apidocs -l pl.UTF-8
616 Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
617 źrodeł RPM-a przez doxygen.
620 %setup -q -n %{name}-%{version}%{?subver}
660 install %{SOURCE15} scripts/perl.prov.in
662 %{__mv} scripts/perl.req{,.in}
664 # generate Group translations to *.po
665 awk -f %{SOURCE6} %{SOURCE5}
674 # rpm checks for CPU type at runtime, but it looks better
676 -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
677 -e 's|@host_cpu@|%{_target_cpu}|' \
678 -e 's|@host_os@|%{_target_os}|' \
683 WITH_PERL_VERSION=no \
684 __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
685 __GPG=%{_bindir}/gpg \
688 %{!?with_plugins:--disable-plugins} \
689 %{!?with_systemd:--disable-inhibit-plugin} \
690 --disable-silent-rules \
695 --with-audit%{!?with_audit:=no} \
698 %{?with_imaevm:--with-imaevm} \
699 %{?with_python3:--enable-python} \
700 --with-selinux%{!?with_selinux:=no} \
705 %{__make} -C po update-gmo
713 rm -rf $RPM_BUILD_ROOT
714 install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
715 $RPM_BUILD_ROOT/var/lib/{banner,rpm}
717 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
720 pkgconfigdir=%{_pkgconfigdir} \
721 DESTDIR=$RPM_BUILD_ROOT
724 %ifnarch %{ix86} %{x8664} x32
725 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/athlon-linux/macros
726 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/geode-linux/macros
727 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i386-linux/macros
728 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i486-linux/macros
729 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i586-linux/macros
730 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i686-linux/macros
731 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium3-linux/macros
732 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium4-linux/macros
735 %ifnarch %{x8664} x32
736 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/amd64-linux/macros
737 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia32e-linux/macros
738 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x32-linux/macros
739 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x86_64-linux/macros
743 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/m68k-linux/macros
744 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc32dy4-linux/macros
745 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc64*-linux/macros
746 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8260-linux/macros
747 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8560-linux/macros
748 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros
749 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros
753 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
757 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
760 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros
761 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros
762 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros
763 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros
764 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros
765 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros
766 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros
768 cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
770 %{_target_cpu}-%{_target_vendor}-linux-gnux32
772 %{_target_cpu}-%{_target_vendor}-linux
776 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
778 install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld
780 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
781 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
782 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rpm
784 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh
786 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
787 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
788 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
789 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
790 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
791 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
793 cp -p %{SOURCE16} $RPM_BUILD_ROOT%{_rpmlibdir}/libtooldeps.sh
794 cp -p %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/fileattrs/libtool.attr
797 %{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
798 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
799 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmverify
801 # move essential libs to /lib (libs that /bin/rpm links to)
802 for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
803 mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib}
804 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
807 # init an empty database for %ghost'ing for all supported backends
808 for be in sqlite bdb ndb; do
810 --macros=$RPM_BUILD_ROOT%{_rpmlibdir}/macros \
811 --rcfile=$RPM_BUILD_ROOT%{_rpmlibdir}/rpmrc \
812 --dbpath=${PWD}/${be} \
813 --define "_db_backend ${be}" \
815 cp -va ${be}/. $RPM_BUILD_ROOT/var/lib/rpm/
819 # Remove anything that rpm make install might put there
820 %{__rm} -rf $RPM_BUILD_ROOT%{py3_sitedir}
826 %{__rm} $RPM_BUILD_ROOT%{_libdir}/rpm-plugins/*.la
828 # wrong location, not used anyway
829 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log}
834 rm -rf $RPM_BUILD_ROOT
837 if [ -e /var/lib/rpm/Packages ]; then
838 if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
839 /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
841 echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
845 echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
846 echo 'you should ignore it and restart poldek'
848 %{__rm} -rf /var/lib/rpm/log >/dev/null 2>/dev/null || :
849 %{__rm} -rf /var/lib/rpm/tmp >/dev/null 2>/dev/null || :
850 # Unlock database for rebuild, safe since this is posttrans
851 %{__rm} -f /var/lib/rpm/.rpm.lock >/dev/null 2>/dev/null || :
852 if ! /usr/bin/rpmdb --rebuilddb; then
854 echo "rpm database conversion failed!"
855 echo "You have to run '/usr/bin/rpmdb --rebuilddb' manually"
862 if [ -d /var/cache/hrmib ]; then
863 %{__rm} -rf /var/cache/hrmib
864 echo "HR-MIB is not supported by this rpm version."
865 echo "/var/cache/hrmib has been removed."
868 %post lib -p /sbin/ldconfig
869 %postun lib -p /sbin/ldconfig
872 find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
874 %files -f %{name}.lang
875 %defattr(644,root,root,755)
876 %doc ChangeLog CREDITS README
878 %dir /etc/pki/rpm-gpg
879 /etc/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
881 %attr(755,root,root) /bin/rpm
882 %attr(755,root,root) %{_bindir}/rpmdb
883 %attr(755,root,root) %{_bindir}/rpmkeys
884 %attr(755,root,root) %{_bindir}/rpmquery
885 %attr(755,root,root) %{_bindir}/rpmverify
887 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
888 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
889 # this is ok to be replaced
890 %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform
892 %{_mandir}/man8/rpm.8*
893 %{_mandir}/man8/rpmdb.8*
894 %{_mandir}/man8/rpmkeys.8*
895 %{_mandir}/man8/rpm-misc.8*
896 %{?with_plugins:%{_mandir}/man8/rpm-plugins.8*}
897 %lang(fr) %{_mandir}/fr/man8/rpm.8*
898 %lang(ja) %{_mandir}/ja/man8/rpm.8*
899 %lang(ko) %{_mandir}/ko/man8/rpm.8*
900 %lang(pl) %{_mandir}/pl/man8/rpm.8*
901 %lang(ru) %{_mandir}/ru/man8/rpm.8*
902 %lang(sk) %{_mandir}/sk/man8/rpm.8*
905 %ghost %config(missingok,noreplace) /var/lib/rpm/*
906 %ghost /var/lib/rpm/.*.lock
908 %{_rpmlibdir}/rpmpopt*
911 %dir %{_rpmlibdir}/macros.d
912 %dir %{_rpmlibdir}/platform
913 %{_rpmlibdir}/platform/noarch-*
914 %ifarch %{ix86} %{x8664} x32
915 %{_rpmlibdir}/platform/athlon*
916 %{_rpmlibdir}/platform/geode*
917 %{_rpmlibdir}/platform/i?86*
918 %{_rpmlibdir}/platform/pentium*
921 %{_rpmlibdir}/platform/amd64*
922 %{_rpmlibdir}/platform/ia32e*
923 %{_rpmlibdir}/platform/x86_64*
924 %{_rpmlibdir}/platform/x32*
927 %{_rpmlibdir}/platform/alpha*
930 %{_rpmlibdir}/platform/aarch64*
933 %{_rpmlibdir}/platform/arm*
936 %{_rpmlibdir}/platform/ia64*
938 %ifarch mips mipsel mips64 mips64el
939 %{_rpmlibdir}/platform/mips*
942 %{_rpmlibdir}/platform/ppc*
944 %ifarch sparc sparc64
945 %{_rpmlibdir}/platform/sparc*
948 %dir %{_rpmlibdir}/pld
950 %attr(755,root,root) %{_rpmlibdir}/rpmdb_dump
951 %attr(755,root,root) %{_rpmlibdir}/rpmdb_load
953 # valgrind suppression file for rpm
954 %{_rpmlibdir}/rpm.supp
957 %defattr(644,root,root,755)
958 %dir %{_sysconfdir}/rpm
959 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
961 %attr(755,root,root) %{_bindir}/banner.sh
962 %attr(755,root,root) %{_rpmlibdir}/user_group.sh
966 %defattr(644,root,root,755)
967 %attr(755,root,root) /%{_lib}/librpm.so.9
968 %attr(755,root,root) /%{_lib}/librpm.so.%{sover}
969 %attr(755,root,root) /%{_lib}/librpmbuild.so.9
970 %attr(755,root,root) /%{_lib}/librpmbuild.so.%{sover}
971 %attr(755,root,root) /%{_lib}/librpmio.so.9
972 %attr(755,root,root) /%{_lib}/librpmio.so.%{sover}
973 %attr(755,root,root) /%{_lib}/librpmsign.so.9
974 %attr(755,root,root) /%{_lib}/librpmsign.so.%{sover}
975 %{?with_plugins:%dir %{_libdir}/rpm-plugins}
978 %defattr(644,root,root,755)
979 %attr(755,root,root) %{_libdir}/librpm.so
980 %attr(755,root,root) %{_libdir}/librpmbuild.so
981 %attr(755,root,root) %{_libdir}/librpmio.so
982 %attr(755,root,root) %{_libdir}/librpmsign.so
984 %{_libdir}/librpmbuild.la
985 %{_libdir}/librpmio.la
986 %{_libdir}/librpmsign.la
988 %{_pkgconfigdir}/rpm.pc
991 %defattr(644,root,root,755)
992 %attr(755,root,root) %{_bindir}/rpm2archive
993 %attr(755,root,root) %{_bindir}/rpm2cpio
994 %attr(755,root,root) %{_bindir}/rpmgraph
995 %attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
996 %attr(755,root,root) %{_rpmlibdir}/tgpg
997 %attr(755,root,root) %{_rpmlibdir}/rpmdeps
998 %{_mandir}/man8/rpm2archive.8*
999 %{_mandir}/man8/rpm2cpio.8*
1000 %{_mandir}/man8/rpmdeps.8*
1001 %{_mandir}/man8/rpmgraph.8*
1002 %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
1003 %lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
1004 %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
1005 %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
1006 %lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
1007 %lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
1008 %lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
1011 %defattr(644,root,root,755)
1012 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
1013 %attr(755,root,root) %{_rpmlibdir}/brp-*
1014 %attr(755,root,root) %{_rpmlibdir}/check-files
1015 %attr(755,root,root) %{_rpmlibdir}/install-build-tree
1016 %attr(755,root,root) %{_rpmlibdir}/elfdeps
1017 %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
1018 # needs hacked pkg-config to return anything
1019 %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
1020 %attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
1022 %attr(755,root,root) %{_rpmlibdir}/fontconfig.prov
1023 # must be here for "Requires: rpm-*prov" to work
1024 #%{_rpmlibdir}/macros.d/cmake
1025 #%{_rpmlibdir}/macros.d/gstreamer
1026 #%{_rpmlibdir}/macros.d/libtool
1027 #%{_rpmlibdir}/macros.d/perl
1028 #%{_rpmlibdir}/macros.d/pkgconfig
1029 #%{_rpmlibdir}/macros.d/python
1030 #%{_rpmlibdir}/macros.d/selinux
1031 #%{_rpmlibdir}/macros.d/tcl
1032 #%{_rpmlibdir}/macros.rpmbuild
1034 %attr(755,root,root) %{_rpmlibdir}/check-buildroot
1035 %attr(755,root,root) %{_rpmlibdir}/check-prereqs
1036 %attr(755,root,root) %{_rpmlibdir}/check-rpaths
1037 %attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
1038 %attr(755,root,root) %{_rpmlibdir}/find-provides
1039 %attr(755,root,root) %{_rpmlibdir}/find-requires
1040 %attr(755,root,root) %{_rpmlibdir}/ocamldeps.sh
1041 %attr(755,root,root) %{_rpmlibdir}/script.req
1043 %dir %{_rpmlibdir}/fileattrs
1044 %{_rpmlibdir}/fileattrs/debuginfo.attr
1045 %{_rpmlibdir}/fileattrs/desktop.attr
1046 %{_rpmlibdir}/fileattrs/elf.attr
1047 %{_rpmlibdir}/fileattrs/font.attr
1048 %{_rpmlibdir}/fileattrs/libtool.attr
1049 %{_rpmlibdir}/fileattrs/metainfo.attr
1050 %{_rpmlibdir}/fileattrs/ocaml.attr
1051 %{_rpmlibdir}/fileattrs/pkgconfig.attr
1052 %{_rpmlibdir}/fileattrs/script.attr
1054 %attr(755,root,root) %{_bindir}/gendiff
1055 %attr(755,root,root) %{_bindir}/rpmbuild
1056 %attr(755,root,root) %{_bindir}/rpmspec
1058 %{_mandir}/man1/gendiff.1*
1059 %lang(pl) %{_mandir}/pl/man1/gendiff.1*
1060 %{_mandir}/man8/rpmbuild.8*
1061 %lang(ja) %{_mandir}/ja/man8/rpmbuild.8*
1062 %lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
1063 %{_mandir}/man8/rpmspec.8*
1066 %defattr(644,root,root,755)
1067 %{_rpmlibdir}/fileattrs/perl.attr
1068 %{_rpmlibdir}/fileattrs/perllib.attr
1069 %attr(755,root,root) %{_rpmlibdir}/perl.*
1072 %files -n python3-rpm
1073 %defattr(644,root,root,755)
1074 %dir %{py3_sitedir}/rpm
1075 %attr(755,root,root) %{py3_sitedir}/rpm/*.so
1076 %{py3_sitedir}/rpm/*.py
1077 %{py3_sitedir}/rpm-%{version}-py*.egg-info
1078 %{py3_sitedir}/rpm/__pycache__
1083 %defattr(644,root,root,755)
1084 %attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
1085 %{_mandir}/man8/rpm-plugin-audit.8*
1087 %files plugin-syslog
1088 %defattr(644,root,root,755)
1089 %attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
1090 %{_mandir}/man8/rpm-plugin-syslog.8*
1093 %files plugin-systemd-inhibit
1094 %defattr(644,root,root,755)
1095 %attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so
1096 %{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
1100 %defattr(644,root,root,755)
1101 %attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
1102 %{_mandir}/man8/rpm-plugin-ima.8*
1104 %files plugin-prioreset
1105 %defattr(644,root,root,755)
1106 %attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
1107 %{_mandir}/man8/rpm-plugin-prioreset.8*
1109 %files plugin-selinux
1110 %defattr(644,root,root,755)
1111 %attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
1112 %{_mandir}/man8/rpm-plugin-selinux.8*
1114 %if %{with fsverity}
1115 %files plugin-fsverity
1116 %defattr(644,root,root,755)
1117 %attr(755,root,root) %{_libdir}/rpm-plugins/fsverity.so
1120 %files plugin-fapolicyd
1121 %defattr(644,root,root,755)
1122 %attr(755,root,root) %{_libdir}/rpm-plugins/fapolicyd.so
1123 %{_mandir}/man8/rpm-plugin-fapolicyd.8*
1125 %files plugin-dbus-announce
1126 %defattr(644,root,root,755)
1127 %attr(755,root,root) %{_libdir}/rpm-plugins/dbus_announce.so
1128 %{_mandir}/man8/rpm-plugin-dbus-announce.8*
1129 %{_sysconfdir}/dbus-1/system.d/org.rpm.conf
1133 %defattr(644,root,root,755)
1134 %attr(755,root,root) %{_bindir}/rpmsign
1135 %{_mandir}/man8/rpmsign.8*
1139 %defattr(644,root,root,755)
1140 %doc docs/librpm/html/*