3 # - when adopting, use 4.5 ticket for checklist: https://bugs.launchpad.net/pld-linux/+bug/262985
6 %bcond_without apidocs # don't generate documentation with doxygen
7 %bcond_without python3 # don't build python bindings
8 %bcond_without plugins # build plugins
9 %bcond_with recommends_tags # build without Recommends tag (bootstrapping)
10 %bcond_with imaevm # build with IMA/EVM support (requires libimaevm from ima-evm-utils)
12 %define db_ver 5.3.28.0
16 %if "%{_rpmversion}" >= "4.12" && "%{_rpmversion}" < "5"
17 %define with_recommends_tags 1
20 Summary: RPM Package Manager
21 Summary(de.UTF-8): RPM Packet-Manager
22 Summary(es.UTF-8): Gestor de paquetes RPM
23 Summary(pl.UTF-8): Aplikacja do zarządzania pakietami RPM
24 Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM
25 Summary(ru.UTF-8): Менеджер пакетов от RPM
26 Summary(uk.UTF-8): Менеджер пакетів від RPM
31 License: GPL v2 / LGPL v2.1
33 Source0: http://ftp.rpm.org/releases/rpm-4.16.x/%{name}-%{version}.tar.bz2
34 # Source0-md5: 434e166a812e35ef181f6dd176326920
37 Source4: %{name}.sysconfig
38 Source5: %{name}.groups
39 Source6: %{name}-groups-po.awk
40 Source7: %{name}-install-tree
41 Source8: %{name}-hrmib-cache
42 Source9: %{name}-user_group.sh
43 # http://svn.pld-linux.org/banner.sh/
45 Source11: %{name}.noautoprov
46 Source12: %{name}.noautoprovfiles
47 Source13: %{name}.noautoreq
48 Source14: %{name}.noautoreqfiles
50 Source16: %{name}db_checkversion.c
51 Source17: %{name}db_reset.c
52 Source18: dbupgrade.sh
53 Patch0: %{name}-man_pl.patch
54 Patch1: %{name}-popt-aliases.patch
55 Patch2: %{name}-perl-macros.patch
56 Patch3: %{name}-perl-req-perlfile.patch
57 Patch4: %{name}-scripts-closefds.patch
58 Patch6: %{name}-perl_req-INC_dirs.patch
59 Patch7: %{name}-debuginfo.patch
60 Patch8: %{name}-libtool-deps.patch
61 Patch9: %{name}-builddir-readlink.patch
62 Patch10: %{name}-changelog_order_check_nonfatal.patch
63 Patch11: %{name}-postun-nofail.patch
64 Patch12: %{name}-clean-docdir.patch
65 Patch13: %{name}-perl-magic.patch
66 Patch14: %{name}-ignore-missing-macro-files.patch
68 Patch16: rpm5-db-compat.patch
69 Patch17: python-internal-build.patch
70 Patch18: rpmversion.patch
71 Patch19: pkgconfig.patch
72 Patch20: uname-deps.patch
73 Patch21: aarch64.patch
74 Patch22: ix86-platforms.patch
76 BuildRequires: acl-devel
77 BuildRequires: db-devel >= %{db_ver}
78 BuildRequires: autoconf >= 2.63
79 BuildRequires: automake >= 1.4
80 BuildRequires: bzip2-devel >= 1.0.2-17
81 BuildRequires: elfutils-devel >= 0.108
82 BuildRequires: gettext-tools >= 0.19.2
83 BuildRequires: libarchive-devel
84 BuildRequires: libcap-devel
85 BuildRequires: libmagic-devel
86 BuildRequires: libgcrypt-devel
88 BuildRequires: audit-libs-devel
89 BuildRequires: dbus-devel
90 %{?with_imaevm:BuildRequires: libimaevm-devel >= 1.0}
91 BuildRequires: libselinux-devel >= 2.1.0
93 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
94 BuildRequires: libstdc++-devel
95 BuildRequires: libtool >= 1:1.4.2-9
96 BuildRequires: ossp-uuid-devel
97 BuildRequires: patch >= 2.2
98 BuildRequires: pkgconfig(lua) >= 5.1
99 BuildRequires: popt-devel >= %{popt_ver}
100 BuildRequires: python3-modules
102 BuildRequires: python3-devel
103 BuildRequires: rpm-pythonprov
104 BuildRequires: rpmbuild(macros) >= 1.750
106 BuildRequires: sqlite3-devel >= 3.22.0
108 BuildRequires: xz-devel
109 BuildRequires: zlib-devel
110 BuildRequires: zstd-devel
112 BuildRequires: doxygen
113 BuildRequires: ghostscript
114 BuildRequires: graphviz
115 BuildRequires: tetex-pdftex
117 Requires(posttrans): coreutils
118 Requires: %{name}-base = %{epoch}:%{version}-%{release}
119 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
120 Requires: rpm-tld-macros >= 1.744
121 Requires: FHS >= 3.0-2
123 Requires: popt >= %{popt_ver}
124 #%if %{with recommends_tags}
125 #Recommends: rpm-plugin-audit
126 #Recommends: rpm-plugin-prioreset
127 #Recommends: rpm-plugin-syslog
128 #Recommends: rpm-plugin-systemd-inhibit
130 Obsoletes: rpm-utils-perl
131 Obsoletes: rpm-utils-static
132 Conflicts: glibc < 2.2.92
133 # db4.6 poldek needed
134 Conflicts: poldek < 0.21-0.20070703.00.3
135 # segfaults with lzma 0.42.2
136 Conflicts: lzma-libs < 4.999.3
137 Conflicts: util-vserver < 0.30.216-1.pre3034.7
138 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
140 %define _binary_payload w9.gzdio
142 # don't require very fresh rpm.macros to build
143 %define find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT
144 %define ix86 i386 i486 i586 i686 athlon geode pentium3 pentium4
145 %define ppc ppc ppc7400 ppc7450
146 %define x8664 amd64 ia32e x86_64
148 %define _rpmlibdir /usr/lib/rpm
151 RPM is a powerful package manager, which can be used to build,
152 install, query, verify, update, and uninstall individual software
153 packages. A package consists of an archive of files, and package
154 information, including name, version, and description.
156 %description -l de.UTF-8
157 RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur
158 Installation, Anfrage, Verifizierung, Aktualisierung und
159 Uninstallation individueller Softwarepakete. Ein Paket besteht aus
160 einem Archiv Dateien und Paketinformation, inklusive Name, Version und
163 %description -l es.UTF-8
164 RPM es un poderoso administrador de paquetes, que puede ser usado para
165 construir, instalar, pesquisar, verificar, actualizar y desinstalar
166 paquetes individuales de software. Un paquete consiste en un
167 almacenaje de archivos, y información sobre el paquete, incluyendo
168 nombre, versión y descripción.
170 %description -l pl.UTF-8
171 RPM jest doskonałym programem zarządzającym pakietami. Umożliwia on
172 przebudowanie, instalację czy weryfikację dowolnego pakietu.
173 Informacje dotyczące każdego pakietu, takie jak jego opis, lista
174 plików wchodzących w skład pakietu, zależności od innych pakietów, są
175 przechowywane w bazie danych i można je uzyskać za pomocą opcji
176 odpytywania programu rpm.
178 %description -l pt_BR.UTF-8
179 RPM é um poderoso gerenciador de pacotes, que pode ser usado para
180 construir, instalar, pesquisar, verificar, atualizar e desinstalar
181 pacotes individuais de software. Um pacote consiste de um conjunto de
182 arquivos e informações adicionais, incluindo nome, versão e descrição
183 do pacote, permissões dos arquivos, etc.
185 %description -l ru.UTF-8
186 RPM - это мощный менеджер пакетов, который может быть использован для
187 создания, инсталляции, запросов (query), проверки, обновления и
188 удаления программных пакетов. Пакет состоит из файлового архива и
189 служебной информации, включающей название, версию, описание и другие
192 %description -l uk.UTF-8
193 RPM - це потужний менеджер пакетів, що може бути використаний для
194 створення, інсталяції, запитів (query), перевірки, поновлення та
195 видалення програмних пакетів. Пакет складається з файлового архіву та
196 службової інформації, що містить назву, версію, опис та іншу
197 інформацію про пакет.
200 Summary: RPM base package - scripts used by rpm packages themselves
201 Summary(pl.UTF-8): Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
204 Obsoletes: rpm-scripts
205 Obsoletes: vserver-rpm
208 The RPM base package contains scripts used by rpm packages themselves.
210 - scripts for adding/removing groups and users needed for rpm
212 - banner.sh to display %%banner messages from rpm scriptlets.
214 %description base -l pl.UTF-8
215 Pakiet podstawowy RPM zwiera skrypty używane przez same pakiety rpm.
217 - skrypty dodające/usuwające grupy i użytkowników dla pakietów rpm,
218 - banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
221 Summary: RPMs library
222 Summary(pl.UTF-8): Biblioteki RPM-a
224 Requires: db >= %{db_ver}
225 Requires: libmagic >= 1.15-2
226 Requires: popt >= %{popt_ver}
228 # avoid SEGV caused by mixed db versions
229 Conflicts: poldek < 0.18.1-16
234 %description lib -l pl.UTF-8
238 Summary: Header files for rpm libraries
239 Summary(de.UTF-8): Header-Dateien für rpm Libraries
240 Summary(es.UTF-8): Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
241 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek rpm
242 Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
243 Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами
244 Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm
245 Group: Development/Libraries
246 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
247 Requires: bzip2-devel
248 Requires: db-devel >= %{db_ver}
249 Requires: elfutils-devel
250 Requires: libmagic-devel
251 Requires: libgcrypt-devel
253 Requires: libselinux-devel
254 Requires: libsemanage-devel
255 Requires: libsepol-devel
257 Requires: popt-devel >= %{popt_ver}
261 The RPM packaging system includes C libraries that make it easy to
262 manipulate RPM packages and databases. They are intended to ease the
263 creation of graphical package managers and other tools that need
264 intimate knowledge of RPM packages. This package contains header files
267 %description devel -l de.UTF-8
268 Der RPM-Packensystem enthält eine C-Library, die macht es einfach
269 RPM-Pakete und Dateibanken zu manipulieren. Er eignet sich für
270 Vereinfachung des Schaffens grafischer Paket-Manager und anderer
271 Werkzeuge, die intime Kenntnis von RPM-Paketen brauchen.
273 %description devel -l es.UTF-8
274 El sistema de empaquetado RPM incluye una biblioteca C que vuelve
275 fácil la manipulación de paquetes y bases de datos RPM. Su objetivo es
276 facilitar la creación de administradores gráficos de paquetes y otras
277 herramientas que necesiten un conocimiento profundo de paquetes RPM.
279 %description devel -l pl.UTF-8
280 System RPM zawiera biblioteki C, które ułatwiają manipulowanie
281 pakietami RPM oraz bazami danych. W zamiarze ma to uprościć tworzenie
282 graficznych programów zarządzających pakietami oraz innych narzędzi,
283 które wymagają szczegółowej wiedzy na temat pakietów RPM. Ten pakiet
284 zawiera pliki nagłówkowe wspomnianych bibliotek.
286 %description devel -l pt_BR.UTF-8
287 O sistema de empacotamento RPM inclui uma biblioteca C que torna fácil
288 a manipulação de pacotes e bases de dados RPM. Seu objetivo é
289 facilitar a criação de gerenciadores gráficos de pacotes e outras
290 ferramentas que precisem de conhecimento profundo de pacotes RPM.
292 %description devel -l ru.UTF-8
293 Система управления пакетами RPM содержит библиотеку C, которая
294 упрощает манипуляцию пакетами RPM и соответствующими базами данных.
295 Эта библиотека предназначена для облегчения создания графических
296 пакетных менеджеров и других утилит, которым необходимо работать с
299 %description devel -l uk.UTF-8
300 Система керування пакетами RPM містить бібліотеку C, котра спрощує
301 роботу з пакетами RPM та відповідними базами даних. Ця бібліотека
302 призначена для полегшення створення графічних пакетних менеджерів та
303 інших утиліт, що працюють з пакетами RPM.
306 Summary: Additional utilities for managing RPM packages and database
307 Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
308 Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
309 Group: Applications/File
310 Requires: %{name} = %{epoch}:%{version}-%{release}
311 Requires: popt >= %{popt_ver}
312 #%if %{with recommends_tags}
316 Conflicts: filesystem-debuginfo < 3.0-16
319 Additional utilities for managing RPM packages and database.
321 %description utils -l de.UTF-8
322 Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
324 %description utils -l pl.UTF-8
325 Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
328 Summary: Scripts for building binary RPM packages
329 Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
330 Summary(pl.UTF-8): Skrypty pomocnicze do budowania binarnych RPM-ów
331 Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes
332 Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
333 Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
334 Group: Applications/File
335 Requires(pretrans): coreutils
336 Requires(pretrans): findutils
337 Requires: %{name}-utils = %{epoch}:%{version}-%{release}
338 Requires: rpm-tld-macros-build >= 1.744
342 Requires: chrpath >= 0.10-4
346 Requires: file >= 4.17
350 Requires: gcc >= 3.0.3
354 Requires: glibc-devel
361 Requires: tar >= 1:1.22
365 Provides: rpmbuild(noauto) = 3
367 Conflicts: automake < 1:1.7.9-2
368 Conflicts: libtool < 2:1.5-13
372 Scripts for building binary RPM packages.
374 %description build -l de.UTF-8
375 Scripts fürs Bauen binärer RPM-Pakete.
377 %description build -l pl.UTF-8
378 Skrypty pomocnicze do budowania binarnych RPM-ów.
380 %description build -l pt_BR.UTF-8
381 Este pacote contém scripts e programas executáveis que são usados para
382 construir pacotes usando o RPM.
384 %description build -l ru.UTF-8
385 Различные вспомогательные скрипты и исполняемые программы, которые
386 используются для сборки RPM'ов.
388 %description build -l uk.UTF-8
389 Різноманітні допоміжні скрипти та утиліти, які використовуються для
393 Summary: Additional utilities for checking Perl provides/requires in RPM packages
394 Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
395 Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
396 Group: Applications/File
397 Requires: %{name} = %{epoch}:%{version}-%{release}
398 Requires: perl-Encode
400 Requires: perl-modules
402 %description perlprov
403 Additional utilities for checking Perl provides/requires in RPM
406 %description perlprov -l de.UTF-8
407 Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen.
409 %description perlprov -l pl.UTF-8
410 Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
414 Summary: Python macros, which simplifies creation of RPM packages with Python software
415 Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
416 Group: Applications/File
417 Requires: %{name} = %{epoch}:%{version}-%{release}
419 Requires: python3-modules
420 Requires: python3-setuptools
422 %description pythonprov
423 Python macros, which simplifies creation of RPM packages with Python
426 %description pythonprov -l pl.UTF-8
427 Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
430 %package -n python3-rpm
431 Summary: Python 3 interface to RPM library
432 Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki RPM-a
433 Summary(pt_BR.UTF-8): Módulo Python 3 para aplicativos que manipulam pacotes RPM
434 Group: Development/Languages/Python
435 Requires: %{name} = %{epoch}:%{version}-%{release}
437 Obsoletes: python-rpm < 1:4.16.0
438 Obsoletes: rpm-python
440 %description -n python3-rpm
441 The python3-rpm package contains a module which permits applications
442 written in the Python 3 programming language to use the interface
443 supplied by RPM (RPM Package Manager) libraries.
445 This package should be installed if you want to develop Python 3
446 programs that will manipulate RPM packages and databases.
448 %description -n python3-rpm -l pl.UTF-8
449 Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w
450 Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki
453 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
454 Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
456 %description -n python3-rpm -l pt_BR.UTF-8
457 O pacote python3-rpm contém um módulo que permite que aplicações
458 escritas em Python 3 utilizem a interface fornecida pelas bibliotecas
459 RPM (RPM Package Manager).
461 Esse pacote deve ser instalado se você quiser desenvolver programas em
462 Python 3 para manipular pacotes e bancos de dados RPM.
464 %package plugin-audit
465 Summary: Plugin for logging audit events on package operations
467 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
469 %description plugin-audit
470 Plugin for libaudit support
472 %package plugin-syslog
473 Summary: Plugin for syslog functionality
475 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
477 %description plugin-syslog
478 This plugin exports RPM actions to the system log.
480 %package plugin-systemd-inhibit
481 Summary: Plugin for systemd inhibit functionality
483 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
485 %description plugin-systemd-inhibit
486 This plugin blocks systemd from entering idle, sleep or shutdown while
487 an rpm transaction is running using the systemd-inhibit mechanism.
490 Summary: Plugin for IMA file signatures
492 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
494 %description plugin-ima
495 This plugin adds support for enforcing and verifying IMA file
496 signatures in an rpm.
498 %package plugin-prioreset
499 Summary: Plugin for resetting scriptlet priorities for SysV init
501 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
503 %description plugin-prioreset
504 This plugin is useful on legacy SysV init systems if you run rpm
505 transactions with nice/ionice priorities. Should not be used on
508 %package plugin-selinux
509 Summary: Plugin for SELinux functionality
511 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
512 Requires: libselinux >= 2.1.0
514 %description plugin-selinux
515 Plugin for SELinux functionality.
518 Summary: Package signing support
520 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
523 This package contains support for digitally signing RPM packages.
526 Summary: RPM API documentation and guides
527 Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki
532 Documentation for RPM API and guides in HTML format generated from rpm
535 %description apidocs -l pl.UTF-8
536 Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
537 źrodeł RPM-a przez doxygen.
540 %setup -q -n %{name}-%{version}%{?subver}
564 install %{SOURCE15} scripts/perl.prov.in
566 %{__mv} -f scripts/perl.req{,.in}
568 # generate Group translations to *.po
569 awk -f %{SOURCE6} %{SOURCE5}
571 install %{SOURCE16} tools/rpmdb_checkversion.c
572 install %{SOURCE17} tools/rpmdb_reset.c
574 %{__sed} -i -e '1s,/usr/bin/python,%{__python3},' scripts/pythondistdeps.py
583 # rpm checks for CPU type at runtime, but it looks better
585 -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
586 -e 's|@host_cpu@|%{_target_cpu}|' \
587 -e 's|@host_os@|%{_target_os}|' \
591 WITH_PERL_VERSION=no \
592 __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
593 __GPG=%{_bindir}/gpg \
598 --disable-silent-rules \
605 %{?with_imaevm:--with-imaevm} \
610 --with-selinux=%{!?with_plugins:no}%{?with_plugins:yes} \
611 %{!?with_plugins:--disable-plugins} \
616 %{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb
617 %{__cc} %{rpmcflags} tools/rpmdb_reset.c -o tools/rpmdb_reset -ldb
619 if tools/rpmdb_checkversion -V 2>&1 | grep "t match library version"; then
620 echo "Error linking rpmdb tools!"
623 if tools/rpmdb_reset -V 2>&1 | grep "t match library version"; then
624 echo "Error linking rpmdb tools!"
634 rm -rf $RPM_BUILD_ROOT
635 install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
636 $RPM_BUILD_ROOT{/var/lib/{banner,rpm},/var/cache/hrmib}
639 pkgconfigdir=%{_pkgconfigdir} \
640 DESTDIR=$RPM_BUILD_ROOT
643 %ifnarch %{ix86} %{x8664} x32
644 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/athlon-linux/macros
645 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/geode-linux/macros
646 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i386-linux/macros
647 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i486-linux/macros
648 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i586-linux/macros
649 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i686-linux/macros
650 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium3-linux/macros
651 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium4-linux/macros
654 %ifnarch %{x8664} x32
655 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/amd64-linux/macros
656 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia32e-linux/macros
657 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x32-linux/macros
658 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x86_64-linux/macros
662 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/m68k-linux/macros
663 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc32dy4-linux/macros
664 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc64*-linux/macros
665 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8260-linux/macros
666 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8560-linux/macros
667 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros
668 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros
672 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
675 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros
676 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
677 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros
678 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros
679 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros
680 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros
681 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros
682 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros
684 cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
686 %{_target_cpu}-%{_target_vendor}-linux-gnux32
688 %{_target_cpu}-%{_target_vendor}-linux
692 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
694 install -d $RPM_BUILD_ROOT%{_rpmlibdir}/tld
696 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
697 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
698 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
699 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rpm
701 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh
703 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
704 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
705 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
706 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
707 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
708 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
710 cp -p tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/
711 cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/
712 cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh
715 %{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
716 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
717 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmverify
719 # move essential libs to /lib (libs that /bin/rpm links to)
720 for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
721 mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib}
722 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
725 # Make sure we have bdb set a default backend
726 grep -qE "db_backend[[:blank:]]+bdb" $RPM_BUILD_ROOT%{_rpmlibdir}/macros
729 # Remove anything that rpm make install might put there
730 %{__rm} -rf $RPM_BUILD_ROOT%{py3_sitedir}
736 %{__rm} $RPM_BUILD_ROOT%{_libdir}/rpm-plugins/*.la
738 # wrong location, not used anyway
739 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log}
744 rm -rf $RPM_BUILD_ROOT
747 if [ -e /var/lib/rpm/Packages ] && \
748 ! %{_rpmlibdir}/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then
749 if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
750 /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
752 echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
756 echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
757 echo 'you should ignore it and restart poldek'
759 %{_rpmlibdir}/dbupgrade.sh
762 %triggerpostun -- %{name} < 4.4.9-44
763 %{_rpmlibdir}/hrmib-cache
765 %post lib -p /sbin/ldconfig
766 %postun lib -p /sbin/ldconfig
769 find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
771 %files -f %{name}.lang
772 %defattr(644,root,root,755)
773 %doc ChangeLog CREDITS README
775 %attr(755,root,root) /bin/rpm
776 %attr(755,root,root) %{_bindir}/rpmdb
777 %attr(755,root,root) %{_bindir}/rpmkeys
778 %attr(755,root,root) %{_bindir}/rpmquery
779 %attr(755,root,root) %{_bindir}/rpmverify
781 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
782 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
783 # this is ok to be replaced
784 %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform
786 %{_mandir}/man8/rpm.8*
787 %{_mandir}/man8/rpmdb.8*
788 %{_mandir}/man8/rpmkeys.8*
789 %{_mandir}/man8/rpm-misc.8*
790 %{?with_plugins:%{_mandir}/man8/rpm-plugins.8*}
791 %lang(fr) %{_mandir}/fr/man8/rpm.8*
792 %lang(ja) %{_mandir}/ja/man8/rpm.8*
793 %lang(ko) %{_mandir}/ko/man8/rpm.8*
794 %lang(pl) %{_mandir}/pl/man8/rpm.8*
795 %lang(ru) %{_mandir}/ru/man8/rpm.8*
796 %lang(sk) %{_mandir}/sk/man8/rpm.8*
800 # exported package NVRA (stamped with install tid)
801 # net-snmp hrSWInstalledName queries, bash-completions
802 %dir /var/cache/hrmib
804 %{_rpmlibdir}/rpmpopt*
807 %dir %{_rpmlibdir}/macros.d
808 %dir %{_rpmlibdir}/platform
809 %{_rpmlibdir}/platform/noarch-*
810 %ifarch %{ix86} %{x8664} x32
811 %{_rpmlibdir}/platform/athlon*
812 %{_rpmlibdir}/platform/geode*
813 %{_rpmlibdir}/platform/i?86*
814 %{_rpmlibdir}/platform/pentium*
817 %{_rpmlibdir}/platform/amd64*
818 %{_rpmlibdir}/platform/ia32e*
819 %{_rpmlibdir}/platform/x86_64*
820 %{_rpmlibdir}/platform/x32*
823 %{_rpmlibdir}/platform/alpha*
826 %{_rpmlibdir}/platform/aarch64*
829 %{_rpmlibdir}/platform/ia64*
831 %ifarch mips mipsel mips64 mips64el
832 %{_rpmlibdir}/platform/mips*
835 %{_rpmlibdir}/platform/ppc*
837 %ifarch sparc sparc64
838 %{_rpmlibdir}/platform/sparc*
841 %dir %{_rpmlibdir}/tld
843 %attr(755,root,root) %{_rpmlibdir}/hrmib-cache
845 %attr(755,root,root) %{_rpmlibdir}/dbupgrade.sh
846 %attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion
847 %attr(755,root,root) %{_rpmlibdir}/rpmdb_reset
848 %attr(755,root,root) %{_rpmlibdir}/rpmdb_dump
849 %attr(755,root,root) %{_rpmlibdir}/rpmdb_load
851 # valgrind suppression file for rpm
852 %{_rpmlibdir}/rpm.supp
855 %defattr(644,root,root,755)
856 %dir %{_sysconfdir}/rpm
857 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
859 %attr(755,root,root) %{_bindir}/banner.sh
860 %attr(755,root,root) %{_rpmlibdir}/user_group.sh
864 %defattr(644,root,root,755)
865 %attr(755,root,root) /%{_lib}/librpm.so.9
866 %attr(755,root,root) /%{_lib}/librpm.so.%{sover}
867 %attr(755,root,root) /%{_lib}/librpmbuild.so.9
868 %attr(755,root,root) /%{_lib}/librpmbuild.so.%{sover}
869 %attr(755,root,root) /%{_lib}/librpmio.so.9
870 %attr(755,root,root) /%{_lib}/librpmio.so.%{sover}
871 %attr(755,root,root) /%{_lib}/librpmsign.so.9
872 %attr(755,root,root) /%{_lib}/librpmsign.so.%{sover}
873 %{?with_plugins:%dir %{_libdir}/rpm-plugins}
876 %defattr(644,root,root,755)
877 %attr(755,root,root) %{_libdir}/librpm.so
878 %attr(755,root,root) %{_libdir}/librpmbuild.so
879 %attr(755,root,root) %{_libdir}/librpmio.so
880 %attr(755,root,root) %{_libdir}/librpmsign.so
881 %{_libdir}/librpm*.la
883 %{_pkgconfigdir}/*.pc
886 %defattr(644,root,root,755)
887 %attr(755,root,root) %{_bindir}/rpm2archive
888 %attr(755,root,root) %{_bindir}/rpm2cpio
889 %attr(755,root,root) %{_bindir}/rpmgraph
890 %attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
891 %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
892 %attr(755,root,root) %{_rpmlibdir}/tgpg
893 %attr(755,root,root) %{_rpmlibdir}/debugedit
894 %attr(755,root,root) %{_rpmlibdir}/rpmdeps
895 %{_mandir}/man8/rpm2archive.8*
896 %{_mandir}/man8/rpm2cpio.8*
897 %{_mandir}/man8/rpmdeps.8*
898 %{_mandir}/man8/rpmgraph.8*
899 %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
900 %lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
901 %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
902 %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
903 %lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
904 %lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
905 %lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
908 %defattr(644,root,root,755)
909 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
910 %attr(755,root,root) %{_rpmlibdir}/brp-*
911 %attr(755,root,root) %{_rpmlibdir}/check-files
912 %attr(755,root,root) %{_rpmlibdir}/install-build-tree
913 %attr(755,root,root) %{_rpmlibdir}/elfdeps
914 %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
915 # needs hacked pkg-config to return anything
916 %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
917 %attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
919 %attr(755,root,root) %{_rpmlibdir}/fontconfig.prov
920 # must be here for "Requires: rpm-*prov" to work
921 #%{_rpmlibdir}/macros.d/cmake
922 #%{_rpmlibdir}/macros.d/gstreamer
923 #%{_rpmlibdir}/macros.d/libtool
924 #%{_rpmlibdir}/macros.d/perl
925 #%{_rpmlibdir}/macros.d/pkgconfig
926 #%{_rpmlibdir}/macros.d/python
927 #%{_rpmlibdir}/macros.d/selinux
928 #%{_rpmlibdir}/macros.d/tcl
929 #%{_rpmlibdir}/macros.rpmbuild
931 %attr(755,root,root) %{_rpmlibdir}/check-buildroot
932 %attr(755,root,root) %{_rpmlibdir}/check-prereqs
933 %attr(755,root,root) %{_rpmlibdir}/check-rpaths
934 %attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
935 %attr(755,root,root) %{_rpmlibdir}/find-provides
936 %attr(755,root,root) %{_rpmlibdir}/find-requires
937 %attr(755,root,root) %{_rpmlibdir}/ocamldeps.sh
938 %attr(755,root,root) %{_rpmlibdir}/script.req
939 %attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
941 %dir %{_rpmlibdir}/fileattrs
942 %{_rpmlibdir}/fileattrs/debuginfo.attr
943 %{_rpmlibdir}/fileattrs/desktop.attr
944 %{_rpmlibdir}/fileattrs/elf.attr
945 %{_rpmlibdir}/fileattrs/font.attr
946 %{_rpmlibdir}/fileattrs/libtool.attr
947 %{_rpmlibdir}/fileattrs/metainfo.attr
948 %{_rpmlibdir}/fileattrs/ocaml.attr
949 %{_rpmlibdir}/fileattrs/perl.attr
950 %{_rpmlibdir}/fileattrs/perllib.attr
951 %{_rpmlibdir}/fileattrs/pkgconfig.attr
952 %{_rpmlibdir}/fileattrs/python.attr
953 %{_rpmlibdir}/fileattrs/pythondist.attr
954 %{_rpmlibdir}/fileattrs/script.attr
956 %attr(755,root,root) %{_bindir}/gendiff
957 %attr(755,root,root) %{_bindir}/rpmbuild
958 %attr(755,root,root) %{_bindir}/rpmspec
960 %{_mandir}/man1/gendiff.1*
961 %lang(pl) %{_mandir}/pl/man1/gendiff.1*
962 %{_mandir}/man8/rpmbuild.8*
963 %lang(ja) %{_mandir}/ja/man8/rpmbuild.8*
964 %lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
965 %{_mandir}/man8/rpmspec.8*
968 %defattr(644,root,root,755)
969 %attr(755,root,root) %{_rpmlibdir}/perl.*
972 %defattr(644,root,root,755)
973 %attr(755,root,root) %{_rpmlibdir}/pythondistdeps.py
976 %files -n python3-rpm
977 %defattr(644,root,root,755)
978 %dir %{py3_sitedir}/rpm
979 %attr(755,root,root) %{py3_sitedir}/rpm/*.so
980 %{py3_sitedir}/rpm/*.py
981 %{py3_sitedir}/rpm-%{version}-py*.egg-info
982 %{py3_sitedir}/rpm/__pycache__
987 %defattr(644,root,root,755)
988 %attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
989 %{_mandir}/man8/rpm-plugin-audit.8*
992 %defattr(644,root,root,755)
993 %attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
994 %{_mandir}/man8/rpm-plugin-syslog.8*
996 %files plugin-systemd-inhibit
997 %defattr(644,root,root,755)
998 %attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so
999 %{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
1002 %defattr(644,root,root,755)
1003 %attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
1004 %{_mandir}/man8/rpm-plugin-ima.8*
1006 %files plugin-prioreset
1007 %defattr(644,root,root,755)
1008 %attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
1009 %{_mandir}/man8/rpm-plugin-prioreset.8*
1011 %files plugin-selinux
1012 %defattr(644,root,root,755)
1013 %attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
1014 %{_mandir}/man8/rpm-plugin-selinux.8*
1018 %defattr(644,root,root,755)
1019 %attr(755,root,root) %{_bindir}/rpmsign
1020 %{_mandir}/man8/rpmsign.8*
1024 %defattr(644,root,root,755)
1025 %doc doc/librpm/html/*