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)
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: 0d10f63a0a4c9517cf3808a601378399
35 Source1: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
36 # Source1-md5: 23914bb49fafe7153cee87126d966461
39 Source4: %{name}.sysconfig
40 Source5: %{name}.groups
41 Source6: %{name}-groups-po.awk
42 Source7: %{name}-install-tree
43 Source9: %{name}-user_group.sh
44 # http://svn.pld-linux.org/banner.sh/
46 Source11: %{name}.noautoprov
47 Source12: %{name}.noautoprovfiles
48 Source13: %{name}.noautoreq
49 Source14: %{name}.noautoreqfiles
51 Source16: %{name}db_checkversion.c
52 Source17: %{name}db_reset.c
53 Source18: dbupgrade.sh
54 Patch0: %{name}-man_pl.patch
55 Patch1: %{name}-popt-aliases.patch
56 Patch2: %{name}-perl-macros.patch
57 Patch3: %{name}-perl-req-perlfile.patch
58 Patch4: %{name}-scripts-closefds.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
71 Patch18: missing-macros.patch
72 Patch19: pkgconfig.patch
73 Patch20: uname-deps.patch
74 Patch21: aarch64.patch
75 Patch22: ix86-platforms.patch
76 Patch23: shortcircuited-deps.patch
77 Patch24: cpuinfo-deps.patch
78 Patch25: rpmio-read-proc-files.patch
79 Patch26: allow-at-in-ver-rel.patch
80 Patch27: no-exeonly-for-elf-reqprov.patch
81 Patch28: default-patch-flags.patch
82 Patch29: %{name}-noarch_py_prov.patch
83 Patch30: missing-ghost-terminate-build.patch
84 Patch31: missing-doc-terminate-build.patch
85 Patch32: noexpand.patch
87 BuildRequires: acl-devel
88 BuildRequires: db-devel >= %{db_ver}
89 BuildRequires: autoconf >= 2.63
90 BuildRequires: automake >= 1.4
91 BuildRequires: bzip2-devel >= 1.0.2-17
92 BuildRequires: elfutils-devel >= 0.108
93 BuildRequires: gettext-tools >= 0.19.2
94 BuildRequires: libarchive-devel
95 BuildRequires: libcap-devel
96 BuildRequires: libmagic-devel
97 BuildRequires: libgcrypt-devel
99 BuildRequires: audit-libs-devel
100 BuildRequires: dbus-devel
101 %{?with_imaevm:BuildRequires: libimaevm-devel >= 1.0}
102 BuildRequires: libselinux-devel >= 2.1.0
104 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
105 BuildRequires: libstdc++-devel
106 BuildRequires: libtool >= 1:1.4.2-9
107 BuildRequires: patch >= 2.2
108 BuildRequires: pkgconfig(lua) >= 5.1
109 BuildRequires: popt-devel >= %{popt_ver}
110 BuildRequires: python3-modules
112 BuildRequires: python3-devel
113 BuildRequires: rpm-pythonprov
114 BuildRequires: rpmbuild(macros) >= 1.750
116 BuildRequires: sqlite3-devel >= 3.22.0
118 BuildRequires: xz-devel
119 BuildRequires: zlib-devel
120 BuildRequires: zstd-devel
122 BuildRequires: doxygen
123 BuildRequires: ghostscript
124 BuildRequires: graphviz
125 BuildRequires: tetex-pdftex
127 Requires(posttrans): coreutils
128 Requires: %{name}-base = %{epoch}:%{version}-%{release}
129 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
130 Requires: rpm-pld-macros >= 1.744
131 Requires: FHS >= 3.0-2
133 Requires: popt >= %{popt_ver}
134 %if %{with recommends_tags}
135 Recommends: rpm-plugin-audit
136 Recommends: rpm-plugin-prioreset
137 Recommends: rpm-plugin-syslog
138 Recommends: rpm-plugin-systemd-inhibit
140 Obsoletes: rpm-utils-perl
141 Obsoletes: rpm-utils-static
142 Conflicts: glibc < 2.2.92
143 # db4.6 poldek needed
144 Conflicts: poldek < 0.21-0.20070703.00.3
145 # segfaults with lzma 0.42.2
146 Conflicts: lzma-libs < 4.999.3
147 Conflicts: util-vserver < 0.30.216-1.pre3034.7
148 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
150 %define _binary_payload w9.gzdio
152 # don't require very fresh rpm.macros to build
153 %define find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT
154 %define ix86 i386 i486 i586 i686 athlon geode pentium3 pentium4
155 %define ppc ppc ppc7400 ppc7450
156 %define x8664 amd64 ia32e x86_64
158 %define _rpmlibdir /usr/lib/rpm
161 RPM is a powerful package manager, which can be used to build,
162 install, query, verify, update, and uninstall individual software
163 packages. A package consists of an archive of files, and package
164 information, including name, version, and description.
166 %description -l de.UTF-8
167 RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur
168 Installation, Anfrage, Verifizierung, Aktualisierung und
169 Uninstallation individueller Softwarepakete. Ein Paket besteht aus
170 einem Archiv Dateien und Paketinformation, inklusive Name, Version und
173 %description -l es.UTF-8
174 RPM es un poderoso administrador de paquetes, que puede ser usado para
175 construir, instalar, pesquisar, verificar, actualizar y desinstalar
176 paquetes individuales de software. Un paquete consiste en un
177 almacenaje de archivos, y información sobre el paquete, incluyendo
178 nombre, versión y descripción.
180 %description -l pl.UTF-8
181 RPM jest doskonałym programem zarządzającym pakietami. Umożliwia on
182 przebudowanie, instalację czy weryfikację dowolnego pakietu.
183 Informacje dotyczące każdego pakietu, takie jak jego opis, lista
184 plików wchodzących w skład pakietu, zależności od innych pakietów, są
185 przechowywane w bazie danych i można je uzyskać za pomocą opcji
186 odpytywania programu rpm.
188 %description -l pt_BR.UTF-8
189 RPM é um poderoso gerenciador de pacotes, que pode ser usado para
190 construir, instalar, pesquisar, verificar, atualizar e desinstalar
191 pacotes individuais de software. Um pacote consiste de um conjunto de
192 arquivos e informações adicionais, incluindo nome, versão e descrição
193 do pacote, permissões dos arquivos, etc.
195 %description -l ru.UTF-8
196 RPM - это мощный менеджер пакетов, который может быть использован для
197 создания, инсталляции, запросов (query), проверки, обновления и
198 удаления программных пакетов. Пакет состоит из файлового архива и
199 служебной информации, включающей название, версию, описание и другие
202 %description -l uk.UTF-8
203 RPM - це потужний менеджер пакетів, що може бути використаний для
204 створення, інсталяції, запитів (query), перевірки, поновлення та
205 видалення програмних пакетів. Пакет складається з файлового архіву та
206 службової інформації, що містить назву, версію, опис та іншу
207 інформацію про пакет.
210 Summary: RPM base package - scripts used by rpm packages themselves
211 Summary(pl.UTF-8): Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
214 Obsoletes: rpm-scripts
215 Obsoletes: vserver-rpm
218 The RPM base package contains scripts used by rpm packages themselves.
220 - scripts for adding/removing groups and users needed for rpm
222 - banner.sh to display %%banner messages from rpm scriptlets.
224 %description base -l pl.UTF-8
225 Pakiet podstawowy RPM zwiera skrypty używane przez same pakiety rpm.
227 - skrypty dodające/usuwające grupy i użytkowników dla pakietów rpm,
228 - banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
231 Summary: RPMs library
232 Summary(pl.UTF-8): Biblioteki RPM-a
234 Requires: db >= %{db_ver}
235 Requires: libmagic >= 1.15-2
236 Requires: popt >= %{popt_ver}
238 # avoid SEGV caused by mixed db versions
239 Conflicts: poldek < 0.18.1-16
244 %description lib -l pl.UTF-8
248 Summary: Header files for rpm libraries
249 Summary(de.UTF-8): Header-Dateien für rpm Libraries
250 Summary(es.UTF-8): Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
251 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek rpm
252 Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
253 Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами
254 Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm
255 Group: Development/Libraries
256 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
257 Requires: bzip2-devel
258 Requires: db-devel >= %{db_ver}
259 Requires: elfutils-devel
260 Requires: libmagic-devel
261 Requires: libgcrypt-devel
263 Requires: libselinux-devel
264 Requires: libsemanage-devel
265 Requires: libsepol-devel
267 Requires: popt-devel >= %{popt_ver}
271 The RPM packaging system includes C libraries that make it easy to
272 manipulate RPM packages and databases. They are intended to ease the
273 creation of graphical package managers and other tools that need
274 intimate knowledge of RPM packages. This package contains header files
277 %description devel -l de.UTF-8
278 Der RPM-Packensystem enthält eine C-Library, die macht es einfach
279 RPM-Pakete und Dateibanken zu manipulieren. Er eignet sich für
280 Vereinfachung des Schaffens grafischer Paket-Manager und anderer
281 Werkzeuge, die intime Kenntnis von RPM-Paketen brauchen.
283 %description devel -l es.UTF-8
284 El sistema de empaquetado RPM incluye una biblioteca C que vuelve
285 fácil la manipulación de paquetes y bases de datos RPM. Su objetivo es
286 facilitar la creación de administradores gráficos de paquetes y otras
287 herramientas que necesiten un conocimiento profundo de paquetes RPM.
289 %description devel -l pl.UTF-8
290 System RPM zawiera biblioteki C, które ułatwiają manipulowanie
291 pakietami RPM oraz bazami danych. W zamiarze ma to uprościć tworzenie
292 graficznych programów zarządzających pakietami oraz innych narzędzi,
293 które wymagają szczegółowej wiedzy na temat pakietów RPM. Ten pakiet
294 zawiera pliki nagłówkowe wspomnianych bibliotek.
296 %description devel -l pt_BR.UTF-8
297 O sistema de empacotamento RPM inclui uma biblioteca C que torna fácil
298 a manipulação de pacotes e bases de dados RPM. Seu objetivo é
299 facilitar a criação de gerenciadores gráficos de pacotes e outras
300 ferramentas que precisem de conhecimento profundo de pacotes RPM.
302 %description devel -l ru.UTF-8
303 Система управления пакетами RPM содержит библиотеку C, которая
304 упрощает манипуляцию пакетами RPM и соответствующими базами данных.
305 Эта библиотека предназначена для облегчения создания графических
306 пакетных менеджеров и других утилит, которым необходимо работать с
309 %description devel -l uk.UTF-8
310 Система керування пакетами RPM містить бібліотеку C, котра спрощує
311 роботу з пакетами RPM та відповідними базами даних. Ця бібліотека
312 призначена для полегшення створення графічних пакетних менеджерів та
313 інших утиліт, що працюють з пакетами RPM.
316 Summary: Additional utilities for managing RPM packages and database
317 Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
318 Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
319 Group: Applications/File
320 Requires: %{name} = %{epoch}:%{version}-%{release}
321 Requires: popt >= %{popt_ver}
322 %if %{with recommends_tags}
326 Conflicts: filesystem-debuginfo < 3.0-16
329 Additional utilities for managing RPM packages and database.
331 %description utils -l de.UTF-8
332 Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
334 %description utils -l pl.UTF-8
335 Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
338 Summary: Scripts for building binary RPM packages
339 Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
340 Summary(pl.UTF-8): Skrypty pomocnicze do budowania binarnych RPM-ów
341 Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes
342 Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
343 Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
344 Group: Applications/File
345 Requires(pretrans): coreutils
346 Requires(pretrans): findutils
347 Requires: %{name}-utils = %{epoch}:%{version}-%{release}
348 Requires: rpm-pld-macros-build >= 1.744
352 Requires: chrpath >= 0.10-4
356 Requires: file >= 4.17
360 Requires: gcc >= 3.0.3
364 Requires: glibc-devel
371 Requires: tar >= 1:1.22
375 Provides: rpmbuild(noauto) = 3
377 Conflicts: automake < 1:1.7.9-2
378 Conflicts: libtool < 2:1.5-13
382 Scripts for building binary RPM packages.
384 %description build -l de.UTF-8
385 Scripts fürs Bauen binärer RPM-Pakete.
387 %description build -l pl.UTF-8
388 Skrypty pomocnicze do budowania binarnych RPM-ów.
390 %description build -l pt_BR.UTF-8
391 Este pacote contém scripts e programas executáveis que são usados para
392 construir pacotes usando o RPM.
394 %description build -l ru.UTF-8
395 Различные вспомогательные скрипты и исполняемые программы, которые
396 используются для сборки RPM'ов.
398 %description build -l uk.UTF-8
399 Різноманітні допоміжні скрипти та утиліти, які використовуються для
403 Summary: Additional utilities for checking Perl provides/requires in RPM packages
404 Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
405 Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
406 Group: Applications/File
407 Requires: %{name} = %{epoch}:%{version}-%{release}
408 Requires: perl-Encode
410 Requires: perl-modules
412 %description perlprov
413 Additional utilities for checking Perl provides/requires in RPM
416 %description perlprov -l de.UTF-8
417 Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen.
419 %description perlprov -l pl.UTF-8
420 Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
424 Summary: Python macros, which simplifies creation of RPM packages with Python software
425 Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
426 Group: Applications/File
427 Requires: %{name} = %{epoch}:%{version}-%{release}
429 Requires: python3-modules
430 Requires: python3-setuptools
432 %description pythonprov
433 Python macros, which simplifies creation of RPM packages with Python
436 %description pythonprov -l pl.UTF-8
437 Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
440 %package -n python3-rpm
441 Summary: Python 3 interface to RPM library
442 Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki RPM-a
443 Summary(pt_BR.UTF-8): Módulo Python 3 para aplicativos que manipulam pacotes RPM
444 Group: Development/Languages/Python
445 Requires: %{name} = %{epoch}:%{version}-%{release}
447 Obsoletes: python-rpm < 1:4.16.0
448 Obsoletes: rpm-python
450 %description -n python3-rpm
451 The python3-rpm package contains a module which permits applications
452 written in the Python 3 programming language to use the interface
453 supplied by RPM (RPM Package Manager) libraries.
455 This package should be installed if you want to develop Python 3
456 programs that will manipulate RPM packages and databases.
458 %description -n python3-rpm -l pl.UTF-8
459 Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w
460 Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki
463 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
464 Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
466 %description -n python3-rpm -l pt_BR.UTF-8
467 O pacote python3-rpm contém um módulo que permite que aplicações
468 escritas em Python 3 utilizem a interface fornecida pelas bibliotecas
469 RPM (RPM Package Manager).
471 Esse pacote deve ser instalado se você quiser desenvolver programas em
472 Python 3 para manipular pacotes e bancos de dados RPM.
474 %package plugin-audit
475 Summary: Plugin for logging audit events on package operations
477 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
479 %description plugin-audit
480 Plugin for libaudit support
482 %package plugin-syslog
483 Summary: Plugin for syslog functionality
485 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
487 %description plugin-syslog
488 This plugin exports RPM actions to the system log.
490 %package plugin-systemd-inhibit
491 Summary: Plugin for systemd inhibit functionality
493 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
495 %description plugin-systemd-inhibit
496 This plugin blocks systemd from entering idle, sleep or shutdown while
497 an rpm transaction is running using the systemd-inhibit mechanism.
500 Summary: Plugin for IMA file signatures
502 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
504 %description plugin-ima
505 This plugin adds support for enforcing and verifying IMA file
506 signatures in an rpm.
508 %package plugin-prioreset
509 Summary: Plugin for resetting scriptlet priorities for SysV init
511 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
513 %description plugin-prioreset
514 This plugin is useful on legacy SysV init systems if you run rpm
515 transactions with nice/ionice priorities. Should not be used on
518 %package plugin-selinux
519 Summary: Plugin for SELinux functionality
521 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
522 Requires: libselinux >= 2.1.0
524 %description plugin-selinux
525 Plugin for SELinux functionality.
528 Summary: Package signing support
530 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
533 This package contains support for digitally signing RPM packages.
536 Summary: RPM API documentation and guides
537 Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki
542 Documentation for RPM API and guides in HTML format generated from rpm
545 %description apidocs -l pl.UTF-8
546 Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
547 źrodeł RPM-a przez doxygen.
550 %setup -q -n %{name}-%{version}%{?subver}
584 install %{SOURCE15} scripts/perl.prov.in
586 %{__mv} -f scripts/perl.req{,.in}
588 # generate Group translations to *.po
589 awk -f %{SOURCE6} %{SOURCE5}
591 install %{SOURCE16} tools/rpmdb_checkversion.c
592 install %{SOURCE17} tools/rpmdb_reset.c
594 %{__sed} -i -e '1s,/usr/bin/python,%{__python3},' scripts/pythondistdeps.py
603 # rpm checks for CPU type at runtime, but it looks better
605 -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
606 -e 's|@host_cpu@|%{_target_cpu}|' \
607 -e 's|@host_os@|%{_target_os}|' \
611 WITH_PERL_VERSION=no \
612 __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
613 __GPG=%{_bindir}/gpg \
618 --disable-silent-rules \
626 %{?with_imaevm:--with-imaevm} \
631 --with-selinux=%{!?with_plugins:no}%{?with_plugins:yes} \
632 %{!?with_plugins:--disable-plugins} \
637 %{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb
638 %{__cc} %{rpmcflags} tools/rpmdb_reset.c -o tools/rpmdb_reset -ldb
640 if tools/rpmdb_checkversion -V 2>&1 | grep "t match library version"; then
641 echo "Error linking rpmdb tools!"
644 if tools/rpmdb_reset -V 2>&1 | grep "t match library version"; then
645 echo "Error linking rpmdb tools!"
655 rm -rf $RPM_BUILD_ROOT
656 install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
657 $RPM_BUILD_ROOT/var/lib/{banner,rpm}
659 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
662 pkgconfigdir=%{_pkgconfigdir} \
663 DESTDIR=$RPM_BUILD_ROOT
666 %ifnarch %{ix86} %{x8664} x32
667 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/athlon-linux/macros
668 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/geode-linux/macros
669 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i386-linux/macros
670 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i486-linux/macros
671 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i586-linux/macros
672 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i686-linux/macros
673 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium3-linux/macros
674 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium4-linux/macros
677 %ifnarch %{x8664} x32
678 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/amd64-linux/macros
679 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia32e-linux/macros
680 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x32-linux/macros
681 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x86_64-linux/macros
685 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/m68k-linux/macros
686 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc32dy4-linux/macros
687 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc64*-linux/macros
688 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8260-linux/macros
689 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8560-linux/macros
690 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros
691 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros
695 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
699 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
702 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros
703 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros
704 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros
705 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros
706 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros
707 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros
708 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros
710 cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
712 %{_target_cpu}-%{_target_vendor}-linux-gnux32
714 %{_target_cpu}-%{_target_vendor}-linux
718 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
720 install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld
722 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
723 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
724 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rpm
726 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh
728 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
729 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
730 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
731 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
732 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
733 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
735 cp -p tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/
736 cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/
737 cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh
740 %{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
741 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
742 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmverify
744 # move essential libs to /lib (libs that /bin/rpm links to)
745 for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
746 mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib}
747 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
750 #./rpmdb --macros=macros --rcfile=rpmrc --dbpath=/home/users/baggins/devel/PLD/rpm/BUILD/rpm-4.15.1/x/ --initdb
752 # Make sure we have bdb set a default backend
753 grep -qE "db_backend[[:blank:]]+bdb" $RPM_BUILD_ROOT%{_rpmlibdir}/macros
756 # Remove anything that rpm make install might put there
757 %{__rm} -rf $RPM_BUILD_ROOT%{py3_sitedir}
763 %{__rm} $RPM_BUILD_ROOT%{_libdir}/rpm-plugins/*.la
765 # wrong location, not used anyway
766 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log}
771 rm -rf $RPM_BUILD_ROOT
774 if [ -e /var/lib/rpm/Packages ] && \
775 ! %{_rpmlibdir}/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then
776 if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
777 /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
779 echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
783 echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
784 echo 'you should ignore it and restart poldek'
786 %{_rpmlibdir}/dbupgrade.sh
789 %post lib -p /sbin/ldconfig
790 %postun lib -p /sbin/ldconfig
793 find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
795 %files -f %{name}.lang
796 %defattr(644,root,root,755)
797 %doc ChangeLog CREDITS README
799 %dir /etc/pki/rpm-gpg
800 /etc/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
802 %attr(755,root,root) /bin/rpm
803 %attr(755,root,root) %{_bindir}/rpmdb
804 %attr(755,root,root) %{_bindir}/rpmkeys
805 %attr(755,root,root) %{_bindir}/rpmquery
806 %attr(755,root,root) %{_bindir}/rpmverify
808 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
809 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
810 # this is ok to be replaced
811 %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform
813 %{_mandir}/man8/rpm.8*
814 %{_mandir}/man8/rpmdb.8*
815 %{_mandir}/man8/rpmkeys.8*
816 %{_mandir}/man8/rpm-misc.8*
817 %{?with_plugins:%{_mandir}/man8/rpm-plugins.8*}
818 %lang(fr) %{_mandir}/fr/man8/rpm.8*
819 %lang(ja) %{_mandir}/ja/man8/rpm.8*
820 %lang(ko) %{_mandir}/ko/man8/rpm.8*
821 %lang(pl) %{_mandir}/pl/man8/rpm.8*
822 %lang(ru) %{_mandir}/ru/man8/rpm.8*
823 %lang(sk) %{_mandir}/sk/man8/rpm.8*
827 %{_rpmlibdir}/rpmpopt*
830 %dir %{_rpmlibdir}/macros.d
831 %dir %{_rpmlibdir}/platform
832 %{_rpmlibdir}/platform/noarch-*
833 %ifarch %{ix86} %{x8664} x32
834 %{_rpmlibdir}/platform/athlon*
835 %{_rpmlibdir}/platform/geode*
836 %{_rpmlibdir}/platform/i?86*
837 %{_rpmlibdir}/platform/pentium*
840 %{_rpmlibdir}/platform/amd64*
841 %{_rpmlibdir}/platform/ia32e*
842 %{_rpmlibdir}/platform/x86_64*
843 %{_rpmlibdir}/platform/x32*
846 %{_rpmlibdir}/platform/alpha*
849 %{_rpmlibdir}/platform/aarch64*
852 %{_rpmlibdir}/platform/arm*
855 %{_rpmlibdir}/platform/ia64*
857 %ifarch mips mipsel mips64 mips64el
858 %{_rpmlibdir}/platform/mips*
861 %{_rpmlibdir}/platform/ppc*
863 %ifarch sparc sparc64
864 %{_rpmlibdir}/platform/sparc*
867 %dir %{_rpmlibdir}/pld
869 %attr(755,root,root) %{_rpmlibdir}/dbupgrade.sh
870 %attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion
871 %attr(755,root,root) %{_rpmlibdir}/rpmdb_reset
872 %attr(755,root,root) %{_rpmlibdir}/rpmdb_dump
873 %attr(755,root,root) %{_rpmlibdir}/rpmdb_load
875 # valgrind suppression file for rpm
876 %{_rpmlibdir}/rpm.supp
879 %defattr(644,root,root,755)
880 %dir %{_sysconfdir}/rpm
881 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
883 %attr(755,root,root) %{_bindir}/banner.sh
884 %attr(755,root,root) %{_rpmlibdir}/user_group.sh
888 %defattr(644,root,root,755)
889 %attr(755,root,root) /%{_lib}/librpm.so.9
890 %attr(755,root,root) /%{_lib}/librpm.so.%{sover}
891 %attr(755,root,root) /%{_lib}/librpmbuild.so.9
892 %attr(755,root,root) /%{_lib}/librpmbuild.so.%{sover}
893 %attr(755,root,root) /%{_lib}/librpmio.so.9
894 %attr(755,root,root) /%{_lib}/librpmio.so.%{sover}
895 %attr(755,root,root) /%{_lib}/librpmsign.so.9
896 %attr(755,root,root) /%{_lib}/librpmsign.so.%{sover}
897 %{?with_plugins:%dir %{_libdir}/rpm-plugins}
900 %defattr(644,root,root,755)
901 %attr(755,root,root) %{_libdir}/librpm.so
902 %attr(755,root,root) %{_libdir}/librpmbuild.so
903 %attr(755,root,root) %{_libdir}/librpmio.so
904 %attr(755,root,root) %{_libdir}/librpmsign.so
905 %{_libdir}/librpm*.la
907 %{_pkgconfigdir}/*.pc
910 %defattr(644,root,root,755)
911 %attr(755,root,root) %{_bindir}/rpm2archive
912 %attr(755,root,root) %{_bindir}/rpm2cpio
913 %attr(755,root,root) %{_bindir}/rpmgraph
914 %attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
915 %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
916 %attr(755,root,root) %{_rpmlibdir}/tgpg
917 %attr(755,root,root) %{_rpmlibdir}/debugedit
918 %attr(755,root,root) %{_rpmlibdir}/rpmdeps
919 %{_mandir}/man8/rpm2archive.8*
920 %{_mandir}/man8/rpm2cpio.8*
921 %{_mandir}/man8/rpmdeps.8*
922 %{_mandir}/man8/rpmgraph.8*
923 %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
924 %lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
925 %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
926 %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
927 %lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
928 %lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
929 %lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
932 %defattr(644,root,root,755)
933 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
934 %attr(755,root,root) %{_rpmlibdir}/brp-*
935 %attr(755,root,root) %{_rpmlibdir}/check-files
936 %attr(755,root,root) %{_rpmlibdir}/install-build-tree
937 %attr(755,root,root) %{_rpmlibdir}/elfdeps
938 %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
939 # needs hacked pkg-config to return anything
940 %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
941 %attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
943 %attr(755,root,root) %{_rpmlibdir}/fontconfig.prov
944 # must be here for "Requires: rpm-*prov" to work
945 #%{_rpmlibdir}/macros.d/cmake
946 #%{_rpmlibdir}/macros.d/gstreamer
947 #%{_rpmlibdir}/macros.d/libtool
948 #%{_rpmlibdir}/macros.d/perl
949 #%{_rpmlibdir}/macros.d/pkgconfig
950 #%{_rpmlibdir}/macros.d/python
951 #%{_rpmlibdir}/macros.d/selinux
952 #%{_rpmlibdir}/macros.d/tcl
953 #%{_rpmlibdir}/macros.rpmbuild
955 %attr(755,root,root) %{_rpmlibdir}/check-buildroot
956 %attr(755,root,root) %{_rpmlibdir}/check-prereqs
957 %attr(755,root,root) %{_rpmlibdir}/check-rpaths
958 %attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
959 %attr(755,root,root) %{_rpmlibdir}/find-provides
960 %attr(755,root,root) %{_rpmlibdir}/find-requires
961 %attr(755,root,root) %{_rpmlibdir}/ocamldeps.sh
962 %attr(755,root,root) %{_rpmlibdir}/script.req
963 %attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
965 %dir %{_rpmlibdir}/fileattrs
966 %{_rpmlibdir}/fileattrs/debuginfo.attr
967 %{_rpmlibdir}/fileattrs/desktop.attr
968 %{_rpmlibdir}/fileattrs/elf.attr
969 %{_rpmlibdir}/fileattrs/font.attr
970 %{_rpmlibdir}/fileattrs/libtool.attr
971 %{_rpmlibdir}/fileattrs/metainfo.attr
972 %{_rpmlibdir}/fileattrs/ocaml.attr
973 %{_rpmlibdir}/fileattrs/perl.attr
974 %{_rpmlibdir}/fileattrs/perllib.attr
975 %{_rpmlibdir}/fileattrs/pkgconfig.attr
976 %{_rpmlibdir}/fileattrs/python.attr
977 %{_rpmlibdir}/fileattrs/pythondist.attr
978 %{_rpmlibdir}/fileattrs/script.attr
980 %attr(755,root,root) %{_bindir}/gendiff
981 %attr(755,root,root) %{_bindir}/rpmbuild
982 %attr(755,root,root) %{_bindir}/rpmspec
984 %{_mandir}/man1/gendiff.1*
985 %lang(pl) %{_mandir}/pl/man1/gendiff.1*
986 %{_mandir}/man8/rpmbuild.8*
987 %lang(ja) %{_mandir}/ja/man8/rpmbuild.8*
988 %lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
989 %{_mandir}/man8/rpmspec.8*
992 %defattr(644,root,root,755)
993 %attr(755,root,root) %{_rpmlibdir}/perl.*
996 %defattr(644,root,root,755)
997 %attr(755,root,root) %{_rpmlibdir}/pythondistdeps.py
1000 %files -n python3-rpm
1001 %defattr(644,root,root,755)
1002 %dir %{py3_sitedir}/rpm
1003 %attr(755,root,root) %{py3_sitedir}/rpm/*.so
1004 %{py3_sitedir}/rpm/*.py
1005 %{py3_sitedir}/rpm-%{version}-py*.egg-info
1006 %{py3_sitedir}/rpm/__pycache__
1011 %defattr(644,root,root,755)
1012 %attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
1013 %{_mandir}/man8/rpm-plugin-audit.8*
1015 %files plugin-syslog
1016 %defattr(644,root,root,755)
1017 %attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
1018 %{_mandir}/man8/rpm-plugin-syslog.8*
1020 %files plugin-systemd-inhibit
1021 %defattr(644,root,root,755)
1022 %attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so
1023 %{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
1026 %defattr(644,root,root,755)
1027 %attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
1028 %{_mandir}/man8/rpm-plugin-ima.8*
1030 %files plugin-prioreset
1031 %defattr(644,root,root,755)
1032 %attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
1033 %{_mandir}/man8/rpm-plugin-prioreset.8*
1035 %files plugin-selinux
1036 %defattr(644,root,root,755)
1037 %attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
1038 %{_mandir}/man8/rpm-plugin-selinux.8*
1042 %defattr(644,root,root,755)
1043 %attr(755,root,root) %{_bindir}/rpmsign
1044 %{_mandir}/man8/rpmsign.8*
1048 %defattr(644,root,root,755)
1049 %doc doc/librpm/html/*