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 python2 # don't build python bindings
9 %bcond_without python3 # don't build python bindings
10 %bcond_without plugins # build plugins
11 %bcond_without recommends_tags # build without Recommends tag (bootstrapping)
12 %bcond_with db61 # use DB 6.1 instead of 5.3
14 # versions of required libraries
16 %define reqdb_pkg db6.1
18 %define reqdb_pkgver 6.1.19
20 %define reqdb_pkg db5.3
22 %define reqdb_pkgver 5.3.28.0
24 %define reqpopt_ver 1.15
25 %define openssl_ver 1.1.1d
28 Summary: RPM Package Manager
29 Summary(de.UTF-8): RPM Packet-Manager
30 Summary(es.UTF-8): Gestor de paquetes RPM
31 Summary(pl.UTF-8): Aplikacja do zarządzania pakietami RPM
32 Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM
33 Summary(ru.UTF-8): Менеджер пакетов от RPM
34 Summary(uk.UTF-8): Менеджер пакетів від RPM
39 License: GPL v2 / LGPL v2.1
41 Source0: http://ftp.rpm.org/releases/rpm-4.15.x/%{name}-%{version}.tar.bz2
42 # Source0-md5: ed72147451a5ed93b2a48e2f8f5413c3
43 Source1: %{name}.groups
45 Source3: %{name}-install-tree
46 Source4: %{name}-find-spec-bcond
47 Source5: %{name}-hrmib-cache
48 Source6: %{name}-groups-po.awk
49 Source7: %{name}-compress-doc
50 Source10: %{name}.sysinfo
52 Source12: %{name}-user_group.sh
53 Source13: %{name}.sysconfig
54 # http://svn.pld-linux.org/banner.sh/
56 Source16: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
57 # Source16-md5: 23914bb49fafe7153cee87126d966461
58 Source17: %{name}-mimetypedeps
59 Source18: macros.local
60 Source19: %{name}.noautocompressdoc
61 Source20: %{name}.noautoprov
62 Source21: %{name}.noautoprovfiles
63 Source22: %{name}.noautoreq
64 Source24: %{name}.noautoreqfiles
65 Source26: %{name}db_checkversion.c
67 Source28: %{name}db_reset.c
68 Source29: dbupgrade.sh
70 Patch0: %{name}-man_pl.patch
71 Patch1: %{name}-popt-aliases.patch
72 Patch2: %{name}-perl-macros.patch
73 Patch3: %{name}-perl-req-perlfile.patch
74 Patch4: %{name}-scripts-closefds.patch
75 Patch6: %{name}-lua.patch
76 Patch7: %{name}-perl_req-INC_dirs.patch
77 Patch8: %{name}-debuginfo.patch
78 Patch10: %{name}-libtool-deps.patch
79 Patch11: %{name}-builddir-readlink.patch
80 Patch12: %{name}-changelog_order_check_nonfatal.patch
81 Patch13: %{name}-postun-nofail.patch
82 Patch14: %{name}-clean-docdir.patch
83 Patch15: %{name}-perl-magic.patch
84 Patch16: %{name}-ignore-missing-macro-files.patch
86 Patch18: %{name}-fix-compress-doc.patch
87 Patch20: rpm5-db-compat.patch
88 Patch21: python-internal-build.patch
90 BuildRequires: %{reqdb_pkg}-devel >= %{reqdb_pkgver}
91 BuildRequires: %{reqdb_pkg}-sql-devel >= %{reqdb_pkgver}
92 BuildRequires: autoconf >= 2.63
93 BuildRequires: automake >= 1.4
94 BuildRequires: bzip2-devel >= 1.0.2-17
95 BuildRequires: elfutils-devel >= 0.108
96 BuildRequires: gettext-tools >= 0.19.2
97 BuildRequires: libarchive-devel
98 BuildRequires: libmagic-devel
99 BuildRequires: openssl-devel >= %{openssl_ver}
101 BuildRequires: audit-libs-devel
102 BuildRequires: dbus-devel
103 BuildRequires: libselinux-devel >= 2.1.0
105 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
106 BuildRequires: libstdc++-devel
107 BuildRequires: libtool >= 1:1.4.2-9
108 BuildRequires: lua53-devel >= 5.3.5
109 BuildRequires: ossp-uuid-devel
110 BuildRequires: patch >= 2.2
111 BuildRequires: popt-devel >= %{reqpopt_ver}
112 %{?with_python2:BuildRequires: python-devel >= 1:2.3}
113 %{?with_python3:BuildRequires: python3-devel}
114 BuildRequires: python-modules >= 1:2.3
115 %if %{with python2} || %{with python3}
116 BuildRequires: rpm-pythonprov
119 BuildRequires: xz-devel
120 BuildRequires: zlib-devel
121 BuildRequires: zstd-devel
123 BuildRequires: doxygen
124 BuildRequires: ghostscript
125 BuildRequires: graphviz
126 BuildRequires: tetex-pdftex
128 Requires(posttrans): coreutils
129 Requires: %{name}-base = %{epoch}:%{version}-%{release}
130 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
131 Requires: FHS >= 3.0-2
132 Requires: openssl >= %{openssl_ver}
133 Requires: popt >= %{reqpopt_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 Provides: rpm-db-ver = %{reqdb_ver}
141 Obsoletes: rpm-getdeps
142 Obsoletes: rpm-utils-perl
143 Obsoletes: rpm-utils-static
144 Conflicts: glibc < 2.2.92
145 # db4.6 poldek needed
146 Conflicts: poldek < 0.21-0.20070703.00.3
147 # segfaults with lzma 0.42.2
148 Conflicts: lzma-libs < 4.999.3
149 Conflicts: util-vserver < 0.30.216-1.pre3034.7
150 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
152 %define _binary_payload w9.gzdio
154 # don't require very fresh rpm.macros to build
155 %define find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT
156 %define ix86 i386 i486 i586 i686 athlon geode pentium3 pentium4
157 %define ppc ppc ppc7400 ppc7450
158 %define x8664 amd64 ia32e x86_64
160 %define _rpmlibdir /usr/lib/rpm
161 %define _noautocompressdoc RPM-GPG-KEY
164 RPM is a powerful package manager, which can be used to build,
165 install, query, verify, update, and uninstall individual software
166 packages. A package consists of an archive of files, and package
167 information, including name, version, and description.
169 %description -l de.UTF-8
170 RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur
171 Installation, Anfrage, Verifizierung, Aktualisierung und
172 Uninstallation individueller Softwarepakete. Ein Paket besteht aus
173 einem Archiv Dateien und Paketinformation, inklusive Name, Version und
176 %description -l es.UTF-8
177 RPM es un poderoso administrador de paquetes, que puede ser usado para
178 construir, instalar, pesquisar, verificar, actualizar y desinstalar
179 paquetes individuales de software. Un paquete consiste en un
180 almacenaje de archivos, y información sobre el paquete, incluyendo
181 nombre, versión y descripción.
183 %description -l pl.UTF-8
184 RPM jest doskonałym programem zarządzającym pakietami. Umożliwia on
185 przebudowanie, instalację czy weryfikację dowolnego pakietu.
186 Informacje dotyczące każdego pakietu, takie jak jego opis, lista
187 plików wchodzących w skład pakietu, zależności od innych pakietów, są
188 przechowywane w bazie danych i można je uzyskać za pomocą opcji
189 odpytywania programu rpm.
191 %description -l pt_BR.UTF-8
192 RPM é um poderoso gerenciador de pacotes, que pode ser usado para
193 construir, instalar, pesquisar, verificar, atualizar e desinstalar
194 pacotes individuais de software. Um pacote consiste de um conjunto de
195 arquivos e informações adicionais, incluindo nome, versão e descrição
196 do pacote, permissões dos arquivos, etc.
198 %description -l ru.UTF-8
199 RPM - это мощный менеджер пакетов, который может быть использован для
200 создания, инсталляции, запросов (query), проверки, обновления и
201 удаления программных пакетов. Пакет состоит из файлового архива и
202 служебной информации, включающей название, версию, описание и другие
205 %description -l uk.UTF-8
206 RPM - це потужний менеджер пакетів, що може бути використаний для
207 створення, інсталяції, запитів (query), перевірки, поновлення та
208 видалення програмних пакетів. Пакет складається з файлового архіву та
209 службової інформації, що містить назву, версію, опис та іншу
210 інформацію про пакет.
213 Summary: RPM base package - scripts used by rpm packages themselves
214 Summary(pl.UTF-8): Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
217 Obsoletes: rpm-scripts
218 Obsoletes: vserver-rpm
221 The RPM base package contains scripts used by rpm packages themselves.
223 - scripts for adding/removing groups and users needed for rpm
225 - banner.sh to display %%banner messages from rpm scriptlets.
227 %description base -l pl.UTF-8
228 Pakiet podstawowy RPM zwiera skrypty używane przez same pakiety rpm.
230 - skrypty dodające/usuwające grupy i użytkowników dla pakietów rpm,
231 - banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
234 Summary: RPMs library
235 Summary(pl.UTF-8): Biblioteki RPM-a
237 Requires: %{reqdb_pkg} >= %{reqdb_pkgver}
238 Requires: %{reqdb_pkg}-sql >= %{reqdb_pkgver}
239 Requires: libmagic >= 1.15-2
240 Requires: openssl >= %{openssl_ver}
241 Requires: popt >= %{reqpopt_ver}
243 # avoid SEGV caused by mixed db versions
244 Conflicts: poldek < 0.18.1-16
249 %description lib -l pl.UTF-8
253 Summary: Header files for rpm libraries
254 Summary(de.UTF-8): Header-Dateien für rpm Libraries
255 Summary(es.UTF-8): Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
256 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek rpm
257 Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
258 Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами
259 Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm
260 Group: Development/Libraries
261 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
262 Requires: %{reqdb_pkg}-devel >= %{reqdb_pkgver}
263 Requires: bzip2-devel
264 Requires: elfutils-devel
265 Requires: libmagic-devel
266 Requires: openssl-devel >= %{openssl_ver}
268 Requires: libselinux-devel
269 Requires: libsemanage-devel
270 Requires: libsepol-devel
272 Requires: popt-devel >= %{reqpopt_ver}
276 The RPM packaging system includes C libraries that make it easy to
277 manipulate RPM packages and databases. They are intended to ease the
278 creation of graphical package managers and other tools that need
279 intimate knowledge of RPM packages. This package contains header files
282 %description devel -l de.UTF-8
283 Der RPM-Packensystem enthält eine C-Library, die macht es einfach
284 RPM-Pakete und Dateibanken zu manipulieren. Er eignet sich für
285 Vereinfachung des Schaffens grafischer Paket-Manager und anderer
286 Werkzeuge, die intime Kenntnis von RPM-Paketen brauchen.
288 %description devel -l es.UTF-8
289 El sistema de empaquetado RPM incluye una biblioteca C que vuelve
290 fácil la manipulación de paquetes y bases de datos RPM. Su objetivo es
291 facilitar la creación de administradores gráficos de paquetes y otras
292 herramientas que necesiten un conocimiento profundo de paquetes RPM.
294 %description devel -l pl.UTF-8
295 System RPM zawiera biblioteki C, które ułatwiają manipulowanie
296 pakietami RPM oraz bazami danych. W zamiarze ma to uprościć tworzenie
297 graficznych programów zarządzających pakietami oraz innych narzędzi,
298 które wymagają szczegółowej wiedzy na temat pakietów RPM. Ten pakiet
299 zawiera pliki nagłówkowe wspomnianych bibliotek.
301 %description devel -l pt_BR.UTF-8
302 O sistema de empacotamento RPM inclui uma biblioteca C que torna fácil
303 a manipulação de pacotes e bases de dados RPM. Seu objetivo é
304 facilitar a criação de gerenciadores gráficos de pacotes e outras
305 ferramentas que precisem de conhecimento profundo de pacotes RPM.
307 %description devel -l ru.UTF-8
308 Система управления пакетами RPM содержит библиотеку C, которая
309 упрощает манипуляцию пакетами RPM и соответствующими базами данных.
310 Эта библиотека предназначена для облегчения создания графических
311 пакетных менеджеров и других утилит, которым необходимо работать с
314 %description devel -l uk.UTF-8
315 Система керування пакетами RPM містить бібліотеку C, котра спрощує
316 роботу з пакетами RPM та відповідними базами даних. Ця бібліотека
317 призначена для полегшення створення графічних пакетних менеджерів та
318 інших утиліт, що працюють з пакетами RPM.
321 Summary: Additional utilities for managing RPM packages and database
322 Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
323 Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
324 Group: Applications/File
325 Requires: %{name} = %{epoch}:%{version}-%{release}
326 Requires: popt >= %{reqpopt_ver}
327 %if %{with recommends_tags}
331 Conflicts: filesystem-debuginfo < 3.0-16
334 Additional utilities for managing RPM packages and database.
336 %description utils -l de.UTF-8
337 Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
339 %description utils -l pl.UTF-8
340 Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
343 Summary: Scripts for building binary RPM packages
344 Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
345 Summary(pl.UTF-8): Skrypty pomocnicze do budowania binarnych RPM-ów
346 Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes
347 Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
348 Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
349 Group: Applications/File
350 Requires(pretrans): coreutils
351 Requires(pretrans): findutils
352 Requires: %{name}-build-macros >= 1.712
353 Requires: %{name}-utils = %{epoch}:%{version}-%{release}
357 Requires: chrpath >= 0.10-4
361 Requires: file >= 4.17
365 Requires: gcc >= 3.0.3
369 Requires: glibc-devel
376 Requires: tar >= 1:1.22
380 Provides: rpmbuild(noauto) = 3
382 Conflicts: automake < 1:1.7.9-2
383 Conflicts: libtool < 2:1.5-13
387 Scripts for building binary RPM packages.
389 %description build -l de.UTF-8
390 Scripts fürs Bauen binärer RPM-Pakete.
392 %description build -l pl.UTF-8
393 Skrypty pomocnicze do budowania binarnych RPM-ów.
395 %description build -l pt_BR.UTF-8
396 Este pacote contém scripts e programas executáveis que são usados para
397 construir pacotes usando o RPM.
399 %description build -l ru.UTF-8
400 Различные вспомогательные скрипты и исполняемые программы, которые
401 используются для сборки RPM'ов.
403 %description build -l uk.UTF-8
404 Різноманітні допоміжні скрипти та утиліти, які використовуються для
408 Summary: Additional utilities for checking Perl provides/requires in RPM packages
409 Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
410 Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
411 Group: Applications/File
412 Requires: %{name} = %{epoch}:%{version}-%{release}
413 Requires: perl-Encode
415 Requires: perl-modules
417 %description perlprov
418 Additional utilities for checking Perl provides/requires in RPM
421 %description perlprov -l de.UTF-8
422 Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen.
424 %description perlprov -l pl.UTF-8
425 Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
429 Summary: Python macros, which simplifies creation of RPM packages with Python software
430 Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
431 Group: Applications/File
432 Requires: %{name} = %{epoch}:%{version}-%{release}
434 Requires: python-modules
435 Requires: python-setuptools
437 %description pythonprov
438 Python macros, which simplifies creation of RPM packages with Python
441 %description pythonprov -l pl.UTF-8
442 Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
445 %package -n python-rpm
446 Summary: Python interface to RPM library
447 Summary(pl.UTF-8): Pythonowy interfejs do biblioteki RPM-a
448 Summary(pt_BR.UTF-8): Módulo Python para aplicativos que manipulam pacotes RPM
449 Group: Development/Languages/Python
450 Requires: %{name} = %{epoch}:%{version}-%{release}
452 Obsoletes: rpm-python
454 %description -n python-rpm
455 The python-rpm package contains a module which permits applications
456 written in the Python programming language to use the interface
457 supplied by RPM (RPM Package Manager) libraries.
459 This package should be installed if you want to develop Python
460 programs that will manipulate RPM packages and databases.
462 %description -n python-rpm -l pl.UTF-8
463 Pakiet python-rpm zawiera moduł, który pozwala aplikacjom napisanym w
464 Pythonie na używanie interfejsu dostarczanego przez biblioteki RPM-a.
466 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
467 Pythonie programy manipulujące pakietami i bazami danych rpm.
469 %description -n python-rpm -l pt_BR.UTF-8
470 O pacote python-rpm contém um módulo que permite que aplicações
471 escritas em Python utilizem a interface fornecida pelas bibliotecas
472 RPM (RPM Package Manager).
474 Esse pacote deve ser instalado se você quiser desenvolver programas em
475 Python para manipular pacotes e bancos de dados RPM.
477 %package -n python3-rpm
478 Summary: Python 3 interface to RPM library
479 Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki RPM-a
480 Summary(pt_BR.UTF-8): Módulo Python 3 para aplicativos que manipulam pacotes RPM
481 Group: Development/Languages/Python
482 Requires: %{name} = %{epoch}:%{version}-%{release}
485 %description -n python3-rpm
486 The python3-rpm package contains a module which permits applications
487 written in the Python 3 programming language to use the interface
488 supplied by RPM (RPM Package Manager) libraries.
490 This package should be installed if you want to develop Python 3
491 programs that will manipulate RPM packages and databases.
493 %description -n python3-rpm -l pl.UTF-8
494 Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w
495 Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki RPM-a.
497 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
498 Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
500 %description -n python3-rpm -l pt_BR.UTF-8
501 O pacote python3-rpm contém um módulo que permite que aplicações
502 escritas em Python 3 utilizem a interface fornecida pelas bibliotecas
503 RPM (RPM Package Manager).
505 Esse pacote deve ser instalado se você quiser desenvolver programas em
506 Python 3 para manipular pacotes e bancos de dados RPM.
508 %package plugin-audit
509 Summary: Plugin for logging audit events on package operations
511 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
513 %description plugin-audit
514 Plugin for libaudit support
516 %package plugin-syslog
517 Summary: Plugin for syslog functionality
519 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
521 %description plugin-syslog
522 This plugin exports RPM actions to the system log.
524 %package plugin-systemd-inhibit
525 Summary: Plugin for systemd inhibit functionality
527 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
529 %description plugin-systemd-inhibit
530 This plugin blocks systemd from entering idle, sleep or shutdown while
531 an rpm transaction is running using the systemd-inhibit mechanism.
534 Summary: Plugin for IMA file signatures
536 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
538 %description plugin-ima
539 This plugin adds support for enforcing and verifying IMA file
540 signatures in an rpm.
542 %package plugin-prioreset
543 Summary: Plugin for resetting scriptlet priorities for SysV init
545 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
547 %description plugin-prioreset
548 This plugin is useful on legacy SysV init systems if you run rpm
549 transactions with nice/ionice priorities. Should not be used on
552 %package plugin-selinux
553 Summary: Plugin for SELinux functionality
555 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
556 Requires: libselinux >= 2.1.0
558 %description plugin-selinux
559 Plugin for SELinux functionality.
562 Summary: Package signing support
564 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
567 This package contains support for digitally signing RPM packages.
570 Summary: RPM API documentation and guides
571 Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki
576 Documentation for RPM API and guides in HTML format generated from rpm
579 %description apidocs -l pl.UTF-8
580 Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
581 źrodeł RPM-a przez doxygen.
584 %setup -q -n %{name}-%{version}%{?subver}
605 install %{SOURCE11} scripts/perl.prov.in
607 %{__mv} -f scripts/perl.req{,.in}
609 # generate Group translations to *.po
610 awk -f %{SOURCE6} %{SOURCE1}
612 install %{SOURCE26} tools/rpmdb_checkversion.c
613 install %{SOURCE28} tools/rpmdb_reset.c
615 %{__sed} -i -e '1s,/usr/bin/python,%{__python},' scripts/pythondistdeps.py
624 # rpm checks for CPU type at runtime, but it looks better
626 -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
627 -e 's|@host_cpu@|%{_target_cpu}|' \
628 -e 's|@host_os@|%{_target_os}|' \
631 CPPFLAGS="-I/usr/include/lua53 %{rpmcppflags}"
633 WITH_PERL_VERSION=no \
634 __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
635 __GPG=%{_bindir}/gpg \
636 %{?with_python3:PYTHON=python3} \
637 %{!?with_python3:%{?with_python2:PYTHON=python2}} \
638 --disable-silent-rules \
642 --with-crypto=openssl \
648 %if %{with python2} || %{with python3}
651 --with-selinux=%{!?with_plugins:no}%{?with_plugins:yes} \
652 %{!?with_plugins:--disable-plugins} \
655 # --enable-ndb (EXPERIMENTAL) enable the new rpm database format
656 # --enable-lmdb=[yes/no/auto] (EXPERIMENTAL) build with LMDB rpm database format support (default=auto)
657 # --with-imaevm build with imaevm support
661 %{__cc} %{rpmcflags} -I/usr/include/db%{reqdb_ver} tools/rpmdb_checkversion.c \
662 -o tools/rpmdb_checkversion -ldb-%{reqdb_ver}
663 %{__cc} %{rpmcflags} -I/usr/include/db%{reqdb_ver} tools/rpmdb_reset.c \
664 -o tools/rpmdb_reset -ldb-%{reqdb_ver}
666 if tools/rpmdb_checkversion -V 2>&1 | grep "t match library version"; then
667 echo "Error linking rpmdb tools!"
670 if tools/rpmdb_reset -V 2>&1 | grep "t match library version"; then
671 echo "Error linking rpmdb tools!"
687 rm -rf $RPM_BUILD_ROOT
688 install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
689 $RPM_BUILD_ROOT{/var/lib/{banner,rpm},/var/cache/hrmib}
691 cp -p %{SOURCE16} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
694 pkgconfigdir=%{_pkgconfigdir} \
695 DESTDIR=$RPM_BUILD_ROOT
698 %ifnarch %{ix86} %{x8664} x32
699 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/athlon-linux/macros
700 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/geode-linux/macros
701 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i386-linux/macros
702 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i486-linux/macros
703 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i586-linux/macros
704 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i686-linux/macros
705 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium3-linux/macros
706 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium4-linux/macros
709 %ifnarch %{x8664} x32
710 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/amd64-linux/macros
711 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia32e-linux/macros
712 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x32-linux/macros
713 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x86_64-linux/macros
717 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/m68k-linux/macros
718 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc32dy4-linux/macros
719 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc64*-linux/macros
720 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8260-linux/macros
721 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8560-linux/macros
722 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros
723 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros
726 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
727 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros
728 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
729 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros
730 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros
731 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros
732 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros
733 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros
734 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros
736 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
738 install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld
739 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_rpmlibdir}/pld/macros
740 cp -p %{SOURCE32} $RPM_BUILD_ROOT%{_rpmlibdir}/pld/rpmrc
742 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
743 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_rpmlibdir}/find-spec-bcond
744 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/compress-doc
745 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
746 cp -p %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/mimetypedeps.sh
747 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
748 cp -p %{SOURCE13} $RPM_BUILD_ROOT/etc/sysconfig/rpm
750 cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_bindir}/banner.sh
752 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo
754 cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
755 cp -p %{SOURCE27} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
756 cp -p %{SOURCE19} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc
757 cp -p %{SOURCE20} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
758 cp -p %{SOURCE21} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
759 cp -p %{SOURCE22} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
760 cp -p %{SOURCE24} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
762 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Conflictname
763 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Dirnames
764 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Filelinktos
765 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Obsoletename
766 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Providename
767 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Requirename
769 cp -p tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/
770 cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/
771 cp -p %{SOURCE29} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh
774 %{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
775 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
776 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmverify
778 # move essential libs to /lib (libs that /bin/rpm links to)
779 for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
780 mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib}
781 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
784 #./rpmdb --macros=macros --rcfile=rpmrc --dbpath=/home/users/baggins/devel/PLD/rpm/BUILD/rpm-4.15.1/x/ --initdb
787 # Remove anything that rpm make install might put there
788 %{__rm} -rf $RPM_BUILD_ROOT%{py_sitedir}
796 # Remove anything that rpm make install might put there
797 %{__rm} -rf $RPM_BUILD_ROOT%{py3_sitedir}
803 %{__rm} $RPM_BUILD_ROOT%{_libdir}/rpm-plugins/*.la
805 # wrong location, not used anyway
806 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log}
811 rm -rf $RPM_BUILD_ROOT
814 # this needs to be a dir
815 if [ -f %{_sysconfdir}/rpm/sysinfo ]; then
817 mv -f %{_sysconfdir}/rpm/sysinfo{,.rpmsave}
818 mkdir %{_sysconfdir}/rpm/sysinfo
822 if [ -e /var/lib/rpm/Packages ] && \
823 ! %{_rpmlibdir}/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then
824 if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
825 /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
827 echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
831 echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
832 echo 'you should ignore it and restart poldek'
834 %{_rpmlibdir}/dbupgrade.sh
837 %triggerpostun -- %{name} < 4.4.9-44
838 %{_rpmlibdir}/hrmib-cache
840 %post lib -p /sbin/ldconfig
841 %postun lib -p /sbin/ldconfig
844 find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
846 %files -f %{name}.lang
847 %defattr(644,root,root,755)
848 %doc ChangeLog CREDITS README
850 %dir /etc/pki/rpm-gpg
851 /etc/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
853 %attr(755,root,root) /bin/rpm
854 %attr(755,root,root) %{_bindir}/rpmdb
855 %attr(755,root,root) %{_bindir}/rpmkeys
856 %attr(755,root,root) %{_bindir}/rpmquery
857 %attr(755,root,root) %{_bindir}/rpmverify
859 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
860 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
861 %dir %{_sysconfdir}/rpm/sysinfo
862 # these are ok to be replaced
863 %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/sysinfo/*
865 %{_mandir}/man8/rpm.8*
866 %{_mandir}/man8/rpmdb.8*
867 %{_mandir}/man8/rpmkeys.8*
868 %{_mandir}/man8/rpm-misc.8*
869 %lang(fr) %{_mandir}/fr/man8/rpm.8*
870 %lang(ja) %{_mandir}/ja/man8/rpm.8*
871 %lang(ko) %{_mandir}/ko/man8/rpm.8*
872 %lang(pl) %{_mandir}/pl/man8/rpm.8*
873 %lang(ru) %{_mandir}/ru/man8/rpm.8*
874 %lang(sk) %{_mandir}/sk/man8/rpm.8*
878 # exported package NVRA (stamped with install tid)
879 # net-snmp hrSWInstalledName queries, bash-completions
880 %dir /var/cache/hrmib
882 %{_rpmlibdir}/rpmpopt*
885 %dir %{_rpmlibdir}/macros.d
886 %dir %{_rpmlibdir}/platform
887 %{_rpmlibdir}/platform/noarch-*
888 %ifarch %{ix86} %{x8664} x32
889 %{_rpmlibdir}/platform/athlon*
890 %{_rpmlibdir}/platform/geode*
891 %{_rpmlibdir}/platform/i?86*
892 %{_rpmlibdir}/platform/pentium*
895 %{_rpmlibdir}/platform/amd64*
896 %{_rpmlibdir}/platform/ia32e*
897 %{_rpmlibdir}/platform/x86_64*
898 %{_rpmlibdir}/platform/x32*
901 %{_rpmlibdir}/platform/alpha*
904 %{_rpmlibdir}/platform/ia64*
906 %ifarch mips mipsel mips64 mips64el
907 %{_rpmlibdir}/platform/mips*
910 %{_rpmlibdir}/platform/ppc*
912 %ifarch sparc sparc64
913 %{_rpmlibdir}/platform/sparc*
916 %{_rpmlibdir}/pld/macros
917 %{_rpmlibdir}/pld/rpmrc
919 %attr(755,root,root) %{_rpmlibdir}/hrmib-cache
921 %attr(755,root,root) %{_rpmlibdir}/dbupgrade.sh
922 %attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion
923 %attr(755,root,root) %{_rpmlibdir}/rpmdb_reset
925 # valgrind suppression file for rpm
926 %{_rpmlibdir}/rpm.supp
929 %defattr(644,root,root,755)
930 %dir %{_sysconfdir}/rpm
931 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
933 %attr(755,root,root) %{_bindir}/banner.sh
934 %attr(755,root,root) %{_rpmlibdir}/user_group.sh
938 %defattr(644,root,root,755)
939 %attr(755,root,root) /%{_lib}/librpm.so.9
940 %attr(755,root,root) /%{_lib}/librpm.so.%{sover}
941 %attr(755,root,root) /%{_lib}/librpmbuild.so.9
942 %attr(755,root,root) /%{_lib}/librpmbuild.so.%{sover}
943 %attr(755,root,root) /%{_lib}/librpmio.so.9
944 %attr(755,root,root) /%{_lib}/librpmio.so.%{sover}
945 %attr(755,root,root) /%{_lib}/librpmsign.so.9
946 %attr(755,root,root) /%{_lib}/librpmsign.so.%{sover}
947 %{?with_plugins:%dir %{_libdir}/rpm-plugins}
950 %defattr(644,root,root,755)
951 %attr(755,root,root) %{_libdir}/librpm.so
952 %attr(755,root,root) %{_libdir}/librpmbuild.so
953 %attr(755,root,root) %{_libdir}/librpmio.so
954 %attr(755,root,root) %{_libdir}/librpmsign.so
955 %{_libdir}/librpm*.la
957 %{_pkgconfigdir}/*.pc
960 %defattr(644,root,root,755)
961 %attr(755,root,root) %{_bindir}/rpm2archive
962 %attr(755,root,root) %{_bindir}/rpm2cpio
963 %attr(755,root,root) %{_bindir}/rpmgraph
964 %attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
965 %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
966 %attr(755,root,root) %{_rpmlibdir}/rpmdb_loadcvt
967 %attr(755,root,root) %{_rpmlibdir}/tgpg
968 %attr(755,root,root) %{_rpmlibdir}/debugedit
969 %attr(755,root,root) %{_rpmlibdir}/rpmdeps
970 %{_mandir}/man8/rpm2cpio.8*
971 %{_mandir}/man8/rpmdeps.8*
972 %{_mandir}/man8/rpmgraph.8*
973 %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
974 %lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
975 %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
976 %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
977 %lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
978 %lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
979 %lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
982 %defattr(644,root,root,755)
983 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
984 %attr(755,root,root) %{_rpmlibdir}/brp-*
985 %attr(755,root,root) %{_rpmlibdir}/check-files
986 %attr(755,root,root) %{_rpmlibdir}/compress-doc
987 %attr(755,root,root) %{_rpmlibdir}/find-spec-bcond
988 %attr(755,root,root) %{_rpmlibdir}/install-build-tree
989 %attr(755,root,root) %{_rpmlibdir}/elfdeps
990 %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
991 %attr(755,root,root) %{_rpmlibdir}/mimetypedeps.sh
992 # needs hacked pkg-config to return anything
993 %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
994 %attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
996 %attr(755,root,root) %{_rpmlibdir}/fontconfig.prov
997 # must be here for "Requires: rpm-*prov" to work
998 #%{_rpmlibdir}/macros.d/cmake
999 #%{_rpmlibdir}/macros.d/gstreamer
1000 #%{_rpmlibdir}/macros.d/libtool
1001 #%{_rpmlibdir}/macros.d/perl
1002 #%{_rpmlibdir}/macros.d/pkgconfig
1003 #%{_rpmlibdir}/macros.d/python
1004 #%{_rpmlibdir}/macros.d/selinux
1005 #%{_rpmlibdir}/macros.d/tcl
1006 #%{_rpmlibdir}/macros.rpmbuild
1008 %attr(755,root,root) %{_rpmlibdir}/check-buildroot
1009 %attr(755,root,root) %{_rpmlibdir}/check-prereqs
1010 %attr(755,root,root) %{_rpmlibdir}/check-rpaths
1011 %attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
1012 %attr(755,root,root) %{_rpmlibdir}/debuginfo.prov
1013 %attr(755,root,root) %{_rpmlibdir}/desktop-file.prov
1014 %attr(755,root,root) %{_rpmlibdir}/find-provides
1015 %attr(755,root,root) %{_rpmlibdir}/find-requires
1016 %attr(755,root,root) %{_rpmlibdir}/metainfo.prov
1017 %attr(755,root,root) %{_rpmlibdir}/ocaml-find-provides.sh
1018 %attr(755,root,root) %{_rpmlibdir}/ocaml-find-requires.sh
1019 %attr(755,root,root) %{_rpmlibdir}/script.req
1020 %attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
1021 # Fedora has this in -build, but shouldn't this be in -devel?
1022 %attr(755,root,root) %{_rpmlibdir}/config.guess
1023 %attr(755,root,root) %{_rpmlibdir}/config.sub
1025 %dir %{_rpmlibdir}/fileattrs
1026 %{_rpmlibdir}/fileattrs/debuginfo.attr
1027 %{_rpmlibdir}/fileattrs/desktop.attr
1028 %{_rpmlibdir}/fileattrs/elf.attr
1029 %{_rpmlibdir}/fileattrs/font.attr
1030 %{_rpmlibdir}/fileattrs/libtool.attr
1031 %{_rpmlibdir}/fileattrs/metainfo.attr
1032 %{_rpmlibdir}/fileattrs/ocaml.attr
1033 %{_rpmlibdir}/fileattrs/perl.attr
1034 %{_rpmlibdir}/fileattrs/perllib.attr
1035 %{_rpmlibdir}/fileattrs/pkgconfig.attr
1036 %{_rpmlibdir}/fileattrs/python.attr
1037 %{_rpmlibdir}/fileattrs/pythondist.attr
1038 %{_rpmlibdir}/fileattrs/script.attr
1040 %attr(755,root,root) %{_bindir}/gendiff
1041 %attr(755,root,root) %{_bindir}/rpmbuild
1042 %attr(755,root,root) %{_bindir}/rpmspec
1044 %{_mandir}/man1/gendiff.1*
1045 %lang(pl) %{_mandir}/pl/man1/gendiff.1*
1046 %{_mandir}/man8/rpmbuild.8*
1047 %lang(ja) %{_mandir}/ja/man8/rpmbuild.8*
1048 %lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
1049 %{_mandir}/man8/rpmspec.8*
1052 %defattr(644,root,root,755)
1053 %attr(755,root,root) %{_rpmlibdir}/perl.*
1056 %defattr(644,root,root,755)
1057 %attr(755,root,root) %{_rpmlibdir}/pythondeps.sh
1058 %attr(755,root,root) %{_rpmlibdir}/pythondistdeps.py
1061 %files -n python-rpm
1062 %defattr(644,root,root,755)
1063 %dir %{py_sitedir}/rpm
1064 %attr(755,root,root) %{py_sitedir}/rpm/*.so
1065 %{py_sitedir}/rpm/*.py[co]
1066 %{py_sitedir}/rpm-%{version}-py*.egg-info
1070 %files -n python3-rpm
1071 %defattr(644,root,root,755)
1072 %dir %{py3_sitedir}/rpm
1073 %attr(755,root,root) %{py3_sitedir}/rpm/*.so
1074 %{py3_sitedir}/rpm/*.py
1075 %{py3_sitedir}/rpm-%{version}-py*.egg-info
1076 %{py3_sitedir}/rpm/__pycache__
1081 %defattr(644,root,root,755)
1082 %attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
1084 %files plugin-syslog
1085 %defattr(644,root,root,755)
1086 %attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
1088 %files plugin-systemd-inhibit
1089 %defattr(644,root,root,755)
1090 %attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so
1091 %{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
1094 %defattr(644,root,root,755)
1095 %attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
1097 %files plugin-prioreset
1098 %defattr(644,root,root,755)
1099 %attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
1101 %files plugin-selinux
1102 %defattr(644,root,root,755)
1103 %attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
1107 %defattr(644,root,root,755)
1108 %attr(755,root,root) %{_bindir}/rpmsign
1109 %{_mandir}/man8/rpmsign.8*
1113 %defattr(644,root,root,755)
1114 %doc doc/librpm/html/*