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(monoautodeps)
381 Provides: rpmbuild(noauto) = 3
383 Conflicts: automake < 1:1.7.9-2
384 Conflicts: libtool < 2:1.5-13
388 Scripts for building binary RPM packages.
390 %description build -l de.UTF-8
391 Scripts fürs Bauen binärer RPM-Pakete.
393 %description build -l pl.UTF-8
394 Skrypty pomocnicze do budowania binarnych RPM-ów.
396 %description build -l pt_BR.UTF-8
397 Este pacote contém scripts e programas executáveis que são usados para
398 construir pacotes usando o RPM.
400 %description build -l ru.UTF-8
401 Различные вспомогательные скрипты и исполняемые программы, которые
402 используются для сборки RPM'ов.
404 %description build -l uk.UTF-8
405 Різноманітні допоміжні скрипти та утиліти, які використовуються для
409 Summary: Additional utilities for checking Perl provides/requires in RPM packages
410 Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
411 Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
412 Group: Applications/File
413 Requires: %{name} = %{epoch}:%{version}-%{release}
414 Requires: perl-Encode
416 Requires: perl-modules
418 %description perlprov
419 Additional utilities for checking Perl provides/requires in RPM
422 %description perlprov -l de.UTF-8
423 Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen.
425 %description perlprov -l pl.UTF-8
426 Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
430 Summary: Python macros, which simplifies creation of RPM packages with Python software
431 Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
432 Group: Applications/File
433 Requires: %{name} = %{epoch}:%{version}-%{release}
435 Requires: python-modules
436 Requires: python-setuptools
438 %description pythonprov
439 Python macros, which simplifies creation of RPM packages with Python
442 %description pythonprov -l pl.UTF-8
443 Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
446 %package -n python-rpm
447 Summary: Python interface to RPM library
448 Summary(pl.UTF-8): Pythonowy interfejs do biblioteki RPM-a
449 Summary(pt_BR.UTF-8): Módulo Python para aplicativos que manipulam pacotes RPM
450 Group: Development/Languages/Python
451 Requires: %{name} = %{epoch}:%{version}-%{release}
453 Obsoletes: rpm-python
455 %description -n python-rpm
456 The python-rpm package contains a module which permits applications
457 written in the Python programming language to use the interface
458 supplied by RPM (RPM Package Manager) libraries.
460 This package should be installed if you want to develop Python
461 programs that will manipulate RPM packages and databases.
463 %description -n python-rpm -l pl.UTF-8
464 Pakiet python-rpm zawiera moduł, który pozwala aplikacjom napisanym w
465 Pythonie na używanie interfejsu dostarczanego przez biblioteki RPM-a.
467 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
468 Pythonie programy manipulujące pakietami i bazami danych rpm.
470 %description -n python-rpm -l pt_BR.UTF-8
471 O pacote python-rpm contém um módulo que permite que aplicações
472 escritas em Python utilizem a interface fornecida pelas bibliotecas
473 RPM (RPM Package Manager).
475 Esse pacote deve ser instalado se você quiser desenvolver programas em
476 Python para manipular pacotes e bancos de dados RPM.
478 %package -n python3-rpm
479 Summary: Python 3 interface to RPM library
480 Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki RPM-a
481 Summary(pt_BR.UTF-8): Módulo Python 3 para aplicativos que manipulam pacotes RPM
482 Group: Development/Languages/Python
483 Requires: %{name} = %{epoch}:%{version}-%{release}
486 %description -n python3-rpm
487 The python3-rpm package contains a module which permits applications
488 written in the Python 3 programming language to use the interface
489 supplied by RPM (RPM Package Manager) libraries.
491 This package should be installed if you want to develop Python 3
492 programs that will manipulate RPM packages and databases.
494 %description -n python3-rpm -l pl.UTF-8
495 Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w
496 Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki RPM-a.
498 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
499 Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
501 %description -n python3-rpm -l pt_BR.UTF-8
502 O pacote python3-rpm contém um módulo que permite que aplicações
503 escritas em Python 3 utilizem a interface fornecida pelas bibliotecas
504 RPM (RPM Package Manager).
506 Esse pacote deve ser instalado se você quiser desenvolver programas em
507 Python 3 para manipular pacotes e bancos de dados RPM.
509 %package plugin-audit
510 Summary: Plugin for logging audit events on package operations
512 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
514 %description plugin-audit
515 Plugin for libaudit support
517 %package plugin-syslog
518 Summary: Plugin for syslog functionality
520 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
522 %description plugin-syslog
523 This plugin exports RPM actions to the system log.
525 %package plugin-systemd-inhibit
526 Summary: Plugin for systemd inhibit functionality
528 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
530 %description plugin-systemd-inhibit
531 This plugin blocks systemd from entering idle, sleep or shutdown while
532 an rpm transaction is running using the systemd-inhibit mechanism.
535 Summary: Plugin for IMA file signatures
537 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
539 %description plugin-ima
540 This plugin adds support for enforcing and verifying IMA file
541 signatures in an rpm.
543 %package plugin-prioreset
544 Summary: Plugin for resetting scriptlet priorities for SysV init
546 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
548 %description plugin-prioreset
549 This plugin is useful on legacy SysV init systems if you run rpm
550 transactions with nice/ionice priorities. Should not be used on
553 %package plugin-selinux
554 Summary: Plugin for SELinux functionality
556 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
557 Requires: libselinux >= 2.1.0
559 %description plugin-selinux
560 Plugin for SELinux functionality.
563 Summary: Package signing support
565 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
568 This package contains support for digitally signing RPM packages.
571 Summary: RPM API documentation and guides
572 Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki
577 Documentation for RPM API and guides in HTML format generated from rpm
580 %description apidocs -l pl.UTF-8
581 Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
582 źrodeł RPM-a przez doxygen.
585 %setup -q -n %{name}-%{version}%{?subver}
606 install %{SOURCE11} scripts/perl.prov.in
608 %{__mv} -f scripts/perl.req{,.in}
610 # generate Group translations to *.po
611 awk -f %{SOURCE6} %{SOURCE1}
613 install %{SOURCE26} tools/rpmdb_checkversion.c
614 install %{SOURCE28} tools/rpmdb_reset.c
616 %{__sed} -i -e '1s,/usr/bin/python,%{__python},' scripts/pythondistdeps.py
625 # rpm checks for CPU type at runtime, but it looks better
627 -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
628 -e 's|@host_cpu@|%{_target_cpu}|' \
629 -e 's|@host_os@|%{_target_os}|' \
632 CPPFLAGS="-I/usr/include/lua53 %{rpmcppflags}"
634 WITH_PERL_VERSION=no \
635 __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
636 __GPG=%{_bindir}/gpg \
637 %{?with_python3:PYTHON=python3} \
638 %{!?with_python3:%{?with_python2:PYTHON=python2}} \
639 --disable-silent-rules \
643 --with-crypto=openssl \
649 %if %{with python2} || %{with python3}
652 --with-selinux=%{!?with_plugins:no}%{?with_plugins:yes} \
653 %{!?with_plugins:--disable-plugins} \
656 # --enable-ndb (EXPERIMENTAL) enable the new rpm database format
657 # --enable-lmdb=[yes/no/auto] (EXPERIMENTAL) build with LMDB rpm database format support (default=auto)
658 # --with-imaevm build with imaevm support
662 %{__cc} %{rpmcflags} -I/usr/include/db%{reqdb_ver} tools/rpmdb_checkversion.c \
663 -o tools/rpmdb_checkversion -ldb-%{reqdb_ver}
664 %{__cc} %{rpmcflags} -I/usr/include/db%{reqdb_ver} tools/rpmdb_reset.c \
665 -o tools/rpmdb_reset -ldb-%{reqdb_ver}
667 if tools/rpmdb_checkversion -V 2>&1 | grep "t match library version"; then
668 echo "Error linking rpmdb tools!"
671 if tools/rpmdb_reset -V 2>&1 | grep "t match library version"; then
672 echo "Error linking rpmdb tools!"
688 rm -rf $RPM_BUILD_ROOT
689 install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
690 $RPM_BUILD_ROOT{/var/lib/{banner,rpm},/var/cache/hrmib}
692 cp -p %{SOURCE16} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
695 pkgconfigdir=%{_pkgconfigdir} \
696 DESTDIR=$RPM_BUILD_ROOT
699 %ifnarch %{ix86} %{x8664} x32
700 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/athlon-linux/macros
701 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/geode-linux/macros
702 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i386-linux/macros
703 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i486-linux/macros
704 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i586-linux/macros
705 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i686-linux/macros
706 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium3-linux/macros
707 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium4-linux/macros
710 %ifnarch %{x8664} x32
711 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/amd64-linux/macros
712 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia32e-linux/macros
713 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x32-linux/macros
714 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x86_64-linux/macros
718 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/m68k-linux/macros
719 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc32dy4-linux/macros
720 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc64*-linux/macros
721 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8260-linux/macros
722 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8560-linux/macros
723 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros
724 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros
727 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
728 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros
729 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
730 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros
731 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros
732 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros
733 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros
734 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros
735 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros
737 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
739 install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld
740 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_rpmlibdir}/pld/macros
741 cp -p %{SOURCE32} $RPM_BUILD_ROOT%{_rpmlibdir}/pld/rpmrc
743 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
744 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_rpmlibdir}/find-spec-bcond
745 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/compress-doc
746 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
747 cp -p %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/mimetypedeps.sh
748 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
749 cp -p %{SOURCE13} $RPM_BUILD_ROOT/etc/sysconfig/rpm
751 cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_bindir}/banner.sh
753 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo
755 cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
756 cp -p %{SOURCE27} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
757 cp -p %{SOURCE19} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc
758 cp -p %{SOURCE20} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
759 cp -p %{SOURCE21} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
760 cp -p %{SOURCE22} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
761 cp -p %{SOURCE24} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
763 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Conflictname
764 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Dirnames
765 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Filelinktos
766 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Obsoletename
767 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Providename
768 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Requirename
770 cp -p tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/
771 cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/
772 cp -p %{SOURCE29} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh
775 %{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
776 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
777 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmverify
779 # move essential libs to /lib (libs that /bin/rpm links to)
780 for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
781 mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib}
782 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
785 #./rpmdb --macros=macros --rcfile=rpmrc --dbpath=/home/users/baggins/devel/PLD/rpm/BUILD/rpm-4.15.1/x/ --initdb
788 # Remove anything that rpm make install might put there
789 %{__rm} -rf $RPM_BUILD_ROOT%{py_sitedir}
797 # Remove anything that rpm make install might put there
798 %{__rm} -rf $RPM_BUILD_ROOT%{py3_sitedir}
804 %{__rm} $RPM_BUILD_ROOT%{_libdir}/rpm-plugins/*.la
806 # wrong location, not used anyway
807 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log}
812 rm -rf $RPM_BUILD_ROOT
815 # this needs to be a dir
816 if [ -f %{_sysconfdir}/rpm/sysinfo ]; then
818 mv -f %{_sysconfdir}/rpm/sysinfo{,.rpmsave}
819 mkdir %{_sysconfdir}/rpm/sysinfo
823 if [ -e /var/lib/rpm/Packages ] && \
824 ! %{_rpmlibdir}/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then
825 if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
826 /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
828 echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
832 echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
833 echo 'you should ignore it and restart poldek'
835 %{_rpmlibdir}/dbupgrade.sh
838 %triggerpostun -- %{name} < 4.4.9-44
839 %{_rpmlibdir}/hrmib-cache
841 %post lib -p /sbin/ldconfig
842 %postun lib -p /sbin/ldconfig
845 find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
847 %files -f %{name}.lang
848 %defattr(644,root,root,755)
849 %doc ChangeLog CREDITS README
851 %dir /etc/pki/rpm-gpg
852 /etc/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
854 %attr(755,root,root) /bin/rpm
855 %attr(755,root,root) %{_bindir}/rpmdb
856 %attr(755,root,root) %{_bindir}/rpmkeys
857 %attr(755,root,root) %{_bindir}/rpmquery
858 %attr(755,root,root) %{_bindir}/rpmverify
860 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
861 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
862 %dir %{_sysconfdir}/rpm/sysinfo
863 # these are ok to be replaced
864 %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/sysinfo/*
866 %{_mandir}/man8/rpm.8*
867 %{_mandir}/man8/rpmdb.8*
868 %{_mandir}/man8/rpmkeys.8*
869 %{_mandir}/man8/rpm-misc.8*
870 %lang(fr) %{_mandir}/fr/man8/rpm.8*
871 %lang(ja) %{_mandir}/ja/man8/rpm.8*
872 %lang(ko) %{_mandir}/ko/man8/rpm.8*
873 %lang(pl) %{_mandir}/pl/man8/rpm.8*
874 %lang(ru) %{_mandir}/ru/man8/rpm.8*
875 %lang(sk) %{_mandir}/sk/man8/rpm.8*
879 # exported package NVRA (stamped with install tid)
880 # net-snmp hrSWInstalledName queries, bash-completions
881 %dir /var/cache/hrmib
883 %{_rpmlibdir}/rpmpopt*
886 %dir %{_rpmlibdir}/macros.d
887 %dir %{_rpmlibdir}/platform
888 %{_rpmlibdir}/platform/noarch-*
889 %ifarch %{ix86} %{x8664} x32
890 %{_rpmlibdir}/platform/athlon*
891 %{_rpmlibdir}/platform/geode*
892 %{_rpmlibdir}/platform/i?86*
893 %{_rpmlibdir}/platform/pentium*
896 %{_rpmlibdir}/platform/amd64*
897 %{_rpmlibdir}/platform/ia32e*
898 %{_rpmlibdir}/platform/x86_64*
899 %{_rpmlibdir}/platform/x32*
902 %{_rpmlibdir}/platform/alpha*
905 %{_rpmlibdir}/platform/ia64*
907 %ifarch mips mipsel mips64 mips64el
908 %{_rpmlibdir}/platform/mips*
911 %{_rpmlibdir}/platform/ppc*
913 %ifarch sparc sparc64
914 %{_rpmlibdir}/platform/sparc*
917 %{_rpmlibdir}/pld/macros
918 %{_rpmlibdir}/pld/rpmrc
920 %attr(755,root,root) %{_rpmlibdir}/hrmib-cache
922 %attr(755,root,root) %{_rpmlibdir}/dbupgrade.sh
923 %attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion
924 %attr(755,root,root) %{_rpmlibdir}/rpmdb_reset
926 # valgrind suppression file for rpm
927 %{_rpmlibdir}/rpm.supp
930 %defattr(644,root,root,755)
931 %dir %{_sysconfdir}/rpm
932 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
934 %attr(755,root,root) %{_bindir}/banner.sh
935 %attr(755,root,root) %{_rpmlibdir}/user_group.sh
939 %defattr(644,root,root,755)
940 %attr(755,root,root) /%{_lib}/librpm.so.9
941 %attr(755,root,root) /%{_lib}/librpm.so.%{sover}
942 %attr(755,root,root) /%{_lib}/librpmbuild.so.9
943 %attr(755,root,root) /%{_lib}/librpmbuild.so.%{sover}
944 %attr(755,root,root) /%{_lib}/librpmio.so.9
945 %attr(755,root,root) /%{_lib}/librpmio.so.%{sover}
946 %attr(755,root,root) /%{_lib}/librpmsign.so.9
947 %attr(755,root,root) /%{_lib}/librpmsign.so.%{sover}
948 %{?with_plugins:%dir %{_libdir}/rpm-plugins}
951 %defattr(644,root,root,755)
952 %attr(755,root,root) %{_libdir}/librpm.so
953 %attr(755,root,root) %{_libdir}/librpmbuild.so
954 %attr(755,root,root) %{_libdir}/librpmio.so
955 %attr(755,root,root) %{_libdir}/librpmsign.so
956 %{_libdir}/librpm*.la
958 %{_pkgconfigdir}/*.pc
961 %defattr(644,root,root,755)
962 %attr(755,root,root) %{_bindir}/rpm2archive
963 %attr(755,root,root) %{_bindir}/rpm2cpio
964 %attr(755,root,root) %{_bindir}/rpmgraph
965 %attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
966 %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
967 %attr(755,root,root) %{_rpmlibdir}/rpmdb_loadcvt
968 %attr(755,root,root) %{_rpmlibdir}/tgpg
969 %attr(755,root,root) %{_rpmlibdir}/debugedit
970 %attr(755,root,root) %{_rpmlibdir}/rpmdeps
971 %{_mandir}/man8/rpm2cpio.8*
972 %{_mandir}/man8/rpmdeps.8*
973 %{_mandir}/man8/rpmgraph.8*
974 %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
975 %lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
976 %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
977 %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
978 %lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
979 %lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
980 %lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
983 %defattr(644,root,root,755)
984 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
985 %attr(755,root,root) %{_rpmlibdir}/brp-*
986 %attr(755,root,root) %{_rpmlibdir}/check-files
987 %attr(755,root,root) %{_rpmlibdir}/compress-doc
988 %attr(755,root,root) %{_rpmlibdir}/find-spec-bcond
989 %attr(755,root,root) %{_rpmlibdir}/install-build-tree
990 %attr(755,root,root) %{_rpmlibdir}/elfdeps
991 %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
992 %attr(755,root,root) %{_rpmlibdir}/mimetypedeps.sh
993 # needs hacked pkg-config to return anything
994 %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
995 %attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
996 # we always used scripts provided by mono-devel, maybe move them here
997 #%attr(755,root,root) %{_rpmlibdir}/mono-find-provides
998 #%attr(755,root,root) %{_rpmlibdir}/mono-find-requires
1000 %attr(755,root,root) %{_rpmlibdir}/fontconfig.prov
1001 # must be here for "Requires: rpm-*prov" to work
1002 #%{_rpmlibdir}/macros.d/cmake
1003 #%{_rpmlibdir}/macros.d/gstreamer
1004 #%{_rpmlibdir}/macros.d/libtool
1005 #%{_rpmlibdir}/macros.d/mono
1006 #%{_rpmlibdir}/macros.d/perl
1007 #%{_rpmlibdir}/macros.d/pkgconfig
1008 #%{_rpmlibdir}/macros.d/python
1009 #%{_rpmlibdir}/macros.d/selinux
1010 #%{_rpmlibdir}/macros.d/tcl
1011 #%{_rpmlibdir}/macros.rpmbuild
1013 %attr(755,root,root) %{_rpmlibdir}/check-buildroot
1014 %attr(755,root,root) %{_rpmlibdir}/check-prereqs
1015 %attr(755,root,root) %{_rpmlibdir}/check-rpaths
1016 %attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
1017 %attr(755,root,root) %{_rpmlibdir}/debuginfo.prov
1018 %attr(755,root,root) %{_rpmlibdir}/desktop-file.prov
1019 %attr(755,root,root) %{_rpmlibdir}/find-provides
1020 %attr(755,root,root) %{_rpmlibdir}/find-requires
1021 %attr(755,root,root) %{_rpmlibdir}/metainfo.prov
1022 %attr(755,root,root) %{_rpmlibdir}/ocaml-find-provides.sh
1023 %attr(755,root,root) %{_rpmlibdir}/ocaml-find-requires.sh
1024 %attr(755,root,root) %{_rpmlibdir}/script.req
1025 %attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
1026 # Fedora has this in -build, but shouldn't this be in -devel?
1027 %attr(755,root,root) %{_rpmlibdir}/config.guess
1028 %attr(755,root,root) %{_rpmlibdir}/config.sub
1030 %dir %{_rpmlibdir}/fileattrs
1031 %{_rpmlibdir}/fileattrs/debuginfo.attr
1032 %{_rpmlibdir}/fileattrs/desktop.attr
1033 %{_rpmlibdir}/fileattrs/elf.attr
1034 %{_rpmlibdir}/fileattrs/font.attr
1035 %{_rpmlibdir}/fileattrs/libtool.attr
1036 %{_rpmlibdir}/fileattrs/metainfo.attr
1037 %{_rpmlibdir}/fileattrs/ocaml.attr
1038 %{_rpmlibdir}/fileattrs/perl.attr
1039 %{_rpmlibdir}/fileattrs/perllib.attr
1040 %{_rpmlibdir}/fileattrs/pkgconfig.attr
1041 %{_rpmlibdir}/fileattrs/python.attr
1042 %{_rpmlibdir}/fileattrs/pythondist.attr
1043 %{_rpmlibdir}/fileattrs/script.attr
1045 %attr(755,root,root) %{_bindir}/gendiff
1046 %attr(755,root,root) %{_bindir}/rpmbuild
1047 %attr(755,root,root) %{_bindir}/rpmspec
1049 %{_mandir}/man1/gendiff.1*
1050 %lang(pl) %{_mandir}/pl/man1/gendiff.1*
1051 %{_mandir}/man8/rpmbuild.8*
1052 %lang(ja) %{_mandir}/ja/man8/rpmbuild.8*
1053 %lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
1054 %{_mandir}/man8/rpmspec.8*
1057 %defattr(644,root,root,755)
1058 %attr(755,root,root) %{_rpmlibdir}/perl.*
1061 %defattr(644,root,root,755)
1062 %attr(755,root,root) %{_rpmlibdir}/pythondeps.sh
1063 %attr(755,root,root) %{_rpmlibdir}/pythondistdeps.py
1066 %files -n python-rpm
1067 %defattr(644,root,root,755)
1068 %dir %{py_sitedir}/rpm
1069 %attr(755,root,root) %{py_sitedir}/rpm/*.so
1070 %{py_sitedir}/rpm/*.py[co]
1071 %{py_sitedir}/rpm-%{version}-py*.egg-info
1075 %files -n python3-rpm
1076 %defattr(644,root,root,755)
1077 %dir %{py3_sitedir}/rpm
1078 %attr(755,root,root) %{py3_sitedir}/rpm/*.so
1079 %{py3_sitedir}/rpm/*.py
1080 %{py3_sitedir}/rpm-%{version}-py*.egg-info
1081 %{py3_sitedir}/rpm/__pycache__
1086 %defattr(644,root,root,755)
1087 %attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
1089 %files plugin-syslog
1090 %defattr(644,root,root,755)
1091 %attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
1093 %files plugin-systemd-inhibit
1094 %defattr(644,root,root,755)
1095 %attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so
1096 %{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
1099 %defattr(644,root,root,755)
1100 %attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
1102 %files plugin-prioreset
1103 %defattr(644,root,root,755)
1104 %attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
1106 %files plugin-selinux
1107 %defattr(644,root,root,755)
1108 %attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
1112 %defattr(644,root,root,755)
1113 %attr(755,root,root) %{_bindir}/rpmsign
1114 %{_mandir}/man8/rpmsign.8*
1118 %defattr(644,root,root,755)
1119 %doc doc/librpm/html/*