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
15 %define db_ver 5.3.28.0
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.16.x/%{name}-%{version}.tar.bz2
42 # Source0-md5: 576277fafa5d0681a8a92c8716aca5f0
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 Patch0: %{name}-man_pl.patch
60 Patch1: %{name}-popt-aliases.patch
61 Patch2: %{name}-perl-macros.patch
62 Patch3: %{name}-perl-req-perlfile.patch
63 Patch4: %{name}-scripts-closefds.patch
64 Patch5: %{name}-dir-macros-relative.patch
65 Patch6: %{name}-perl_req-INC_dirs.patch
66 Patch7: %{name}-debuginfo.patch
67 Patch8: %{name}-libtool-deps.patch
68 Patch9: %{name}-builddir-readlink.patch
69 Patch10: %{name}-changelog_order_check_nonfatal.patch
70 Patch11: %{name}-postun-nofail.patch
71 Patch12: %{name}-clean-docdir.patch
72 Patch13: %{name}-perl-magic.patch
73 Patch14: %{name}-ignore-missing-macro-files.patch
75 Patch16: rpm5-db-compat.patch
76 Patch17: python-internal-build.patch
77 Patch18: missing-macros.patch
78 Patch19: pkgconfig.patch
79 Patch20: uname-deps.patch
80 Patch21: arm_abi.patch
81 Patch22: ix86-platforms.patch
82 Patch23: shortcircuited-deps.patch
83 Patch24: cpuinfo-deps.patch
84 Patch25: rpmio-read-proc-files.patch
85 Patch26: allow-at-in-ver-rel.patch
86 Patch27: no-exeonly-for-elf-reqprov.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 Patch33: sqlite-db-backend.patch
93 Patch34: skip-symlinks.patch
95 Patch36: build-locale.patch
96 Patch37: %{name}-pl.po-update.patch
97 Patch38: no-exe-for-elf-debuginfo.patch
99 BuildRequires: acl-devel
100 %{?with_audit:BuildRequires: audit-libs-devel}
101 BuildRequires: autoconf >= 2.63
102 BuildRequires: automake >= 1:1.10
103 BuildRequires: bzip2-devel >= 1.0.2-17
104 BuildRequires: db-devel >= %{db_ver}
105 %{?with_systemd:BuildRequires: dbus-devel >= 1.3}
106 BuildRequires: elfutils-devel >= 0.108
107 BuildRequires: gettext-tools >= 0.19.2
108 %{?with_imaevm:BuildRequires: ima-evm-utils-devel >= 1.0}
109 BuildRequires: libarchive-devel
110 BuildRequires: libcap-devel
111 BuildRequires: libmagic-devel
112 BuildRequires: libgcrypt-devel
113 BuildRequires: libgomp-devel >= 6:4.5
114 %{?with_selinux:BuildRequires: libselinux-devel >= 2.1.0}
115 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
116 BuildRequires: libstdc++-devel
117 BuildRequires: libtool >= 1:1.4.2-9
118 BuildRequires: lua-devel >= 5.2
119 BuildRequires: patch >= 2.2
120 BuildRequires: pkgconfig
121 BuildRequires: popt-devel >= %{popt_ver}
122 BuildRequires: python3-modules >= 1:3.2
124 BuildRequires: python3-devel >= 1:3.2
125 BuildRequires: rpm-pythonprov
126 BuildRequires: rpmbuild(macros) >= 1.750
128 BuildRequires: rpm-build >= 4.6
129 BuildRequires: sqlite3-devel >= 3.22.0
131 BuildRequires: xz-devel
132 BuildRequires: zlib-devel
133 BuildRequires: zstd-devel
135 BuildRequires: doxygen
136 BuildRequires: ghostscript
137 BuildRequires: graphviz
138 BuildRequires: tetex-pdftex
140 Requires(posttrans): coreutils
141 Requires: %{name}-base = %{epoch}:%{version}-%{release}
142 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
143 Requires: rpm-pld-macros >= 2.002
144 Requires: FHS >= 3.0-2
146 Requires: popt >= %{popt_ver}
147 %if %{with recommends_tags}
148 Recommends: rpm-plugin-audit
149 Recommends: rpm-plugin-prioreset
150 Recommends: rpm-plugin-syslog
151 Recommends: rpm-plugin-systemd-inhibit
153 Obsoletes: rpm-utils-perl < 1:4.15
154 Obsoletes: rpm-utils-static < 1:4.15
155 Conflicts: glibc < 2.2.92
156 # db4.6 poldek needed
157 Conflicts: poldek < 0.21-0.20070703.00.3
158 # segfaults with lzma 0.42.2
159 Conflicts: lzma-libs < 4.999.3
160 Conflicts: util-vserver < 0.30.216-1.pre3034.7
161 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
163 %define _binary_payload w9.gzdio
165 # don't require very fresh rpm.macros to build
166 %define find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT
167 %define ix86 i386 i486 i586 i686 athlon geode pentium3 pentium4
168 %define ppc ppc ppc7400 ppc7450
169 %define x8664 amd64 ia32e x86_64
171 %define _rpmlibdir /usr/lib/rpm
174 RPM is a powerful package manager, which can be used to build,
175 install, query, verify, update, and uninstall individual software
176 packages. A package consists of an archive of files, and package
177 information, including name, version, and description.
179 %description -l de.UTF-8
180 RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur
181 Installation, Anfrage, Verifizierung, Aktualisierung und
182 Uninstallation individueller Softwarepakete. Ein Paket besteht aus
183 einem Archiv Dateien und Paketinformation, inklusive Name, Version und
186 %description -l es.UTF-8
187 RPM es un poderoso administrador de paquetes, que puede ser usado para
188 construir, instalar, pesquisar, verificar, actualizar y desinstalar
189 paquetes individuales de software. Un paquete consiste en un
190 almacenaje de archivos, y información sobre el paquete, incluyendo
191 nombre, versión y descripción.
193 %description -l pl.UTF-8
194 RPM jest doskonałym programem zarządzającym pakietami. Umożliwia on
195 przebudowanie, instalację czy weryfikację dowolnego pakietu.
196 Informacje dotyczące każdego pakietu, takie jak jego opis, lista
197 plików wchodzących w skład pakietu, zależności od innych pakietów, są
198 przechowywane w bazie danych i można je uzyskać za pomocą opcji
199 odpytywania programu rpm.
201 %description -l pt_BR.UTF-8
202 RPM é um poderoso gerenciador de pacotes, que pode ser usado para
203 construir, instalar, pesquisar, verificar, atualizar e desinstalar
204 pacotes individuais de software. Um pacote consiste de um conjunto de
205 arquivos e informações adicionais, incluindo nome, versão e descrição
206 do pacote, permissões dos arquivos, etc.
208 %description -l ru.UTF-8
209 RPM - это мощный менеджер пакетов, который может быть использован для
210 создания, инсталляции, запросов (query), проверки, обновления и
211 удаления программных пакетов. Пакет состоит из файлового архива и
212 служебной информации, включающей название, версию, описание и другие
215 %description -l uk.UTF-8
216 RPM - це потужний менеджер пакетів, що може бути використаний для
217 створення, інсталяції, запитів (query), перевірки, поновлення та
218 видалення програмних пакетів. Пакет складається з файлового архіву та
219 службової інформації, що містить назву, версію, опис та іншу
220 інформацію про пакет.
223 Summary: RPM base package - scripts used by rpm packages themselves
224 Summary(pl.UTF-8): Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
227 Obsoletes: rpm-scripts < 4.4
228 Obsoletes: vserver-rpm < 1
231 The RPM base package contains scripts used by rpm packages themselves.
233 - scripts for adding/removing groups and users needed for rpm
235 - banner.sh to display %%banner messages from rpm scriptlets.
237 %description base -l pl.UTF-8
238 Pakiet podstawowy RPM zwiera skrypty używane przez same pakiety rpm.
240 - skrypty dodające/usuwające grupy i użytkowników dla pakietów rpm,
241 - banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
244 Summary: RPMs library
245 Summary(pl.UTF-8): Biblioteki RPM-a
247 Requires: db >= %{db_ver}
248 Requires: libmagic >= 1.15-2
249 Requires: popt >= %{popt_ver}
250 Requires: sqlite3-libs >= 3.22.0
251 Obsoletes: rpm-libs < 4.0.2-4
252 # avoid SEGV caused by mixed db versions
253 Conflicts: poldek < 0.18.1-16
258 %description lib -l pl.UTF-8
262 Summary: Header files for rpm libraries
263 Summary(de.UTF-8): Header-Dateien für rpm Libraries
264 Summary(es.UTF-8): Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
265 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek rpm
266 Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
267 Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами
268 Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm
269 Group: Development/Libraries
270 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
271 Requires: bzip2-devel
272 Requires: db-devel >= %{db_ver}
273 Requires: elfutils-devel
274 Requires: libmagic-devel
275 Requires: libgcrypt-devel
277 Requires: libselinux-devel
278 Requires: libsemanage-devel
279 Requires: libsepol-devel
281 Requires: popt-devel >= %{popt_ver}
283 Obsoletes: rpm-static < 1:4.15
286 The RPM packaging system includes C libraries that make it easy to
287 manipulate RPM packages and databases. They are intended to ease the
288 creation of graphical package managers and other tools that need
289 intimate knowledge of RPM packages. This package contains header files
292 %description devel -l de.UTF-8
293 Der RPM-Packensystem enthält eine C-Library, die macht es einfach
294 RPM-Pakete und Dateibanken zu manipulieren. Er eignet sich für
295 Vereinfachung des Schaffens grafischer Paket-Manager und anderer
296 Werkzeuge, die intime Kenntnis von RPM-Paketen brauchen.
298 %description devel -l es.UTF-8
299 El sistema de empaquetado RPM incluye una biblioteca C que vuelve
300 fácil la manipulación de paquetes y bases de datos RPM. Su objetivo es
301 facilitar la creación de administradores gráficos de paquetes y otras
302 herramientas que necesiten un conocimiento profundo de paquetes RPM.
304 %description devel -l pl.UTF-8
305 System RPM zawiera biblioteki C, które ułatwiają manipulowanie
306 pakietami RPM oraz bazami danych. W zamiarze ma to uprościć tworzenie
307 graficznych programów zarządzających pakietami oraz innych narzędzi,
308 które wymagają szczegółowej wiedzy na temat pakietów RPM. Ten pakiet
309 zawiera pliki nagłówkowe wspomnianych bibliotek.
311 %description devel -l pt_BR.UTF-8
312 O sistema de empacotamento RPM inclui uma biblioteca C que torna fácil
313 a manipulação de pacotes e bases de dados RPM. Seu objetivo é
314 facilitar a criação de gerenciadores gráficos de pacotes e outras
315 ferramentas que precisem de conhecimento profundo de pacotes RPM.
317 %description devel -l ru.UTF-8
318 Система управления пакетами RPM содержит библиотеку C, которая
319 упрощает манипуляцию пакетами RPM и соответствующими базами данных.
320 Эта библиотека предназначена для облегчения создания графических
321 пакетных менеджеров и других утилит, которым необходимо работать с
324 %description devel -l uk.UTF-8
325 Система керування пакетами RPM містить бібліотеку C, котра спрощує
326 роботу з пакетами RPM та відповідними базами даних. Ця бібліотека
327 призначена для полегшення створення графічних пакетних менеджерів та
328 інших утиліт, що працюють з пакетами RPM.
331 Summary: Additional utilities for managing RPM packages and database
332 Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
333 Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
334 Group: Applications/File
335 Requires: %{name} = %{epoch}:%{version}-%{release}
336 Requires: popt >= %{popt_ver}
337 %if %{with recommends_tags}
341 Conflicts: filesystem-debuginfo < 3.0-16
344 Additional utilities for managing RPM packages and database.
346 %description utils -l de.UTF-8
347 Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
349 %description utils -l pl.UTF-8
350 Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
353 Summary: Scripts for building binary RPM packages
354 Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
355 Summary(pl.UTF-8): Skrypty pomocnicze do budowania binarnych RPM-ów
356 Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes
357 Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
358 Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
359 Group: Applications/File
360 Requires(pretrans): coreutils
361 Requires(pretrans): findutils
362 Requires: %{name}-utils = %{epoch}:%{version}-%{release}
363 Requires: rpm-pld-macros-build >= 1.744
367 Requires: chrpath >= 0.10-4
371 Requires: file >= 4.17
375 Requires: gcc >= 3.0.3
379 Requires: glibc-devel
386 Requires: tar >= 1:1.22
390 Provides: rpmbuild(noauto) = 3
392 Conflicts: automake < 1:1.7.9-2
393 Conflicts: libtool < 2:1.5-13
397 Scripts for building binary RPM packages.
399 %description build -l de.UTF-8
400 Scripts fürs Bauen binärer RPM-Pakete.
402 %description build -l pl.UTF-8
403 Skrypty pomocnicze do budowania binarnych RPM-ów.
405 %description build -l pt_BR.UTF-8
406 Este pacote contém scripts e programas executáveis que são usados para
407 construir pacotes usando o RPM.
409 %description build -l ru.UTF-8
410 Различные вспомогательные скрипты и исполняемые программы, которые
411 используются для сборки RPM'ов.
413 %description build -l uk.UTF-8
414 Різноманітні допоміжні скрипти та утиліти, які використовуються для
418 Summary: Additional utilities for checking Perl provides/requires in RPM packages
419 Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
420 Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
421 Group: Applications/File
422 Requires: %{name} = %{epoch}:%{version}-%{release}
423 Requires: perl-Encode
425 Requires: perl-modules
427 %description perlprov
428 Additional utilities for checking Perl provides/requires in RPM
431 %description perlprov -l de.UTF-8
432 Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen.
434 %description perlprov -l pl.UTF-8
435 Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
439 Summary: Python macros, which simplifies creation of RPM packages with Python software
440 Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
441 Group: Applications/File
442 Requires: %{name} = %{epoch}:%{version}-%{release}
444 Requires: python3-modules
445 Requires: python3-setuptools
447 %description pythonprov
448 Python macros, which simplifies creation of RPM packages with Python
451 %description pythonprov -l pl.UTF-8
452 Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
455 %package -n python3-rpm
456 Summary: Python 3 interface to RPM library
457 Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki RPM-a
458 Summary(pt_BR.UTF-8): Módulo Python 3 para aplicativos que manipulam pacotes RPM
459 Group: Development/Languages/Python
460 Requires: %{name} = %{epoch}:%{version}-%{release}
462 Obsoletes: python-rpm < 1:4.16.0
463 Obsoletes: rpm-python < 4.0.2-50
465 %description -n python3-rpm
466 The python3-rpm package contains a module which permits applications
467 written in the Python 3 programming language to use the interface
468 supplied by RPM (RPM Package Manager) libraries.
470 This package should be installed if you want to develop Python 3
471 programs that will manipulate RPM packages and databases.
473 %description -n python3-rpm -l pl.UTF-8
474 Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w
475 Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki
478 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
479 Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
481 %description -n python3-rpm -l pt_BR.UTF-8
482 O pacote python3-rpm contém um módulo que permite que aplicações
483 escritas em Python 3 utilizem a interface fornecida pelas bibliotecas
484 RPM (RPM Package Manager).
486 Esse pacote deve ser instalado se você quiser desenvolver programas em
487 Python 3 para manipular pacotes e bancos de dados RPM.
489 %package plugin-audit
490 Summary: Plugin for logging audit events on package operations
491 Summary(pl.UTF-8): Wtyczka do logowania zdarzeń audytowych przy operacjach na pakietach
493 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
495 %description plugin-audit
496 Plugin for libaudit support.
498 %description plugin-audit -l pl.UTF-8
499 Wtyczka do obsługi libaudit.
501 %package plugin-syslog
502 Summary: Plugin for syslog functionality
503 Summary(pl.UTF-8): Wtyczka do funkcjonalności sysloga
505 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
507 %description plugin-syslog
508 This plugin exports RPM actions to the system log.
510 %description plugin-syslog -l pl.UTF-8
511 Ta wtyczka eksportuje akcje RPM-a do logu systemowego.
513 %package plugin-systemd-inhibit
514 Summary: Plugin for systemd inhibit functionality
515 Summary(pl.UTF-8): Wtyczka do funkcjonalności systemd inhibit
517 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
518 Requires: dbus >= 1.3
520 %description plugin-systemd-inhibit
521 This plugin blocks systemd from entering idle, sleep or shutdown while
522 an rpm transaction is running using the systemd-inhibit mechanism.
524 %description plugin-systemd-inhibit -l pl.UTF-8
525 Ta wtyczka blokuje systemd przed wejściem w stan bezczynności (idle),
526 uśpienia (sleep) lub zamykania (shutdown) podczas trwania transakcji
527 RPM-a, korzystając z mechanizmu systemd-inhibit.
530 Summary: Plugin for IMA file signatures
531 Summary(pl.UTF-8): Wtyczka do sygnatur plików IMA
533 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
535 %description plugin-ima
536 This plugin adds support for enforcing and verifying IMA file
537 signatures in an rpm.
539 %description plugin-ima -l pl.UTF-8
540 Ta wtyczka dodaje obsługę wymuszania i weryfikacji podpisów plików
543 %package plugin-prioreset
544 Summary: Plugin for resetting scriptlet priorities for SysV init
545 Summary(pl.UTF-8): Wtyczka do resetowania priorytetu skryptletów przy inicie SysV
547 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
549 %description plugin-prioreset
550 This plugin is useful on legacy SysV init systems if you run rpm
551 transactions with nice/ionice priorities. Should not be used on
554 %description plugin-prioreset -l pl.UTF-8
555 Ta wtyczka jest przydatna w systemach ze starym procesem init w wersji
556 SysV, jeżeli transakcje RPM-a są uruchamiane z priorytetami
557 nice/ionice. Nie powinna być używana w systemach z systemd.
559 %package plugin-selinux
560 Summary: Plugin for SELinux functionality
561 Summary(pl.UTF-8): Wtyczka do funkcjonalności SELinux
563 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
564 Requires: libselinux >= 2.1.0
566 %description plugin-selinux
567 Plugin for SELinux functionality.
569 %description plugin-selinux -l pl.UTF-8
570 Wtyczka do funkcjonalności SELinux.
573 Summary: Package signing support
574 Summary(pl.UTF-8): Obsługa podpisywania pakietów
576 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
579 This package contains support for digitally signing RPM packages.
581 %description sign -l pl.UTF-8
582 Ten pakiet zawiera obsługę cyfrowego podpisywania pakietów RPM.
585 Summary: RPM API documentation and guides
586 Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki
591 Documentation for RPM API and guides in HTML format generated from rpm
594 %description apidocs -l pl.UTF-8
595 Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
596 źrodeł RPM-a przez doxygen.
599 %setup -q -n %{name}-%{version}%{?subver}
642 install %{SOURCE15} scripts/perl.prov.in
644 %{__mv} scripts/perl.req{,.in}
646 # generate Group translations to *.po
647 awk -f %{SOURCE6} %{SOURCE5}
649 %{__sed} -i -e '1s,/usr/bin/python,%{__python3},' scripts/pythondistdeps.py
658 # rpm checks for CPU type at runtime, but it looks better
660 -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
661 -e 's|@host_cpu@|%{_target_cpu}|' \
662 -e 's|@host_os@|%{_target_os}|' \
667 WITH_PERL_VERSION=no \
668 __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
669 __GPG=%{_bindir}/gpg \
673 %{!?with_plugins:--disable-plugins} \
674 %{!?with_systemd:--disable-inhibit-plugin} \
675 --disable-silent-rules \
680 --with-audit%{!?with_audit:=no} \
682 %{?with_imaevm:--with-imaevm} \
684 %{?with_python3:--enable-python} \
685 --with-selinux%{!?with_selinux:=no} \
690 %{__make} -C po update-gmo
698 rm -rf $RPM_BUILD_ROOT
699 install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
700 $RPM_BUILD_ROOT/var/lib/{banner,rpm}
702 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
705 pkgconfigdir=%{_pkgconfigdir} \
706 DESTDIR=$RPM_BUILD_ROOT
709 %ifnarch %{ix86} %{x8664} x32
710 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/athlon-linux/macros
711 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/geode-linux/macros
712 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i386-linux/macros
713 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i486-linux/macros
714 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i586-linux/macros
715 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i686-linux/macros
716 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium3-linux/macros
717 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium4-linux/macros
720 %ifnarch %{x8664} x32
721 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/amd64-linux/macros
722 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia32e-linux/macros
723 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x32-linux/macros
724 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x86_64-linux/macros
728 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/m68k-linux/macros
729 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc32dy4-linux/macros
730 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc64*-linux/macros
731 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8260-linux/macros
732 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8560-linux/macros
733 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros
734 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros
738 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
742 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
745 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros
746 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros
747 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros
748 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros
749 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros
750 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros
751 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros
753 cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
755 %{_target_cpu}-%{_target_vendor}-linux-gnux32
757 %{_target_cpu}-%{_target_vendor}-linux
761 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
763 install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld
765 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
766 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
767 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rpm
769 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh
771 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
772 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
773 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
774 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
775 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
776 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
779 %{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
780 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
781 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmverify
783 # move essential libs to /lib (libs that /bin/rpm links to)
784 for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
785 mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib}
786 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
789 # init an empty database for %ghost'ing for all supported backends
790 for be in sqlite bdb ndb; do
792 --macros=$RPM_BUILD_ROOT%{_rpmlibdir}/macros \
793 --rcfile=$RPM_BUILD_ROOT%{_rpmlibdir}/rpmrc \
794 --dbpath=${PWD}/${be} \
795 --define "_db_backend ${be}" \
797 cp -va ${be}/. $RPM_BUILD_ROOT/var/lib/rpm/
801 # Remove anything that rpm make install might put there
802 %{__rm} -rf $RPM_BUILD_ROOT%{py3_sitedir}
808 %{__rm} $RPM_BUILD_ROOT%{_libdir}/rpm-plugins/*.la
810 # wrong location, not used anyway
811 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log}
816 rm -rf $RPM_BUILD_ROOT
819 if [ -e /var/lib/rpm/Packages ]; then
820 if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
821 /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
823 echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
827 echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
828 echo 'you should ignore it and restart poldek'
830 %{__rm} -rf /var/lib/rpm/log >/dev/null 2>/dev/null || :
831 %{__rm} -rf /var/lib/rpm/tmp >/dev/null 2>/dev/null || :
832 # Unlock database for rebuild, safe since this is posttrans
833 %{__rm} -f /var/lib/rpm/.rpm.lock >/dev/null 2>/dev/null || :
834 if ! /usr/bin/rpmdb --rebuilddb; then
836 echo "rpm database conversion failed!"
837 echo "You have to run '/usr/bin/rpmdb --rebuilddb' manually"
844 if [ -d /var/cache/hrmib ]; then
845 %{__rm} -rf /var/cache/hrmib
846 echo "HR-MIB is not supported by this rpm version."
847 echo "/var/cache/hrmib has been removed."
850 %post lib -p /sbin/ldconfig
851 %postun lib -p /sbin/ldconfig
854 find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
856 %files -f %{name}.lang
857 %defattr(644,root,root,755)
858 %doc ChangeLog CREDITS README
860 %dir /etc/pki/rpm-gpg
861 /etc/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
863 %attr(755,root,root) /bin/rpm
864 %attr(755,root,root) %{_bindir}/rpmdb
865 %attr(755,root,root) %{_bindir}/rpmkeys
866 %attr(755,root,root) %{_bindir}/rpmquery
867 %attr(755,root,root) %{_bindir}/rpmverify
869 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
870 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
871 # this is ok to be replaced
872 %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform
874 %{_mandir}/man8/rpm.8*
875 %{_mandir}/man8/rpmdb.8*
876 %{_mandir}/man8/rpmkeys.8*
877 %{_mandir}/man8/rpm-misc.8*
878 %{?with_plugins:%{_mandir}/man8/rpm-plugins.8*}
879 %lang(fr) %{_mandir}/fr/man8/rpm.8*
880 %lang(ja) %{_mandir}/ja/man8/rpm.8*
881 %lang(ko) %{_mandir}/ko/man8/rpm.8*
882 %lang(pl) %{_mandir}/pl/man8/rpm.8*
883 %lang(ru) %{_mandir}/ru/man8/rpm.8*
884 %lang(sk) %{_mandir}/sk/man8/rpm.8*
887 %ghost %config(missingok,noreplace) /var/lib/rpm/*
888 %ghost /var/lib/rpm/.*.lock
890 %{_rpmlibdir}/rpmpopt*
893 %dir %{_rpmlibdir}/macros.d
894 %dir %{_rpmlibdir}/platform
895 %{_rpmlibdir}/platform/noarch-*
896 %ifarch %{ix86} %{x8664} x32
897 %{_rpmlibdir}/platform/athlon*
898 %{_rpmlibdir}/platform/geode*
899 %{_rpmlibdir}/platform/i?86*
900 %{_rpmlibdir}/platform/pentium*
903 %{_rpmlibdir}/platform/amd64*
904 %{_rpmlibdir}/platform/ia32e*
905 %{_rpmlibdir}/platform/x86_64*
906 %{_rpmlibdir}/platform/x32*
909 %{_rpmlibdir}/platform/alpha*
912 %{_rpmlibdir}/platform/aarch64*
915 %{_rpmlibdir}/platform/arm*
918 %{_rpmlibdir}/platform/ia64*
920 %ifarch mips mipsel mips64 mips64el
921 %{_rpmlibdir}/platform/mips*
924 %{_rpmlibdir}/platform/ppc*
926 %ifarch sparc sparc64
927 %{_rpmlibdir}/platform/sparc*
930 %dir %{_rpmlibdir}/pld
932 %attr(755,root,root) %{_rpmlibdir}/rpmdb_dump
933 %attr(755,root,root) %{_rpmlibdir}/rpmdb_load
935 # valgrind suppression file for rpm
936 %{_rpmlibdir}/rpm.supp
939 %defattr(644,root,root,755)
940 %dir %{_sysconfdir}/rpm
941 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
943 %attr(755,root,root) %{_bindir}/banner.sh
944 %attr(755,root,root) %{_rpmlibdir}/user_group.sh
948 %defattr(644,root,root,755)
949 %attr(755,root,root) /%{_lib}/librpm.so.9
950 %attr(755,root,root) /%{_lib}/librpm.so.%{sover}
951 %attr(755,root,root) /%{_lib}/librpmbuild.so.9
952 %attr(755,root,root) /%{_lib}/librpmbuild.so.%{sover}
953 %attr(755,root,root) /%{_lib}/librpmio.so.9
954 %attr(755,root,root) /%{_lib}/librpmio.so.%{sover}
955 %attr(755,root,root) /%{_lib}/librpmsign.so.9
956 %attr(755,root,root) /%{_lib}/librpmsign.so.%{sover}
957 %{?with_plugins:%dir %{_libdir}/rpm-plugins}
960 %defattr(644,root,root,755)
961 %attr(755,root,root) %{_libdir}/librpm.so
962 %attr(755,root,root) %{_libdir}/librpmbuild.so
963 %attr(755,root,root) %{_libdir}/librpmio.so
964 %attr(755,root,root) %{_libdir}/librpmsign.so
966 %{_libdir}/librpmbuild.la
967 %{_libdir}/librpmio.la
968 %{_libdir}/librpmsign.la
970 %{_pkgconfigdir}/rpm.pc
973 %defattr(644,root,root,755)
974 %attr(755,root,root) %{_bindir}/rpm2archive
975 %attr(755,root,root) %{_bindir}/rpm2cpio
976 %attr(755,root,root) %{_bindir}/rpmgraph
977 %attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
978 %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
979 %attr(755,root,root) %{_rpmlibdir}/tgpg
980 %attr(755,root,root) %{_rpmlibdir}/debugedit
981 %attr(755,root,root) %{_rpmlibdir}/rpmdeps
982 %{_mandir}/man8/rpm2archive.8*
983 %{_mandir}/man8/rpm2cpio.8*
984 %{_mandir}/man8/rpmdeps.8*
985 %{_mandir}/man8/rpmgraph.8*
986 %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
987 %lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
988 %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
989 %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
990 %lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
991 %lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
992 %lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
995 %defattr(644,root,root,755)
996 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
997 %attr(755,root,root) %{_rpmlibdir}/brp-*
998 %attr(755,root,root) %{_rpmlibdir}/check-files
999 %attr(755,root,root) %{_rpmlibdir}/install-build-tree
1000 %attr(755,root,root) %{_rpmlibdir}/elfdeps
1001 %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
1002 # needs hacked pkg-config to return anything
1003 %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
1004 %attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
1006 %attr(755,root,root) %{_rpmlibdir}/fontconfig.prov
1007 # must be here for "Requires: rpm-*prov" to work
1008 #%{_rpmlibdir}/macros.d/cmake
1009 #%{_rpmlibdir}/macros.d/gstreamer
1010 #%{_rpmlibdir}/macros.d/libtool
1011 #%{_rpmlibdir}/macros.d/perl
1012 #%{_rpmlibdir}/macros.d/pkgconfig
1013 #%{_rpmlibdir}/macros.d/python
1014 #%{_rpmlibdir}/macros.d/selinux
1015 #%{_rpmlibdir}/macros.d/tcl
1016 #%{_rpmlibdir}/macros.rpmbuild
1018 %attr(755,root,root) %{_rpmlibdir}/check-buildroot
1019 %attr(755,root,root) %{_rpmlibdir}/check-prereqs
1020 %attr(755,root,root) %{_rpmlibdir}/check-rpaths
1021 %attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
1022 %attr(755,root,root) %{_rpmlibdir}/find-provides
1023 %attr(755,root,root) %{_rpmlibdir}/find-requires
1024 %attr(755,root,root) %{_rpmlibdir}/ocamldeps.sh
1025 %attr(755,root,root) %{_rpmlibdir}/script.req
1026 %attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
1028 %dir %{_rpmlibdir}/fileattrs
1029 %{_rpmlibdir}/fileattrs/debuginfo.attr
1030 %{_rpmlibdir}/fileattrs/desktop.attr
1031 %{_rpmlibdir}/fileattrs/elf.attr
1032 %{_rpmlibdir}/fileattrs/font.attr
1033 %{_rpmlibdir}/fileattrs/libtool.attr
1034 %{_rpmlibdir}/fileattrs/metainfo.attr
1035 %{_rpmlibdir}/fileattrs/ocaml.attr
1036 %{_rpmlibdir}/fileattrs/perl.attr
1037 %{_rpmlibdir}/fileattrs/perllib.attr
1038 %{_rpmlibdir}/fileattrs/pkgconfig.attr
1039 %{_rpmlibdir}/fileattrs/python.attr
1040 %{_rpmlibdir}/fileattrs/pythondist.attr
1041 %{_rpmlibdir}/fileattrs/script.attr
1043 %attr(755,root,root) %{_bindir}/gendiff
1044 %attr(755,root,root) %{_bindir}/rpmbuild
1045 %attr(755,root,root) %{_bindir}/rpmspec
1047 %{_mandir}/man1/gendiff.1*
1048 %lang(pl) %{_mandir}/pl/man1/gendiff.1*
1049 %{_mandir}/man8/rpmbuild.8*
1050 %lang(ja) %{_mandir}/ja/man8/rpmbuild.8*
1051 %lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
1052 %{_mandir}/man8/rpmspec.8*
1055 %defattr(644,root,root,755)
1056 %attr(755,root,root) %{_rpmlibdir}/perl.*
1059 %defattr(644,root,root,755)
1060 %attr(755,root,root) %{_rpmlibdir}/pythondistdeps.py
1063 %files -n python3-rpm
1064 %defattr(644,root,root,755)
1065 %dir %{py3_sitedir}/rpm
1066 %attr(755,root,root) %{py3_sitedir}/rpm/*.so
1067 %{py3_sitedir}/rpm/*.py
1068 %{py3_sitedir}/rpm-%{version}-py*.egg-info
1069 %{py3_sitedir}/rpm/__pycache__
1074 %defattr(644,root,root,755)
1075 %attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
1076 %{_mandir}/man8/rpm-plugin-audit.8*
1078 %files plugin-syslog
1079 %defattr(644,root,root,755)
1080 %attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
1081 %{_mandir}/man8/rpm-plugin-syslog.8*
1084 %files plugin-systemd-inhibit
1085 %defattr(644,root,root,755)
1086 %attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so
1087 %{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
1091 %defattr(644,root,root,755)
1092 %attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
1093 %{_mandir}/man8/rpm-plugin-ima.8*
1095 %files plugin-prioreset
1096 %defattr(644,root,root,755)
1097 %attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
1098 %{_mandir}/man8/rpm-plugin-prioreset.8*
1100 %files plugin-selinux
1101 %defattr(644,root,root,755)
1102 %attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
1103 %{_mandir}/man8/rpm-plugin-selinux.8*
1107 %defattr(644,root,root,755)
1108 %attr(755,root,root) %{_bindir}/rpmsign
1109 %{_mandir}/man8/rpmsign.8*
1113 %defattr(644,root,root,755)
1114 %doc doc/librpm/html/*