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_without recommends_tags # build without Recommends tag (bootstrapping)
10 %bcond_with imaevm # build with IMA/EVM support (requires libimaevm from ima-evm-utils)
11 %bcond_with cheating # do not add spurious deps to short-circuited builds
13 %define db_ver 5.3.28.0
17 %if "%{_rpmversion}" >= "4.12" && "%{_rpmversion}" < "5"
18 %define with_recommends_tags 1
21 Summary: RPM Package Manager
22 Summary(de.UTF-8): RPM Packet-Manager
23 Summary(es.UTF-8): Gestor de paquetes RPM
24 Summary(pl.UTF-8): Aplikacja do zarządzania pakietami RPM
25 Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM
26 Summary(ru.UTF-8): Менеджер пакетов от RPM
27 Summary(uk.UTF-8): Менеджер пакетів від RPM
32 License: GPL v2 / LGPL v2.1
34 Source0: http://ftp.rpm.org/releases/rpm-4.16.x/%{name}-%{version}.tar.bz2
35 # Source0-md5: 434e166a812e35ef181f6dd176326920
36 Source1: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
37 # Source1-md5: 23914bb49fafe7153cee87126d966461
40 Source4: %{name}.sysconfig
41 Source5: %{name}.groups
42 Source6: %{name}-groups-po.awk
43 Source7: %{name}-install-tree
44 Source8: %{name}-hrmib-cache
45 Source9: %{name}-user_group.sh
46 # http://svn.pld-linux.org/banner.sh/
48 Source11: %{name}.noautoprov
49 Source12: %{name}.noautoprovfiles
50 Source13: %{name}.noautoreq
51 Source14: %{name}.noautoreqfiles
53 Source16: %{name}db_checkversion.c
54 Source17: %{name}db_reset.c
55 Source18: dbupgrade.sh
56 Patch0: %{name}-man_pl.patch
57 Patch1: %{name}-popt-aliases.patch
58 Patch2: %{name}-perl-macros.patch
59 Patch3: %{name}-perl-req-perlfile.patch
60 Patch4: %{name}-scripts-closefds.patch
61 Patch6: %{name}-perl_req-INC_dirs.patch
62 Patch7: %{name}-debuginfo.patch
63 Patch8: %{name}-libtool-deps.patch
64 Patch9: %{name}-builddir-readlink.patch
65 Patch10: %{name}-changelog_order_check_nonfatal.patch
66 Patch11: %{name}-postun-nofail.patch
67 Patch12: %{name}-clean-docdir.patch
68 Patch13: %{name}-perl-magic.patch
69 Patch14: %{name}-ignore-missing-macro-files.patch
71 Patch16: rpm5-db-compat.patch
72 Patch17: python-internal-build.patch
73 Patch18: rpmversion.patch
74 Patch19: pkgconfig.patch
75 Patch20: uname-deps.patch
76 Patch21: aarch64.patch
77 Patch22: ix86-platforms.patch
78 Patch23: %{name}-enable_cheating.patch
80 BuildRequires: acl-devel
81 BuildRequires: db-devel >= %{db_ver}
82 BuildRequires: autoconf >= 2.63
83 BuildRequires: automake >= 1.4
84 BuildRequires: bzip2-devel >= 1.0.2-17
85 BuildRequires: elfutils-devel >= 0.108
86 BuildRequires: gettext-tools >= 0.19.2
87 BuildRequires: libarchive-devel
88 BuildRequires: libcap-devel
89 BuildRequires: libmagic-devel
90 BuildRequires: libgcrypt-devel
92 BuildRequires: audit-libs-devel
93 BuildRequires: dbus-devel
94 %{?with_imaevm:BuildRequires: libimaevm-devel >= 1.0}
95 BuildRequires: libselinux-devel >= 2.1.0
97 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
98 BuildRequires: libstdc++-devel
99 BuildRequires: libtool >= 1:1.4.2-9
100 BuildRequires: ossp-uuid-devel
101 BuildRequires: patch >= 2.2
102 BuildRequires: pkgconfig(lua) >= 5.1
103 BuildRequires: popt-devel >= %{popt_ver}
104 BuildRequires: python3-modules
106 BuildRequires: python3-devel
107 BuildRequires: rpm-pythonprov
108 BuildRequires: rpmbuild(macros) >= 1.750
110 BuildRequires: sqlite3-devel >= 3.22.0
112 BuildRequires: xz-devel
113 BuildRequires: zlib-devel
114 BuildRequires: zstd-devel
116 BuildRequires: doxygen
117 BuildRequires: ghostscript
118 BuildRequires: graphviz
119 BuildRequires: tetex-pdftex
121 Requires(posttrans): coreutils
122 Requires: %{name}-base = %{epoch}:%{version}-%{release}
123 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
124 Requires: rpm-pld-macros >= 1.744
125 Requires: FHS >= 3.0-2
127 Requires: popt >= %{popt_ver}
128 %if %{with recommends_tags}
129 Recommends: rpm-plugin-audit
130 Recommends: rpm-plugin-prioreset
131 Recommends: rpm-plugin-syslog
132 Recommends: rpm-plugin-systemd-inhibit
134 Obsoletes: rpm-utils-perl
135 Obsoletes: rpm-utils-static
136 Conflicts: glibc < 2.2.92
137 # db4.6 poldek needed
138 Conflicts: poldek < 0.21-0.20070703.00.3
139 # segfaults with lzma 0.42.2
140 Conflicts: lzma-libs < 4.999.3
141 Conflicts: util-vserver < 0.30.216-1.pre3034.7
142 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
144 %define _binary_payload w9.gzdio
146 # don't require very fresh rpm.macros to build
147 %define find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT
148 %define ix86 i386 i486 i586 i686 athlon geode pentium3 pentium4
149 %define ppc ppc ppc7400 ppc7450
150 %define x8664 amd64 ia32e x86_64
152 %define _rpmlibdir /usr/lib/rpm
155 RPM is a powerful package manager, which can be used to build,
156 install, query, verify, update, and uninstall individual software
157 packages. A package consists of an archive of files, and package
158 information, including name, version, and description.
160 %description -l de.UTF-8
161 RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur
162 Installation, Anfrage, Verifizierung, Aktualisierung und
163 Uninstallation individueller Softwarepakete. Ein Paket besteht aus
164 einem Archiv Dateien und Paketinformation, inklusive Name, Version und
167 %description -l es.UTF-8
168 RPM es un poderoso administrador de paquetes, que puede ser usado para
169 construir, instalar, pesquisar, verificar, actualizar y desinstalar
170 paquetes individuales de software. Un paquete consiste en un
171 almacenaje de archivos, y información sobre el paquete, incluyendo
172 nombre, versión y descripción.
174 %description -l pl.UTF-8
175 RPM jest doskonałym programem zarządzającym pakietami. Umożliwia on
176 przebudowanie, instalację czy weryfikację dowolnego pakietu.
177 Informacje dotyczące każdego pakietu, takie jak jego opis, lista
178 plików wchodzących w skład pakietu, zależności od innych pakietów, są
179 przechowywane w bazie danych i można je uzyskać za pomocą opcji
180 odpytywania programu rpm.
182 %description -l pt_BR.UTF-8
183 RPM é um poderoso gerenciador de pacotes, que pode ser usado para
184 construir, instalar, pesquisar, verificar, atualizar e desinstalar
185 pacotes individuais de software. Um pacote consiste de um conjunto de
186 arquivos e informações adicionais, incluindo nome, versão e descrição
187 do pacote, permissões dos arquivos, etc.
189 %description -l ru.UTF-8
190 RPM - это мощный менеджер пакетов, который может быть использован для
191 создания, инсталляции, запросов (query), проверки, обновления и
192 удаления программных пакетов. Пакет состоит из файлового архива и
193 служебной информации, включающей название, версию, описание и другие
196 %description -l uk.UTF-8
197 RPM - це потужний менеджер пакетів, що може бути використаний для
198 створення, інсталяції, запитів (query), перевірки, поновлення та
199 видалення програмних пакетів. Пакет складається з файлового архіву та
200 службової інформації, що містить назву, версію, опис та іншу
201 інформацію про пакет.
204 Summary: RPM base package - scripts used by rpm packages themselves
205 Summary(pl.UTF-8): Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
208 Obsoletes: rpm-scripts
209 Obsoletes: vserver-rpm
212 The RPM base package contains scripts used by rpm packages themselves.
214 - scripts for adding/removing groups and users needed for rpm
216 - banner.sh to display %%banner messages from rpm scriptlets.
218 %description base -l pl.UTF-8
219 Pakiet podstawowy RPM zwiera skrypty używane przez same pakiety rpm.
221 - skrypty dodające/usuwające grupy i użytkowników dla pakietów rpm,
222 - banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
225 Summary: RPMs library
226 Summary(pl.UTF-8): Biblioteki RPM-a
228 Requires: db >= %{db_ver}
229 Requires: libmagic >= 1.15-2
230 Requires: popt >= %{popt_ver}
232 # avoid SEGV caused by mixed db versions
233 Conflicts: poldek < 0.18.1-16
238 %description lib -l pl.UTF-8
242 Summary: Header files for rpm libraries
243 Summary(de.UTF-8): Header-Dateien für rpm Libraries
244 Summary(es.UTF-8): Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
245 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek rpm
246 Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
247 Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами
248 Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm
249 Group: Development/Libraries
250 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
251 Requires: bzip2-devel
252 Requires: db-devel >= %{db_ver}
253 Requires: elfutils-devel
254 Requires: libmagic-devel
255 Requires: libgcrypt-devel
257 Requires: libselinux-devel
258 Requires: libsemanage-devel
259 Requires: libsepol-devel
261 Requires: popt-devel >= %{popt_ver}
265 The RPM packaging system includes C libraries that make it easy to
266 manipulate RPM packages and databases. They are intended to ease the
267 creation of graphical package managers and other tools that need
268 intimate knowledge of RPM packages. This package contains header files
271 %description devel -l de.UTF-8
272 Der RPM-Packensystem enthält eine C-Library, die macht es einfach
273 RPM-Pakete und Dateibanken zu manipulieren. Er eignet sich für
274 Vereinfachung des Schaffens grafischer Paket-Manager und anderer
275 Werkzeuge, die intime Kenntnis von RPM-Paketen brauchen.
277 %description devel -l es.UTF-8
278 El sistema de empaquetado RPM incluye una biblioteca C que vuelve
279 fácil la manipulación de paquetes y bases de datos RPM. Su objetivo es
280 facilitar la creación de administradores gráficos de paquetes y otras
281 herramientas que necesiten un conocimiento profundo de paquetes RPM.
283 %description devel -l pl.UTF-8
284 System RPM zawiera biblioteki C, które ułatwiają manipulowanie
285 pakietami RPM oraz bazami danych. W zamiarze ma to uprościć tworzenie
286 graficznych programów zarządzających pakietami oraz innych narzędzi,
287 które wymagają szczegółowej wiedzy na temat pakietów RPM. Ten pakiet
288 zawiera pliki nagłówkowe wspomnianych bibliotek.
290 %description devel -l pt_BR.UTF-8
291 O sistema de empacotamento RPM inclui uma biblioteca C que torna fácil
292 a manipulação de pacotes e bases de dados RPM. Seu objetivo é
293 facilitar a criação de gerenciadores gráficos de pacotes e outras
294 ferramentas que precisem de conhecimento profundo de pacotes RPM.
296 %description devel -l ru.UTF-8
297 Система управления пакетами RPM содержит библиотеку C, которая
298 упрощает манипуляцию пакетами RPM и соответствующими базами данных.
299 Эта библиотека предназначена для облегчения создания графических
300 пакетных менеджеров и других утилит, которым необходимо работать с
303 %description devel -l uk.UTF-8
304 Система керування пакетами RPM містить бібліотеку C, котра спрощує
305 роботу з пакетами RPM та відповідними базами даних. Ця бібліотека
306 призначена для полегшення створення графічних пакетних менеджерів та
307 інших утиліт, що працюють з пакетами RPM.
310 Summary: Additional utilities for managing RPM packages and database
311 Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
312 Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
313 Group: Applications/File
314 Requires: %{name} = %{epoch}:%{version}-%{release}
315 Requires: popt >= %{popt_ver}
316 %if %{with recommends_tags}
320 Conflicts: filesystem-debuginfo < 3.0-16
323 Additional utilities for managing RPM packages and database.
325 %description utils -l de.UTF-8
326 Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
328 %description utils -l pl.UTF-8
329 Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
332 Summary: Scripts for building binary RPM packages
333 Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
334 Summary(pl.UTF-8): Skrypty pomocnicze do budowania binarnych RPM-ów
335 Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes
336 Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
337 Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
338 Group: Applications/File
339 Requires(pretrans): coreutils
340 Requires(pretrans): findutils
341 Requires: %{name}-utils = %{epoch}:%{version}-%{release}
342 Requires: rpm-pld-macros-build >= 1.744
346 Requires: chrpath >= 0.10-4
350 Requires: file >= 4.17
354 Requires: gcc >= 3.0.3
358 Requires: glibc-devel
365 Requires: tar >= 1:1.22
369 Provides: rpmbuild(noauto) = 3
371 Conflicts: automake < 1:1.7.9-2
372 Conflicts: libtool < 2:1.5-13
376 Scripts for building binary RPM packages.
378 %description build -l de.UTF-8
379 Scripts fürs Bauen binärer RPM-Pakete.
381 %description build -l pl.UTF-8
382 Skrypty pomocnicze do budowania binarnych RPM-ów.
384 %description build -l pt_BR.UTF-8
385 Este pacote contém scripts e programas executáveis que são usados para
386 construir pacotes usando o RPM.
388 %description build -l ru.UTF-8
389 Различные вспомогательные скрипты и исполняемые программы, которые
390 используются для сборки RPM'ов.
392 %description build -l uk.UTF-8
393 Різноманітні допоміжні скрипти та утиліти, які використовуються для
397 Summary: Additional utilities for checking Perl provides/requires in RPM packages
398 Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
399 Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
400 Group: Applications/File
401 Requires: %{name} = %{epoch}:%{version}-%{release}
402 Requires: perl-Encode
404 Requires: perl-modules
406 %description perlprov
407 Additional utilities for checking Perl provides/requires in RPM
410 %description perlprov -l de.UTF-8
411 Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen.
413 %description perlprov -l pl.UTF-8
414 Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
418 Summary: Python macros, which simplifies creation of RPM packages with Python software
419 Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
420 Group: Applications/File
421 Requires: %{name} = %{epoch}:%{version}-%{release}
423 Requires: python3-modules
424 Requires: python3-setuptools
426 %description pythonprov
427 Python macros, which simplifies creation of RPM packages with Python
430 %description pythonprov -l pl.UTF-8
431 Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
434 %package -n python3-rpm
435 Summary: Python 3 interface to RPM library
436 Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki RPM-a
437 Summary(pt_BR.UTF-8): Módulo Python 3 para aplicativos que manipulam pacotes RPM
438 Group: Development/Languages/Python
439 Requires: %{name} = %{epoch}:%{version}-%{release}
441 Obsoletes: python-rpm < 1:4.16.0
442 Obsoletes: rpm-python
444 %description -n python3-rpm
445 The python3-rpm package contains a module which permits applications
446 written in the Python 3 programming language to use the interface
447 supplied by RPM (RPM Package Manager) libraries.
449 This package should be installed if you want to develop Python 3
450 programs that will manipulate RPM packages and databases.
452 %description -n python3-rpm -l pl.UTF-8
453 Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w
454 Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki
457 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
458 Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
460 %description -n python3-rpm -l pt_BR.UTF-8
461 O pacote python3-rpm contém um módulo que permite que aplicações
462 escritas em Python 3 utilizem a interface fornecida pelas bibliotecas
463 RPM (RPM Package Manager).
465 Esse pacote deve ser instalado se você quiser desenvolver programas em
466 Python 3 para manipular pacotes e bancos de dados RPM.
468 %package plugin-audit
469 Summary: Plugin for logging audit events on package operations
471 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
473 %description plugin-audit
474 Plugin for libaudit support
476 %package plugin-syslog
477 Summary: Plugin for syslog functionality
479 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
481 %description plugin-syslog
482 This plugin exports RPM actions to the system log.
484 %package plugin-systemd-inhibit
485 Summary: Plugin for systemd inhibit functionality
487 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
489 %description plugin-systemd-inhibit
490 This plugin blocks systemd from entering idle, sleep or shutdown while
491 an rpm transaction is running using the systemd-inhibit mechanism.
494 Summary: Plugin for IMA file signatures
496 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
498 %description plugin-ima
499 This plugin adds support for enforcing and verifying IMA file
500 signatures in an rpm.
502 %package plugin-prioreset
503 Summary: Plugin for resetting scriptlet priorities for SysV init
505 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
507 %description plugin-prioreset
508 This plugin is useful on legacy SysV init systems if you run rpm
509 transactions with nice/ionice priorities. Should not be used on
512 %package plugin-selinux
513 Summary: Plugin for SELinux functionality
515 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
516 Requires: libselinux >= 2.1.0
518 %description plugin-selinux
519 Plugin for SELinux functionality.
522 Summary: Package signing support
524 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
527 This package contains support for digitally signing RPM packages.
530 Summary: RPM API documentation and guides
531 Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki
536 Documentation for RPM API and guides in HTML format generated from rpm
539 %description apidocs -l pl.UTF-8
540 Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
541 źrodeł RPM-a przez doxygen.
544 %setup -q -n %{name}-%{version}%{?subver}
571 install %{SOURCE15} scripts/perl.prov.in
573 %{__mv} -f scripts/perl.req{,.in}
575 # generate Group translations to *.po
576 awk -f %{SOURCE6} %{SOURCE5}
578 install %{SOURCE16} tools/rpmdb_checkversion.c
579 install %{SOURCE17} tools/rpmdb_reset.c
581 %{__sed} -i -e '1s,/usr/bin/python,%{__python3},' scripts/pythondistdeps.py
590 # rpm checks for CPU type at runtime, but it looks better
592 -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
593 -e 's|@host_cpu@|%{_target_cpu}|' \
594 -e 's|@host_os@|%{_target_os}|' \
598 WITH_PERL_VERSION=no \
599 __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
600 __GPG=%{_bindir}/gpg \
605 --disable-silent-rules \
612 %{?with_imaevm:--with-imaevm} \
617 --with-selinux=%{!?with_plugins:no}%{?with_plugins:yes} \
618 %{!?with_plugins:--disable-plugins} \
623 %{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb
624 %{__cc} %{rpmcflags} tools/rpmdb_reset.c -o tools/rpmdb_reset -ldb
626 if tools/rpmdb_checkversion -V 2>&1 | grep "t match library version"; then
627 echo "Error linking rpmdb tools!"
630 if tools/rpmdb_reset -V 2>&1 | grep "t match library version"; then
631 echo "Error linking rpmdb tools!"
641 rm -rf $RPM_BUILD_ROOT
642 install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
643 $RPM_BUILD_ROOT{/var/lib/{banner,rpm},/var/cache/hrmib}
645 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
648 pkgconfigdir=%{_pkgconfigdir} \
649 DESTDIR=$RPM_BUILD_ROOT
652 %ifnarch %{ix86} %{x8664} x32
653 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/athlon-linux/macros
654 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/geode-linux/macros
655 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i386-linux/macros
656 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i486-linux/macros
657 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i586-linux/macros
658 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i686-linux/macros
659 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium3-linux/macros
660 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium4-linux/macros
663 %ifnarch %{x8664} x32
664 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/amd64-linux/macros
665 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia32e-linux/macros
666 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x32-linux/macros
667 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x86_64-linux/macros
671 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/m68k-linux/macros
672 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc32dy4-linux/macros
673 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc64*-linux/macros
674 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8260-linux/macros
675 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8560-linux/macros
676 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros
677 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros
681 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
684 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros
685 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
686 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros
687 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros
688 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros
689 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros
690 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros
691 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros
693 cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
695 %{_target_cpu}-%{_target_vendor}-linux-gnux32
697 %{_target_cpu}-%{_target_vendor}-linux
701 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
703 install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld
705 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
706 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
707 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
708 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rpm
710 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh
712 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
713 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
714 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
715 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
716 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
717 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
719 cp -p tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/
720 cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/
721 cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh
724 %{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
725 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
726 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmverify
728 # move essential libs to /lib (libs that /bin/rpm links to)
729 for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
730 mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib}
731 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
734 #./rpmdb --macros=macros --rcfile=rpmrc --dbpath=/home/users/baggins/devel/PLD/rpm/BUILD/rpm-4.15.1/x/ --initdb
736 # Make sure we have bdb set a default backend
737 grep -qE "db_backend[[:blank:]]+bdb" $RPM_BUILD_ROOT%{_rpmlibdir}/macros
740 # Remove anything that rpm make install might put there
741 %{__rm} -rf $RPM_BUILD_ROOT%{py3_sitedir}
747 %{__rm} $RPM_BUILD_ROOT%{_libdir}/rpm-plugins/*.la
749 # wrong location, not used anyway
750 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log}
755 rm -rf $RPM_BUILD_ROOT
758 if [ -e /var/lib/rpm/Packages ] && \
759 ! %{_rpmlibdir}/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then
760 if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
761 /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
763 echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
767 echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
768 echo 'you should ignore it and restart poldek'
770 %{_rpmlibdir}/dbupgrade.sh
773 %triggerpostun -- %{name} < 4.4.9-44
774 %{_rpmlibdir}/hrmib-cache
776 %post lib -p /sbin/ldconfig
777 %postun lib -p /sbin/ldconfig
780 find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
782 %files -f %{name}.lang
783 %defattr(644,root,root,755)
784 %doc ChangeLog CREDITS README
786 %dir /etc/pki/rpm-gpg
787 /etc/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
789 %attr(755,root,root) /bin/rpm
790 %attr(755,root,root) %{_bindir}/rpmdb
791 %attr(755,root,root) %{_bindir}/rpmkeys
792 %attr(755,root,root) %{_bindir}/rpmquery
793 %attr(755,root,root) %{_bindir}/rpmverify
795 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
796 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
797 # this is ok to be replaced
798 %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform
800 %{_mandir}/man8/rpm.8*
801 %{_mandir}/man8/rpmdb.8*
802 %{_mandir}/man8/rpmkeys.8*
803 %{_mandir}/man8/rpm-misc.8*
804 %{?with_plugins:%{_mandir}/man8/rpm-plugins.8*}
805 %lang(fr) %{_mandir}/fr/man8/rpm.8*
806 %lang(ja) %{_mandir}/ja/man8/rpm.8*
807 %lang(ko) %{_mandir}/ko/man8/rpm.8*
808 %lang(pl) %{_mandir}/pl/man8/rpm.8*
809 %lang(ru) %{_mandir}/ru/man8/rpm.8*
810 %lang(sk) %{_mandir}/sk/man8/rpm.8*
814 # exported package NVRA (stamped with install tid)
815 # net-snmp hrSWInstalledName queries, bash-completions
816 %dir /var/cache/hrmib
818 %{_rpmlibdir}/rpmpopt*
821 %dir %{_rpmlibdir}/macros.d
822 %dir %{_rpmlibdir}/platform
823 %{_rpmlibdir}/platform/noarch-*
824 %ifarch %{ix86} %{x8664} x32
825 %{_rpmlibdir}/platform/athlon*
826 %{_rpmlibdir}/platform/geode*
827 %{_rpmlibdir}/platform/i?86*
828 %{_rpmlibdir}/platform/pentium*
831 %{_rpmlibdir}/platform/amd64*
832 %{_rpmlibdir}/platform/ia32e*
833 %{_rpmlibdir}/platform/x86_64*
834 %{_rpmlibdir}/platform/x32*
837 %{_rpmlibdir}/platform/alpha*
840 %{_rpmlibdir}/platform/aarch64*
843 %{_rpmlibdir}/platform/ia64*
845 %ifarch mips mipsel mips64 mips64el
846 %{_rpmlibdir}/platform/mips*
849 %{_rpmlibdir}/platform/ppc*
851 %ifarch sparc sparc64
852 %{_rpmlibdir}/platform/sparc*
855 %dir %{_rpmlibdir}/pld
857 %attr(755,root,root) %{_rpmlibdir}/hrmib-cache
859 %attr(755,root,root) %{_rpmlibdir}/dbupgrade.sh
860 %attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion
861 %attr(755,root,root) %{_rpmlibdir}/rpmdb_reset
862 %attr(755,root,root) %{_rpmlibdir}/rpmdb_dump
863 %attr(755,root,root) %{_rpmlibdir}/rpmdb_load
865 # valgrind suppression file for rpm
866 %{_rpmlibdir}/rpm.supp
869 %defattr(644,root,root,755)
870 %dir %{_sysconfdir}/rpm
871 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
873 %attr(755,root,root) %{_bindir}/banner.sh
874 %attr(755,root,root) %{_rpmlibdir}/user_group.sh
878 %defattr(644,root,root,755)
879 %attr(755,root,root) /%{_lib}/librpm.so.9
880 %attr(755,root,root) /%{_lib}/librpm.so.%{sover}
881 %attr(755,root,root) /%{_lib}/librpmbuild.so.9
882 %attr(755,root,root) /%{_lib}/librpmbuild.so.%{sover}
883 %attr(755,root,root) /%{_lib}/librpmio.so.9
884 %attr(755,root,root) /%{_lib}/librpmio.so.%{sover}
885 %attr(755,root,root) /%{_lib}/librpmsign.so.9
886 %attr(755,root,root) /%{_lib}/librpmsign.so.%{sover}
887 %{?with_plugins:%dir %{_libdir}/rpm-plugins}
890 %defattr(644,root,root,755)
891 %attr(755,root,root) %{_libdir}/librpm.so
892 %attr(755,root,root) %{_libdir}/librpmbuild.so
893 %attr(755,root,root) %{_libdir}/librpmio.so
894 %attr(755,root,root) %{_libdir}/librpmsign.so
895 %{_libdir}/librpm*.la
897 %{_pkgconfigdir}/*.pc
900 %defattr(644,root,root,755)
901 %attr(755,root,root) %{_bindir}/rpm2archive
902 %attr(755,root,root) %{_bindir}/rpm2cpio
903 %attr(755,root,root) %{_bindir}/rpmgraph
904 %attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
905 %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
906 %attr(755,root,root) %{_rpmlibdir}/tgpg
907 %attr(755,root,root) %{_rpmlibdir}/debugedit
908 %attr(755,root,root) %{_rpmlibdir}/rpmdeps
909 %{_mandir}/man8/rpm2archive.8*
910 %{_mandir}/man8/rpm2cpio.8*
911 %{_mandir}/man8/rpmdeps.8*
912 %{_mandir}/man8/rpmgraph.8*
913 %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
914 %lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
915 %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
916 %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
917 %lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
918 %lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
919 %lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
922 %defattr(644,root,root,755)
923 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
924 %attr(755,root,root) %{_rpmlibdir}/brp-*
925 %attr(755,root,root) %{_rpmlibdir}/check-files
926 %attr(755,root,root) %{_rpmlibdir}/install-build-tree
927 %attr(755,root,root) %{_rpmlibdir}/elfdeps
928 %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
929 # needs hacked pkg-config to return anything
930 %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
931 %attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
933 %attr(755,root,root) %{_rpmlibdir}/fontconfig.prov
934 # must be here for "Requires: rpm-*prov" to work
935 #%{_rpmlibdir}/macros.d/cmake
936 #%{_rpmlibdir}/macros.d/gstreamer
937 #%{_rpmlibdir}/macros.d/libtool
938 #%{_rpmlibdir}/macros.d/perl
939 #%{_rpmlibdir}/macros.d/pkgconfig
940 #%{_rpmlibdir}/macros.d/python
941 #%{_rpmlibdir}/macros.d/selinux
942 #%{_rpmlibdir}/macros.d/tcl
943 #%{_rpmlibdir}/macros.rpmbuild
945 %attr(755,root,root) %{_rpmlibdir}/check-buildroot
946 %attr(755,root,root) %{_rpmlibdir}/check-prereqs
947 %attr(755,root,root) %{_rpmlibdir}/check-rpaths
948 %attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
949 %attr(755,root,root) %{_rpmlibdir}/find-provides
950 %attr(755,root,root) %{_rpmlibdir}/find-requires
951 %attr(755,root,root) %{_rpmlibdir}/ocamldeps.sh
952 %attr(755,root,root) %{_rpmlibdir}/script.req
953 %attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
955 %dir %{_rpmlibdir}/fileattrs
956 %{_rpmlibdir}/fileattrs/debuginfo.attr
957 %{_rpmlibdir}/fileattrs/desktop.attr
958 %{_rpmlibdir}/fileattrs/elf.attr
959 %{_rpmlibdir}/fileattrs/font.attr
960 %{_rpmlibdir}/fileattrs/libtool.attr
961 %{_rpmlibdir}/fileattrs/metainfo.attr
962 %{_rpmlibdir}/fileattrs/ocaml.attr
963 %{_rpmlibdir}/fileattrs/perl.attr
964 %{_rpmlibdir}/fileattrs/perllib.attr
965 %{_rpmlibdir}/fileattrs/pkgconfig.attr
966 %{_rpmlibdir}/fileattrs/python.attr
967 %{_rpmlibdir}/fileattrs/pythondist.attr
968 %{_rpmlibdir}/fileattrs/script.attr
970 %attr(755,root,root) %{_bindir}/gendiff
971 %attr(755,root,root) %{_bindir}/rpmbuild
972 %attr(755,root,root) %{_bindir}/rpmspec
974 %{_mandir}/man1/gendiff.1*
975 %lang(pl) %{_mandir}/pl/man1/gendiff.1*
976 %{_mandir}/man8/rpmbuild.8*
977 %lang(ja) %{_mandir}/ja/man8/rpmbuild.8*
978 %lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
979 %{_mandir}/man8/rpmspec.8*
982 %defattr(644,root,root,755)
983 %attr(755,root,root) %{_rpmlibdir}/perl.*
986 %defattr(644,root,root,755)
987 %attr(755,root,root) %{_rpmlibdir}/pythondistdeps.py
990 %files -n python3-rpm
991 %defattr(644,root,root,755)
992 %dir %{py3_sitedir}/rpm
993 %attr(755,root,root) %{py3_sitedir}/rpm/*.so
994 %{py3_sitedir}/rpm/*.py
995 %{py3_sitedir}/rpm-%{version}-py*.egg-info
996 %{py3_sitedir}/rpm/__pycache__
1001 %defattr(644,root,root,755)
1002 %attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
1003 %{_mandir}/man8/rpm-plugin-audit.8*
1005 %files plugin-syslog
1006 %defattr(644,root,root,755)
1007 %attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
1008 %{_mandir}/man8/rpm-plugin-syslog.8*
1010 %files plugin-systemd-inhibit
1011 %defattr(644,root,root,755)
1012 %attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so
1013 %{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
1016 %defattr(644,root,root,755)
1017 %attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
1018 %{_mandir}/man8/rpm-plugin-ima.8*
1020 %files plugin-prioreset
1021 %defattr(644,root,root,755)
1022 %attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
1023 %{_mandir}/man8/rpm-plugin-prioreset.8*
1025 %files plugin-selinux
1026 %defattr(644,root,root,755)
1027 %attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
1028 %{_mandir}/man8/rpm-plugin-selinux.8*
1032 %defattr(644,root,root,755)
1033 %attr(755,root,root) %{_bindir}/rpmsign
1034 %{_mandir}/man8/rpmsign.8*
1038 %defattr(644,root,root,755)
1039 %doc doc/librpm/html/*