3 # - rebuild database after upgrading from rpm5
4 # - when adopting, use 4.5 ticket for checklist: https://bugs.launchpad.net/pld-linux/+bug/262985
7 %bcond_without apidocs # don't generate documentation with doxygen
8 %bcond_without python3 # don't build python bindings
9 %bcond_without plugins # build plugins
10 %bcond_without recommends_tags # build without Recommends tag (bootstrapping)
11 %bcond_with imaevm # build with IMA/EVM support (requires libimaevm from ima-evm-utils)
13 %define db_ver 5.3.28.0
15 %define openssl_ver 1.1.1d
18 Summary: RPM Package Manager
19 Summary(de.UTF-8): RPM Packet-Manager
20 Summary(es.UTF-8): Gestor de paquetes RPM
21 Summary(pl.UTF-8): Aplikacja do zarządzania pakietami RPM
22 Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM
23 Summary(ru.UTF-8): Менеджер пакетов от RPM
24 Summary(uk.UTF-8): Менеджер пакетів від RPM
29 License: GPL v2 / LGPL v2.1
31 Source0: http://ftp.rpm.org/releases/rpm-4.16.x/%{name}-%{version}.tar.bz2
32 # Source0-md5: 434e166a812e35ef181f6dd176326920
33 Source1: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
34 # Source1-md5: 23914bb49fafe7153cee87126d966461
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 Patch5: %{name}-lua.patch
59 Patch6: %{name}-perl_req-INC_dirs.patch
60 Patch7: %{name}-debuginfo.patch
61 Patch8: %{name}-libtool-deps.patch
62 Patch9: %{name}-builddir-readlink.patch
63 Patch10: %{name}-changelog_order_check_nonfatal.patch
64 Patch11: %{name}-postun-nofail.patch
65 Patch12: %{name}-clean-docdir.patch
66 Patch13: %{name}-perl-magic.patch
67 Patch14: %{name}-ignore-missing-macro-files.patch
69 Patch16: rpm5-db-compat.patch
70 Patch17: python-internal-build.patch
72 BuildRequires: db-devel >= %{db_ver}
73 BuildRequires: autoconf >= 2.63
74 BuildRequires: automake >= 1.4
75 BuildRequires: bzip2-devel >= 1.0.2-17
76 BuildRequires: elfutils-devel >= 0.108
77 BuildRequires: gettext-tools >= 0.19.2
78 BuildRequires: libarchive-devel
79 BuildRequires: libmagic-devel
80 BuildRequires: openssl-devel >= %{openssl_ver}
82 BuildRequires: audit-libs-devel
83 BuildRequires: dbus-devel
84 %{?with_imaevm:BuildRequires: libimaevm-devel >= 1.0}
85 BuildRequires: libselinux-devel >= 2.1.0
87 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
88 BuildRequires: libstdc++-devel
89 BuildRequires: libtool >= 1:1.4.2-9
90 BuildRequires: lua53-devel >= 5.3.5
91 BuildRequires: ossp-uuid-devel
92 BuildRequires: patch >= 2.2
93 BuildRequires: popt-devel >= %{popt_ver}
94 BuildRequires: python3-modules
96 BuildRequires: python3-devel
97 BuildRequires: rpm-pythonprov
99 BuildRequires: sqlite3-devel >= 3.22.0
101 BuildRequires: xz-devel
102 BuildRequires: zlib-devel
103 BuildRequires: zstd-devel
105 BuildRequires: doxygen
106 BuildRequires: ghostscript
107 BuildRequires: graphviz
108 BuildRequires: tetex-pdftex
110 Requires(posttrans): coreutils
111 Requires: %{name}-base = %{epoch}:%{version}-%{release}
112 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
113 Requires: rpm-pld-macros >= 1.744
114 Requires: FHS >= 3.0-2
115 Requires: openssl >= %{openssl_ver}
116 Requires: popt >= %{popt_ver}
117 %if %{with recommends_tags}
118 Recommends: rpm-plugin-audit
119 Recommends: rpm-plugin-prioreset
120 Recommends: rpm-plugin-syslog
121 Recommends: rpm-plugin-systemd-inhibit
123 Obsoletes: rpm-getdeps
124 Obsoletes: rpm-utils-perl
125 Obsoletes: rpm-utils-static
126 Conflicts: glibc < 2.2.92
127 # db4.6 poldek needed
128 Conflicts: poldek < 0.21-0.20070703.00.3
129 # segfaults with lzma 0.42.2
130 Conflicts: lzma-libs < 4.999.3
131 Conflicts: util-vserver < 0.30.216-1.pre3034.7
132 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
134 %define _binary_payload w9.gzdio
136 # don't require very fresh rpm.macros to build
137 %define find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT
138 %define ix86 i386 i486 i586 i686 athlon geode pentium3 pentium4
139 %define ppc ppc ppc7400 ppc7450
140 %define x8664 amd64 ia32e x86_64
142 %define _rpmlibdir /usr/lib/rpm
145 RPM is a powerful package manager, which can be used to build,
146 install, query, verify, update, and uninstall individual software
147 packages. A package consists of an archive of files, and package
148 information, including name, version, and description.
150 %description -l de.UTF-8
151 RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur
152 Installation, Anfrage, Verifizierung, Aktualisierung und
153 Uninstallation individueller Softwarepakete. Ein Paket besteht aus
154 einem Archiv Dateien und Paketinformation, inklusive Name, Version und
157 %description -l es.UTF-8
158 RPM es un poderoso administrador de paquetes, que puede ser usado para
159 construir, instalar, pesquisar, verificar, actualizar y desinstalar
160 paquetes individuales de software. Un paquete consiste en un
161 almacenaje de archivos, y información sobre el paquete, incluyendo
162 nombre, versión y descripción.
164 %description -l pl.UTF-8
165 RPM jest doskonałym programem zarządzającym pakietami. Umożliwia on
166 przebudowanie, instalację czy weryfikację dowolnego pakietu.
167 Informacje dotyczące każdego pakietu, takie jak jego opis, lista
168 plików wchodzących w skład pakietu, zależności od innych pakietów, są
169 przechowywane w bazie danych i można je uzyskać za pomocą opcji
170 odpytywania programu rpm.
172 %description -l pt_BR.UTF-8
173 RPM é um poderoso gerenciador de pacotes, que pode ser usado para
174 construir, instalar, pesquisar, verificar, atualizar e desinstalar
175 pacotes individuais de software. Um pacote consiste de um conjunto de
176 arquivos e informações adicionais, incluindo nome, versão e descrição
177 do pacote, permissões dos arquivos, etc.
179 %description -l ru.UTF-8
180 RPM - это мощный менеджер пакетов, который может быть использован для
181 создания, инсталляции, запросов (query), проверки, обновления и
182 удаления программных пакетов. Пакет состоит из файлового архива и
183 служебной информации, включающей название, версию, описание и другие
186 %description -l uk.UTF-8
187 RPM - це потужний менеджер пакетів, що може бути використаний для
188 створення, інсталяції, запитів (query), перевірки, поновлення та
189 видалення програмних пакетів. Пакет складається з файлового архіву та
190 службової інформації, що містить назву, версію, опис та іншу
191 інформацію про пакет.
194 Summary: RPM base package - scripts used by rpm packages themselves
195 Summary(pl.UTF-8): Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
198 Obsoletes: rpm-scripts
199 Obsoletes: vserver-rpm
202 The RPM base package contains scripts used by rpm packages themselves.
204 - scripts for adding/removing groups and users needed for rpm
206 - banner.sh to display %%banner messages from rpm scriptlets.
208 %description base -l pl.UTF-8
209 Pakiet podstawowy RPM zwiera skrypty używane przez same pakiety rpm.
211 - skrypty dodające/usuwające grupy i użytkowników dla pakietów rpm,
212 - banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
215 Summary: RPMs library
216 Summary(pl.UTF-8): Biblioteki RPM-a
218 Requires: db >= %{db_ver}
219 Requires: libmagic >= 1.15-2
220 Requires: openssl >= %{openssl_ver}
221 Requires: popt >= %{popt_ver}
223 # avoid SEGV caused by mixed db versions
224 Conflicts: poldek < 0.18.1-16
229 %description lib -l pl.UTF-8
233 Summary: Header files for rpm libraries
234 Summary(de.UTF-8): Header-Dateien für rpm Libraries
235 Summary(es.UTF-8): Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
236 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek rpm
237 Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
238 Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами
239 Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm
240 Group: Development/Libraries
241 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
242 Requires: bzip2-devel
243 Requires: db-devel >= %{db_ver}
244 Requires: elfutils-devel
245 Requires: libmagic-devel
246 Requires: openssl-devel >= %{openssl_ver}
248 Requires: libselinux-devel
249 Requires: libsemanage-devel
250 Requires: libsepol-devel
252 Requires: popt-devel >= %{popt_ver}
256 The RPM packaging system includes C libraries that make it easy to
257 manipulate RPM packages and databases. They are intended to ease the
258 creation of graphical package managers and other tools that need
259 intimate knowledge of RPM packages. This package contains header files
262 %description devel -l de.UTF-8
263 Der RPM-Packensystem enthält eine C-Library, die macht es einfach
264 RPM-Pakete und Dateibanken zu manipulieren. Er eignet sich für
265 Vereinfachung des Schaffens grafischer Paket-Manager und anderer
266 Werkzeuge, die intime Kenntnis von RPM-Paketen brauchen.
268 %description devel -l es.UTF-8
269 El sistema de empaquetado RPM incluye una biblioteca C que vuelve
270 fácil la manipulación de paquetes y bases de datos RPM. Su objetivo es
271 facilitar la creación de administradores gráficos de paquetes y otras
272 herramientas que necesiten un conocimiento profundo de paquetes RPM.
274 %description devel -l pl.UTF-8
275 System RPM zawiera biblioteki C, które ułatwiają manipulowanie
276 pakietami RPM oraz bazami danych. W zamiarze ma to uprościć tworzenie
277 graficznych programów zarządzających pakietami oraz innych narzędzi,
278 które wymagają szczegółowej wiedzy na temat pakietów RPM. Ten pakiet
279 zawiera pliki nagłówkowe wspomnianych bibliotek.
281 %description devel -l pt_BR.UTF-8
282 O sistema de empacotamento RPM inclui uma biblioteca C que torna fácil
283 a manipulação de pacotes e bases de dados RPM. Seu objetivo é
284 facilitar a criação de gerenciadores gráficos de pacotes e outras
285 ferramentas que precisem de conhecimento profundo de pacotes RPM.
287 %description devel -l ru.UTF-8
288 Система управления пакетами RPM содержит библиотеку C, которая
289 упрощает манипуляцию пакетами RPM и соответствующими базами данных.
290 Эта библиотека предназначена для облегчения создания графических
291 пакетных менеджеров и других утилит, которым необходимо работать с
294 %description devel -l uk.UTF-8
295 Система керування пакетами RPM містить бібліотеку C, котра спрощує
296 роботу з пакетами RPM та відповідними базами даних. Ця бібліотека
297 призначена для полегшення створення графічних пакетних менеджерів та
298 інших утиліт, що працюють з пакетами RPM.
301 Summary: Additional utilities for managing RPM packages and database
302 Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
303 Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
304 Group: Applications/File
305 Requires: %{name} = %{epoch}:%{version}-%{release}
306 Requires: popt >= %{popt_ver}
307 %if %{with recommends_tags}
311 Conflicts: filesystem-debuginfo < 3.0-16
314 Additional utilities for managing RPM packages and database.
316 %description utils -l de.UTF-8
317 Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
319 %description utils -l pl.UTF-8
320 Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
323 Summary: Scripts for building binary RPM packages
324 Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
325 Summary(pl.UTF-8): Skrypty pomocnicze do budowania binarnych RPM-ów
326 Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes
327 Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
328 Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
329 Group: Applications/File
330 Requires(pretrans): coreutils
331 Requires(pretrans): findutils
332 Requires: %{name}-utils = %{epoch}:%{version}-%{release}
333 Requires: rpm-pld-macros-build >= 1.744
337 Requires: chrpath >= 0.10-4
341 Requires: file >= 4.17
345 Requires: gcc >= 3.0.3
349 Requires: glibc-devel
356 Requires: tar >= 1:1.22
360 Provides: rpmbuild(noauto) = 3
362 Conflicts: automake < 1:1.7.9-2
363 Conflicts: libtool < 2:1.5-13
367 Scripts for building binary RPM packages.
369 %description build -l de.UTF-8
370 Scripts fürs Bauen binärer RPM-Pakete.
372 %description build -l pl.UTF-8
373 Skrypty pomocnicze do budowania binarnych RPM-ów.
375 %description build -l pt_BR.UTF-8
376 Este pacote contém scripts e programas executáveis que são usados para
377 construir pacotes usando o RPM.
379 %description build -l ru.UTF-8
380 Различные вспомогательные скрипты и исполняемые программы, которые
381 используются для сборки RPM'ов.
383 %description build -l uk.UTF-8
384 Різноманітні допоміжні скрипти та утиліти, які використовуються для
388 Summary: Additional utilities for checking Perl provides/requires in RPM packages
389 Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
390 Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
391 Group: Applications/File
392 Requires: %{name} = %{epoch}:%{version}-%{release}
393 Requires: perl-Encode
395 Requires: perl-modules
397 %description perlprov
398 Additional utilities for checking Perl provides/requires in RPM
401 %description perlprov -l de.UTF-8
402 Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen.
404 %description perlprov -l pl.UTF-8
405 Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
409 Summary: Python macros, which simplifies creation of RPM packages with Python software
410 Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
411 Group: Applications/File
412 Requires: %{name} = %{epoch}:%{version}-%{release}
414 Requires: python3-modules
415 Requires: python3-setuptools
417 %description pythonprov
418 Python macros, which simplifies creation of RPM packages with Python
421 %description pythonprov -l pl.UTF-8
422 Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
425 %package -n python3-rpm
426 Summary: Python 3 interface to RPM library
427 Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki RPM-a
428 Summary(pt_BR.UTF-8): Módulo Python 3 para aplicativos que manipulam pacotes RPM
429 Group: Development/Languages/Python
430 Requires: %{name} = %{epoch}:%{version}-%{release}
432 Obsoletes: python-rpm < 1:4.16.0
433 Obsoletes: rpm-python
435 %description -n python3-rpm
436 The python3-rpm package contains a module which permits applications
437 written in the Python 3 programming language to use the interface
438 supplied by RPM (RPM Package Manager) libraries.
440 This package should be installed if you want to develop Python 3
441 programs that will manipulate RPM packages and databases.
443 %description -n python3-rpm -l pl.UTF-8
444 Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w
445 Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki
448 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
449 Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
451 %description -n python3-rpm -l pt_BR.UTF-8
452 O pacote python3-rpm contém um módulo que permite que aplicações
453 escritas em Python 3 utilizem a interface fornecida pelas bibliotecas
454 RPM (RPM Package Manager).
456 Esse pacote deve ser instalado se você quiser desenvolver programas em
457 Python 3 para manipular pacotes e bancos de dados RPM.
459 %package plugin-audit
460 Summary: Plugin for logging audit events on package operations
462 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
464 %description plugin-audit
465 Plugin for libaudit support
467 %package plugin-syslog
468 Summary: Plugin for syslog functionality
470 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
472 %description plugin-syslog
473 This plugin exports RPM actions to the system log.
475 %package plugin-systemd-inhibit
476 Summary: Plugin for systemd inhibit functionality
478 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
480 %description plugin-systemd-inhibit
481 This plugin blocks systemd from entering idle, sleep or shutdown while
482 an rpm transaction is running using the systemd-inhibit mechanism.
485 Summary: Plugin for IMA file signatures
487 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
489 %description plugin-ima
490 This plugin adds support for enforcing and verifying IMA file
491 signatures in an rpm.
493 %package plugin-prioreset
494 Summary: Plugin for resetting scriptlet priorities for SysV init
496 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
498 %description plugin-prioreset
499 This plugin is useful on legacy SysV init systems if you run rpm
500 transactions with nice/ionice priorities. Should not be used on
503 %package plugin-selinux
504 Summary: Plugin for SELinux functionality
506 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
507 Requires: libselinux >= 2.1.0
509 %description plugin-selinux
510 Plugin for SELinux functionality.
513 Summary: Package signing support
515 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
518 This package contains support for digitally signing RPM packages.
521 Summary: RPM API documentation and guides
522 Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki
527 Documentation for RPM API and guides in HTML format generated from rpm
530 %description apidocs -l pl.UTF-8
531 Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
532 źrodeł RPM-a przez doxygen.
535 %setup -q -n %{name}-%{version}%{?subver}
555 install %{SOURCE15} scripts/perl.prov.in
557 %{__mv} -f scripts/perl.req{,.in}
559 # generate Group translations to *.po
560 awk -f %{SOURCE6} %{SOURCE5}
562 install %{SOURCE16} tools/rpmdb_checkversion.c
563 install %{SOURCE17} tools/rpmdb_reset.c
565 %{__sed} -i -e '1s,/usr/bin/python,%{__python3},' scripts/pythondistdeps.py
574 # rpm checks for CPU type at runtime, but it looks better
576 -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
577 -e 's|@host_cpu@|%{_target_cpu}|' \
578 -e 's|@host_os@|%{_target_os}|' \
581 CPPFLAGS="-I/usr/include/lua53 %{rpmcppflags}"
583 WITH_PERL_VERSION=no \
584 __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
585 __GPG=%{_bindir}/gpg \
590 --disable-silent-rules \
596 --with-crypto=openssl \
598 %{?with_imaevm:--with-imaevm} \
603 --with-selinux=%{!?with_plugins:no}%{?with_plugins:yes} \
604 %{!?with_plugins:--disable-plugins} \
609 %{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb
610 %{__cc} %{rpmcflags} tools/rpmdb_reset.c -o tools/rpmdb_reset -ldb
612 if tools/rpmdb_checkversion -V 2>&1 | grep "t match library version"; then
613 echo "Error linking rpmdb tools!"
616 if tools/rpmdb_reset -V 2>&1 | grep "t match library version"; then
617 echo "Error linking rpmdb tools!"
627 rm -rf $RPM_BUILD_ROOT
628 install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
629 $RPM_BUILD_ROOT{/var/lib/{banner,rpm},/var/cache/hrmib}
631 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
634 pkgconfigdir=%{_pkgconfigdir} \
635 DESTDIR=$RPM_BUILD_ROOT
638 %ifnarch %{ix86} %{x8664} x32
639 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/athlon-linux/macros
640 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/geode-linux/macros
641 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i386-linux/macros
642 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i486-linux/macros
643 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i586-linux/macros
644 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i686-linux/macros
645 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium3-linux/macros
646 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium4-linux/macros
649 %ifnarch %{x8664} x32
650 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/amd64-linux/macros
651 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia32e-linux/macros
652 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x32-linux/macros
653 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x86_64-linux/macros
657 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/m68k-linux/macros
658 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc32dy4-linux/macros
659 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc64*-linux/macros
660 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8260-linux/macros
661 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8560-linux/macros
662 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros
663 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros
666 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
667 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros
668 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
669 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros
670 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros
671 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros
672 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros
673 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros
674 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros
676 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
678 install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld
680 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
681 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
682 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
683 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rpm
685 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh
687 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
688 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
689 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
690 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
691 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
692 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
694 cp -p tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/
695 cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/
696 cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh
699 %{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
700 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
701 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmverify
703 # move essential libs to /lib (libs that /bin/rpm links to)
704 for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
705 mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib}
706 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
709 #./rpmdb --macros=macros --rcfile=rpmrc --dbpath=/home/users/baggins/devel/PLD/rpm/BUILD/rpm-4.15.1/x/ --initdb
711 # Make sure we have bdb set a default backend
712 grep -qE "db_backend[[:blank:]]+bdb" $RPM_BUILD_ROOT%{_rpmlibdir}/macros
715 # Remove anything that rpm make install might put there
716 %{__rm} -rf $RPM_BUILD_ROOT%{py3_sitedir}
722 %{__rm} $RPM_BUILD_ROOT%{_libdir}/rpm-plugins/*.la
724 # wrong location, not used anyway
725 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log}
730 rm -rf $RPM_BUILD_ROOT
733 if [ -e /var/lib/rpm/Packages ] && \
734 ! %{_rpmlibdir}/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then
735 if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
736 /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
738 echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
742 echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
743 echo 'you should ignore it and restart poldek'
745 %{_rpmlibdir}/dbupgrade.sh
748 %triggerpostun -- %{name} < 4.4.9-44
749 %{_rpmlibdir}/hrmib-cache
751 %post lib -p /sbin/ldconfig
752 %postun lib -p /sbin/ldconfig
755 find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
757 %files -f %{name}.lang
758 %defattr(644,root,root,755)
759 %doc ChangeLog CREDITS README
761 %dir /etc/pki/rpm-gpg
762 /etc/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
764 %attr(755,root,root) /bin/rpm
765 %attr(755,root,root) %{_bindir}/rpmdb
766 %attr(755,root,root) %{_bindir}/rpmkeys
767 %attr(755,root,root) %{_bindir}/rpmquery
768 %attr(755,root,root) %{_bindir}/rpmverify
770 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
771 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
773 %{_mandir}/man8/rpm.8*
774 %{_mandir}/man8/rpmdb.8*
775 %{_mandir}/man8/rpmkeys.8*
776 %{_mandir}/man8/rpm-misc.8*
777 %{?with_plugins:%{_mandir}/man8/rpm-plugins.8*}
778 %lang(fr) %{_mandir}/fr/man8/rpm.8*
779 %lang(ja) %{_mandir}/ja/man8/rpm.8*
780 %lang(ko) %{_mandir}/ko/man8/rpm.8*
781 %lang(pl) %{_mandir}/pl/man8/rpm.8*
782 %lang(ru) %{_mandir}/ru/man8/rpm.8*
783 %lang(sk) %{_mandir}/sk/man8/rpm.8*
787 # exported package NVRA (stamped with install tid)
788 # net-snmp hrSWInstalledName queries, bash-completions
789 %dir /var/cache/hrmib
791 %{_rpmlibdir}/rpmpopt*
794 %dir %{_rpmlibdir}/macros.d
795 %dir %{_rpmlibdir}/platform
796 %{_rpmlibdir}/platform/noarch-*
797 %ifarch %{ix86} %{x8664} x32
798 %{_rpmlibdir}/platform/athlon*
799 %{_rpmlibdir}/platform/geode*
800 %{_rpmlibdir}/platform/i?86*
801 %{_rpmlibdir}/platform/pentium*
804 %{_rpmlibdir}/platform/amd64*
805 %{_rpmlibdir}/platform/ia32e*
806 %{_rpmlibdir}/platform/x86_64*
807 %{_rpmlibdir}/platform/x32*
810 %{_rpmlibdir}/platform/alpha*
813 %{_rpmlibdir}/platform/ia64*
815 %ifarch mips mipsel mips64 mips64el
816 %{_rpmlibdir}/platform/mips*
819 %{_rpmlibdir}/platform/ppc*
821 %ifarch sparc sparc64
822 %{_rpmlibdir}/platform/sparc*
825 %dir %{_rpmlibdir}/pld
827 %attr(755,root,root) %{_rpmlibdir}/hrmib-cache
829 %attr(755,root,root) %{_rpmlibdir}/dbupgrade.sh
830 %attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion
831 %attr(755,root,root) %{_rpmlibdir}/rpmdb_reset
832 %attr(755,root,root) %{_rpmlibdir}/rpmdb_dump
833 %attr(755,root,root) %{_rpmlibdir}/rpmdb_load
835 # valgrind suppression file for rpm
836 %{_rpmlibdir}/rpm.supp
839 %defattr(644,root,root,755)
840 %dir %{_sysconfdir}/rpm
841 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
843 %attr(755,root,root) %{_bindir}/banner.sh
844 %attr(755,root,root) %{_rpmlibdir}/user_group.sh
848 %defattr(644,root,root,755)
849 %attr(755,root,root) /%{_lib}/librpm.so.9
850 %attr(755,root,root) /%{_lib}/librpm.so.%{sover}
851 %attr(755,root,root) /%{_lib}/librpmbuild.so.9
852 %attr(755,root,root) /%{_lib}/librpmbuild.so.%{sover}
853 %attr(755,root,root) /%{_lib}/librpmio.so.9
854 %attr(755,root,root) /%{_lib}/librpmio.so.%{sover}
855 %attr(755,root,root) /%{_lib}/librpmsign.so.9
856 %attr(755,root,root) /%{_lib}/librpmsign.so.%{sover}
857 %{?with_plugins:%dir %{_libdir}/rpm-plugins}
860 %defattr(644,root,root,755)
861 %attr(755,root,root) %{_libdir}/librpm.so
862 %attr(755,root,root) %{_libdir}/librpmbuild.so
863 %attr(755,root,root) %{_libdir}/librpmio.so
864 %attr(755,root,root) %{_libdir}/librpmsign.so
865 %{_libdir}/librpm*.la
867 %{_pkgconfigdir}/*.pc
870 %defattr(644,root,root,755)
871 %attr(755,root,root) %{_bindir}/rpm2archive
872 %attr(755,root,root) %{_bindir}/rpm2cpio
873 %attr(755,root,root) %{_bindir}/rpmgraph
874 %attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
875 %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
876 %attr(755,root,root) %{_rpmlibdir}/tgpg
877 %attr(755,root,root) %{_rpmlibdir}/debugedit
878 %attr(755,root,root) %{_rpmlibdir}/rpmdeps
879 %{_mandir}/man8/rpm2archive.8*
880 %{_mandir}/man8/rpm2cpio.8*
881 %{_mandir}/man8/rpmdeps.8*
882 %{_mandir}/man8/rpmgraph.8*
883 %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
884 %lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
885 %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
886 %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
887 %lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
888 %lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
889 %lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
892 %defattr(644,root,root,755)
893 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
894 %attr(755,root,root) %{_rpmlibdir}/brp-*
895 %attr(755,root,root) %{_rpmlibdir}/check-files
896 %attr(755,root,root) %{_rpmlibdir}/install-build-tree
897 %attr(755,root,root) %{_rpmlibdir}/elfdeps
898 %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
899 # needs hacked pkg-config to return anything
900 %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
901 %attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
903 %attr(755,root,root) %{_rpmlibdir}/fontconfig.prov
904 # must be here for "Requires: rpm-*prov" to work
905 #%{_rpmlibdir}/macros.d/cmake
906 #%{_rpmlibdir}/macros.d/gstreamer
907 #%{_rpmlibdir}/macros.d/libtool
908 #%{_rpmlibdir}/macros.d/perl
909 #%{_rpmlibdir}/macros.d/pkgconfig
910 #%{_rpmlibdir}/macros.d/python
911 #%{_rpmlibdir}/macros.d/selinux
912 #%{_rpmlibdir}/macros.d/tcl
913 #%{_rpmlibdir}/macros.rpmbuild
915 %attr(755,root,root) %{_rpmlibdir}/check-buildroot
916 %attr(755,root,root) %{_rpmlibdir}/check-prereqs
917 %attr(755,root,root) %{_rpmlibdir}/check-rpaths
918 %attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
919 %attr(755,root,root) %{_rpmlibdir}/find-provides
920 %attr(755,root,root) %{_rpmlibdir}/find-requires
921 %attr(755,root,root) %{_rpmlibdir}/ocamldeps.sh
922 %attr(755,root,root) %{_rpmlibdir}/script.req
923 %attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
925 %dir %{_rpmlibdir}/fileattrs
926 %{_rpmlibdir}/fileattrs/debuginfo.attr
927 %{_rpmlibdir}/fileattrs/desktop.attr
928 %{_rpmlibdir}/fileattrs/elf.attr
929 %{_rpmlibdir}/fileattrs/font.attr
930 %{_rpmlibdir}/fileattrs/libtool.attr
931 %{_rpmlibdir}/fileattrs/metainfo.attr
932 %{_rpmlibdir}/fileattrs/ocaml.attr
933 %{_rpmlibdir}/fileattrs/perl.attr
934 %{_rpmlibdir}/fileattrs/perllib.attr
935 %{_rpmlibdir}/fileattrs/pkgconfig.attr
936 %{_rpmlibdir}/fileattrs/python.attr
937 %{_rpmlibdir}/fileattrs/pythondist.attr
938 %{_rpmlibdir}/fileattrs/script.attr
940 %attr(755,root,root) %{_bindir}/gendiff
941 %attr(755,root,root) %{_bindir}/rpmbuild
942 %attr(755,root,root) %{_bindir}/rpmspec
944 %{_mandir}/man1/gendiff.1*
945 %lang(pl) %{_mandir}/pl/man1/gendiff.1*
946 %{_mandir}/man8/rpmbuild.8*
947 %lang(ja) %{_mandir}/ja/man8/rpmbuild.8*
948 %lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
949 %{_mandir}/man8/rpmspec.8*
952 %defattr(644,root,root,755)
953 %attr(755,root,root) %{_rpmlibdir}/perl.*
956 %defattr(644,root,root,755)
957 %attr(755,root,root) %{_rpmlibdir}/pythondistdeps.py
960 %files -n python3-rpm
961 %defattr(644,root,root,755)
962 %dir %{py3_sitedir}/rpm
963 %attr(755,root,root) %{py3_sitedir}/rpm/*.so
964 %{py3_sitedir}/rpm/*.py
965 %{py3_sitedir}/rpm-%{version}-py*.egg-info
966 %{py3_sitedir}/rpm/__pycache__
971 %defattr(644,root,root,755)
972 %attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
973 %{_mandir}/man8/rpm-plugin-audit.8*
976 %defattr(644,root,root,755)
977 %attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
978 %{_mandir}/man8/rpm-plugin-syslog.8*
980 %files plugin-systemd-inhibit
981 %defattr(644,root,root,755)
982 %attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so
983 %{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
986 %defattr(644,root,root,755)
987 %attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
988 %{_mandir}/man8/rpm-plugin-ima.8*
990 %files plugin-prioreset
991 %defattr(644,root,root,755)
992 %attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
993 %{_mandir}/man8/rpm-plugin-prioreset.8*
995 %files plugin-selinux
996 %defattr(644,root,root,755)
997 %attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
998 %{_mandir}/man8/rpm-plugin-selinux.8*
1002 %defattr(644,root,root,755)
1003 %attr(755,root,root) %{_bindir}/rpmsign
1004 %{_mandir}/man8/rpmsign.8*
1008 %defattr(644,root,root,755)
1009 %doc doc/librpm/html/*