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
51 Source12: %{name}-user_group.sh
52 Source13: %{name}.sysconfig
53 # http://svn.pld-linux.org/banner.sh/
55 Source16: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
56 # Source16-md5: 23914bb49fafe7153cee87126d966461
57 Source17: %{name}-mimetypedeps
58 Source18: macros.local
59 Source19: %{name}.noautocompressdoc
60 Source20: %{name}.noautoprov
61 Source21: %{name}.noautoprovfiles
62 Source22: %{name}.noautoreq
63 Source24: %{name}.noautoreqfiles
64 Source26: %{name}db_checkversion.c
66 Source28: %{name}db_reset.c
67 Source29: dbupgrade.sh
69 Patch0: %{name}-man_pl.patch
70 Patch1: %{name}-popt-aliases.patch
71 Patch2: %{name}-perl-macros.patch
72 Patch3: %{name}-perl-req-perlfile.patch
73 Patch4: %{name}-scripts-closefds.patch
74 Patch6: %{name}-lua.patch
75 Patch7: %{name}-perl_req-INC_dirs.patch
76 Patch8: %{name}-debuginfo.patch
77 Patch10: %{name}-libtool-deps.patch
78 Patch11: %{name}-builddir-readlink.patch
79 Patch12: %{name}-changelog_order_check_nonfatal.patch
80 Patch13: %{name}-postun-nofail.patch
81 Patch14: %{name}-clean-docdir.patch
82 Patch15: %{name}-perl-magic.patch
83 Patch16: %{name}-ignore-missing-macro-files.patch
85 Patch18: %{name}-fix-compress-doc.patch
86 Patch20: rpm5-db-compat.patch
87 Patch21: python-internal-build.patch
89 BuildRequires: %{reqdb_pkg}-devel >= %{reqdb_pkgver}
90 BuildRequires: %{reqdb_pkg}-sql-devel >= %{reqdb_pkgver}
91 BuildRequires: autoconf >= 2.63
92 BuildRequires: automake >= 1.4
93 BuildRequires: bzip2-devel >= 1.0.2-17
94 BuildRequires: elfutils-devel >= 0.108
95 BuildRequires: gettext-tools >= 0.19.2
96 BuildRequires: libarchive-devel
97 BuildRequires: libmagic-devel
98 BuildRequires: openssl-devel >= %{openssl_ver}
100 BuildRequires: audit-libs-devel
101 BuildRequires: dbus-devel
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: lua53-devel >= 5.3.5
108 BuildRequires: ossp-uuid-devel
109 BuildRequires: patch >= 2.2
110 BuildRequires: popt-devel >= %{reqpopt_ver}
111 %{?with_python2:BuildRequires: python-devel >= 1:2.3}
112 %{?with_python3:BuildRequires: python3-devel}
113 BuildRequires: python-modules >= 1:2.3
114 %if %{with python2} || %{with python3}
115 BuildRequires: rpm-pythonprov
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: FHS >= 3.0-2
131 Requires: openssl >= %{openssl_ver}
132 Requires: popt >= %{reqpopt_ver}
133 %if %{with recommends_tags}
134 Recommends: rpm-plugin-audit
135 Recommends: rpm-plugin-prioreset
136 Recommends: rpm-plugin-syslog
137 Recommends: rpm-plugin-systemd-inhibit
139 Provides: rpm-db-ver = %{reqdb_ver}
140 Obsoletes: rpm-getdeps
141 Obsoletes: rpm-utils-perl
142 Obsoletes: rpm-utils-static
143 Conflicts: glibc < 2.2.92
144 # db4.6 poldek needed
145 Conflicts: poldek < 0.21-0.20070703.00.3
146 # segfaults with lzma 0.42.2
147 Conflicts: lzma-libs < 4.999.3
148 Conflicts: util-vserver < 0.30.216-1.pre3034.7
149 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
151 %define _binary_payload w9.gzdio
153 # don't require very fresh rpm.macros to build
154 %define find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT
155 %define ix86 i386 i486 i586 i686 athlon geode pentium3 pentium4
156 %define ppc ppc ppc7400 ppc7450
157 %define x8664 amd64 ia32e x86_64
159 %define _rpmlibdir /usr/lib/rpm
160 %define _noautocompressdoc RPM-GPG-KEY
163 RPM is a powerful package manager, which can be used to build,
164 install, query, verify, update, and uninstall individual software
165 packages. A package consists of an archive of files, and package
166 information, including name, version, and description.
168 %description -l de.UTF-8
169 RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur
170 Installation, Anfrage, Verifizierung, Aktualisierung und
171 Uninstallation individueller Softwarepakete. Ein Paket besteht aus
172 einem Archiv Dateien und Paketinformation, inklusive Name, Version und
175 %description -l es.UTF-8
176 RPM es un poderoso administrador de paquetes, que puede ser usado para
177 construir, instalar, pesquisar, verificar, actualizar y desinstalar
178 paquetes individuales de software. Un paquete consiste en un
179 almacenaje de archivos, y información sobre el paquete, incluyendo
180 nombre, versión y descripción.
182 %description -l pl.UTF-8
183 RPM jest doskonałym programem zarządzającym pakietami. Umożliwia on
184 przebudowanie, instalację czy weryfikację dowolnego pakietu.
185 Informacje dotyczące każdego pakietu, takie jak jego opis, lista
186 plików wchodzących w skład pakietu, zależności od innych pakietów, są
187 przechowywane w bazie danych i można je uzyskać za pomocą opcji
188 odpytywania programu rpm.
190 %description -l pt_BR.UTF-8
191 RPM é um poderoso gerenciador de pacotes, que pode ser usado para
192 construir, instalar, pesquisar, verificar, atualizar e desinstalar
193 pacotes individuais de software. Um pacote consiste de um conjunto de
194 arquivos e informações adicionais, incluindo nome, versão e descrição
195 do pacote, permissões dos arquivos, etc.
197 %description -l ru.UTF-8
198 RPM - это мощный менеджер пакетов, который может быть использован для
199 создания, инсталляции, запросов (query), проверки, обновления и
200 удаления программных пакетов. Пакет состоит из файлового архива и
201 служебной информации, включающей название, версию, описание и другие
204 %description -l uk.UTF-8
205 RPM - це потужний менеджер пакетів, що може бути використаний для
206 створення, інсталяції, запитів (query), перевірки, поновлення та
207 видалення програмних пакетів. Пакет складається з файлового архіву та
208 службової інформації, що містить назву, версію, опис та іншу
209 інформацію про пакет.
212 Summary: RPM base package - scripts used by rpm packages themselves
213 Summary(pl.UTF-8): Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
216 Obsoletes: rpm-scripts
217 Obsoletes: vserver-rpm
220 The RPM base package contains scripts used by rpm packages themselves.
222 - scripts for adding/removing groups and users needed for rpm
224 - banner.sh to display %%banner messages from rpm scriptlets.
226 %description base -l pl.UTF-8
227 Pakiet podstawowy RPM zwiera skrypty używane przez same pakiety rpm.
229 - skrypty dodające/usuwające grupy i użytkowników dla pakietów rpm,
230 - banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
233 Summary: RPMs library
234 Summary(pl.UTF-8): Biblioteki RPM-a
236 Requires: %{reqdb_pkg} >= %{reqdb_pkgver}
237 Requires: %{reqdb_pkg}-sql >= %{reqdb_pkgver}
238 Requires: libmagic >= 1.15-2
239 Requires: openssl >= %{openssl_ver}
240 Requires: popt >= %{reqpopt_ver}
242 # avoid SEGV caused by mixed db versions
243 Conflicts: poldek < 0.18.1-16
248 %description lib -l pl.UTF-8
252 Summary: Header files for rpm libraries
253 Summary(de.UTF-8): Header-Dateien für rpm Libraries
254 Summary(es.UTF-8): Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
255 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek rpm
256 Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
257 Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами
258 Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm
259 Group: Development/Libraries
260 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
261 Requires: %{reqdb_pkg}-devel >= %{reqdb_pkgver}
262 Requires: bzip2-devel
263 Requires: elfutils-devel
264 Requires: libmagic-devel
265 Requires: openssl-devel >= %{openssl_ver}
267 Requires: libselinux-devel
268 Requires: libsemanage-devel
269 Requires: libsepol-devel
271 Requires: popt-devel >= %{reqpopt_ver}
275 The RPM packaging system includes C libraries that make it easy to
276 manipulate RPM packages and databases. They are intended to ease the
277 creation of graphical package managers and other tools that need
278 intimate knowledge of RPM packages. This package contains header files
281 %description devel -l de.UTF-8
282 Der RPM-Packensystem enthält eine C-Library, die macht es einfach
283 RPM-Pakete und Dateibanken zu manipulieren. Er eignet sich für
284 Vereinfachung des Schaffens grafischer Paket-Manager und anderer
285 Werkzeuge, die intime Kenntnis von RPM-Paketen brauchen.
287 %description devel -l es.UTF-8
288 El sistema de empaquetado RPM incluye una biblioteca C que vuelve
289 fácil la manipulación de paquetes y bases de datos RPM. Su objetivo es
290 facilitar la creación de administradores gráficos de paquetes y otras
291 herramientas que necesiten un conocimiento profundo de paquetes RPM.
293 %description devel -l pl.UTF-8
294 System RPM zawiera biblioteki C, które ułatwiają manipulowanie
295 pakietami RPM oraz bazami danych. W zamiarze ma to uprościć tworzenie
296 graficznych programów zarządzających pakietami oraz innych narzędzi,
297 które wymagają szczegółowej wiedzy na temat pakietów RPM. Ten pakiet
298 zawiera pliki nagłówkowe wspomnianych bibliotek.
300 %description devel -l pt_BR.UTF-8
301 O sistema de empacotamento RPM inclui uma biblioteca C que torna fácil
302 a manipulação de pacotes e bases de dados RPM. Seu objetivo é
303 facilitar a criação de gerenciadores gráficos de pacotes e outras
304 ferramentas que precisem de conhecimento profundo de pacotes RPM.
306 %description devel -l ru.UTF-8
307 Система управления пакетами RPM содержит библиотеку C, которая
308 упрощает манипуляцию пакетами RPM и соответствующими базами данных.
309 Эта библиотека предназначена для облегчения создания графических
310 пакетных менеджеров и других утилит, которым необходимо работать с
313 %description devel -l uk.UTF-8
314 Система керування пакетами RPM містить бібліотеку C, котра спрощує
315 роботу з пакетами RPM та відповідними базами даних. Ця бібліотека
316 призначена для полегшення створення графічних пакетних менеджерів та
317 інших утиліт, що працюють з пакетами RPM.
320 Summary: Additional utilities for managing RPM packages and database
321 Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
322 Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
323 Group: Applications/File
324 Requires: %{name} = %{epoch}:%{version}-%{release}
325 Requires: popt >= %{reqpopt_ver}
326 %if %{with recommends_tags}
330 Conflicts: filesystem-debuginfo < 3.0-16
333 Additional utilities for managing RPM packages and database.
335 %description utils -l de.UTF-8
336 Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
338 %description utils -l pl.UTF-8
339 Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
342 Summary: Scripts for building binary RPM packages
343 Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
344 Summary(pl.UTF-8): Skrypty pomocnicze do budowania binarnych RPM-ów
345 Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes
346 Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
347 Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
348 Group: Applications/File
349 Requires(pretrans): coreutils
350 Requires(pretrans): findutils
351 Requires: %{name}-build-macros >= 1.712
352 Requires: %{name}-utils = %{epoch}:%{version}-%{release}
356 Requires: chrpath >= 0.10-4
360 Requires: file >= 4.17
364 Requires: gcc >= 3.0.3
368 Requires: glibc-devel
375 Requires: tar >= 1:1.22
379 Provides: rpmbuild(noauto) = 3
381 Conflicts: automake < 1:1.7.9-2
382 Conflicts: libtool < 2:1.5-13
386 Scripts for building binary RPM packages.
388 %description build -l de.UTF-8
389 Scripts fürs Bauen binärer RPM-Pakete.
391 %description build -l pl.UTF-8
392 Skrypty pomocnicze do budowania binarnych RPM-ów.
394 %description build -l pt_BR.UTF-8
395 Este pacote contém scripts e programas executáveis que são usados para
396 construir pacotes usando o RPM.
398 %description build -l ru.UTF-8
399 Различные вспомогательные скрипты и исполняемые программы, которые
400 используются для сборки RPM'ов.
402 %description build -l uk.UTF-8
403 Різноманітні допоміжні скрипти та утиліти, які використовуються для
407 Summary: Additional utilities for checking Perl provides/requires in RPM packages
408 Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
409 Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
410 Group: Applications/File
411 Requires: %{name} = %{epoch}:%{version}-%{release}
412 Requires: perl-Encode
414 Requires: perl-modules
416 %description perlprov
417 Additional utilities for checking Perl provides/requires in RPM
420 %description perlprov -l de.UTF-8
421 Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen.
423 %description perlprov -l pl.UTF-8
424 Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
428 Summary: Python macros, which simplifies creation of RPM packages with Python software
429 Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
430 Group: Applications/File
431 Requires: %{name} = %{epoch}:%{version}-%{release}
433 Requires: python-modules
434 Requires: python-setuptools
436 %description pythonprov
437 Python macros, which simplifies creation of RPM packages with Python
440 %description pythonprov -l pl.UTF-8
441 Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
444 %package -n python-rpm
445 Summary: Python interface to RPM library
446 Summary(pl.UTF-8): Pythonowy interfejs do biblioteki RPM-a
447 Summary(pt_BR.UTF-8): Módulo Python para aplicativos que manipulam pacotes RPM
448 Group: Development/Languages/Python
449 Requires: %{name} = %{epoch}:%{version}-%{release}
451 Obsoletes: rpm-python
453 %description -n python-rpm
454 The python-rpm package contains a module which permits applications
455 written in the Python programming language to use the interface
456 supplied by RPM (RPM Package Manager) libraries.
458 This package should be installed if you want to develop Python
459 programs that will manipulate RPM packages and databases.
461 %description -n python-rpm -l pl.UTF-8
462 Pakiet python-rpm zawiera moduł, który pozwala aplikacjom napisanym w
463 Pythonie na używanie interfejsu dostarczanego przez biblioteki RPM-a.
465 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
466 Pythonie programy manipulujące pakietami i bazami danych rpm.
468 %description -n python-rpm -l pt_BR.UTF-8
469 O pacote python-rpm contém um módulo que permite que aplicações
470 escritas em Python utilizem a interface fornecida pelas bibliotecas
471 RPM (RPM Package Manager).
473 Esse pacote deve ser instalado se você quiser desenvolver programas em
474 Python para manipular pacotes e bancos de dados RPM.
476 %package -n python3-rpm
477 Summary: Python 3 interface to RPM library
478 Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki RPM-a
479 Summary(pt_BR.UTF-8): Módulo Python 3 para aplicativos que manipulam pacotes RPM
480 Group: Development/Languages/Python
481 Requires: %{name} = %{epoch}:%{version}-%{release}
484 %description -n python3-rpm
485 The python3-rpm package contains a module which permits applications
486 written in the Python 3 programming language to use the interface
487 supplied by RPM (RPM Package Manager) libraries.
489 This package should be installed if you want to develop Python 3
490 programs that will manipulate RPM packages and databases.
492 %description -n python3-rpm -l pl.UTF-8
493 Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w
494 Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki RPM-a.
496 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
497 Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
499 %description -n python3-rpm -l pt_BR.UTF-8
500 O pacote python3-rpm contém um módulo que permite que aplicações
501 escritas em Python 3 utilizem a interface fornecida pelas bibliotecas
502 RPM (RPM Package Manager).
504 Esse pacote deve ser instalado se você quiser desenvolver programas em
505 Python 3 para manipular pacotes e bancos de dados RPM.
507 %package plugin-audit
508 Summary: Plugin for logging audit events on package operations
510 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
512 %description plugin-audit
513 Plugin for libaudit support
515 %package plugin-syslog
516 Summary: Plugin for syslog functionality
518 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
520 %description plugin-syslog
521 This plugin exports RPM actions to the system log.
523 %package plugin-systemd-inhibit
524 Summary: Plugin for systemd inhibit functionality
526 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
528 %description plugin-systemd-inhibit
529 This plugin blocks systemd from entering idle, sleep or shutdown while
530 an rpm transaction is running using the systemd-inhibit mechanism.
533 Summary: Plugin for IMA file signatures
535 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
537 %description plugin-ima
538 This plugin adds support for enforcing and verifying IMA file
539 signatures in an rpm.
541 %package plugin-prioreset
542 Summary: Plugin for resetting scriptlet priorities for SysV init
544 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
546 %description plugin-prioreset
547 This plugin is useful on legacy SysV init systems if you run rpm
548 transactions with nice/ionice priorities. Should not be used on
551 %package plugin-selinux
552 Summary: Plugin for SELinux functionality
554 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
555 Requires: libselinux >= 2.1.0
557 %description plugin-selinux
558 Plugin for SELinux functionality.
561 Summary: Package signing support
563 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
566 This package contains support for digitally signing RPM packages.
569 Summary: RPM API documentation and guides
570 Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki
575 Documentation for RPM API and guides in HTML format generated from rpm
578 %description apidocs -l pl.UTF-8
579 Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
580 źrodeł RPM-a przez doxygen.
583 %setup -q -n %{name}-%{version}%{?subver}
604 install %{SOURCE11} scripts/perl.prov.in
606 %{__mv} -f scripts/perl.req{,.in}
608 # generate Group translations to *.po
609 awk -f %{SOURCE6} %{SOURCE1}
611 install %{SOURCE26} tools/rpmdb_checkversion.c
612 install %{SOURCE28} tools/rpmdb_reset.c
614 %{__sed} -i -e '1s,/usr/bin/python,%{__python},' scripts/pythondistdeps.py
623 # rpm checks for CPU type at runtime, but it looks better
625 -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
626 -e 's|@host_cpu@|%{_target_cpu}|' \
627 -e 's|@host_os@|%{_target_os}|' \
630 CPPFLAGS="-I/usr/include/lua53 %{rpmcppflags}"
632 WITH_PERL_VERSION=no \
633 __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
634 __GPG=%{_bindir}/gpg \
635 %{?with_python3:PYTHON=python3} \
636 %{!?with_python3:%{?with_python2:PYTHON=python2}} \
637 --disable-silent-rules \
641 --with-crypto=openssl \
647 %if %{with python2} || %{with python3}
650 --with-selinux=%{!?with_plugins:no}%{?with_plugins:yes} \
651 %{!?with_plugins:--disable-plugins} \
654 # --enable-ndb (EXPERIMENTAL) enable the new rpm database format
655 # --enable-lmdb=[yes/no/auto] (EXPERIMENTAL) build with LMDB rpm database format support (default=auto)
656 # --with-imaevm build with imaevm support
660 %{__cc} %{rpmcflags} -I/usr/include/db%{reqdb_ver} tools/rpmdb_checkversion.c \
661 -o tools/rpmdb_checkversion -ldb-%{reqdb_ver}
662 %{__cc} %{rpmcflags} -I/usr/include/db%{reqdb_ver} tools/rpmdb_reset.c \
663 -o tools/rpmdb_reset -ldb-%{reqdb_ver}
665 if tools/rpmdb_checkversion -V 2>&1 | grep "t match library version"; then
666 echo "Error linking rpmdb tools!"
669 if tools/rpmdb_reset -V 2>&1 | grep "t match library version"; then
670 echo "Error linking rpmdb tools!"
686 rm -rf $RPM_BUILD_ROOT
687 install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
688 $RPM_BUILD_ROOT{/var/lib/{banner,rpm},/var/cache/hrmib}
690 cp -p %{SOURCE16} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
693 pkgconfigdir=%{_pkgconfigdir} \
694 DESTDIR=$RPM_BUILD_ROOT
697 %ifnarch %{ix86} %{x8664} x32
698 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/athlon-linux/macros
699 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/geode-linux/macros
700 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i386-linux/macros
701 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i486-linux/macros
702 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i586-linux/macros
703 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i686-linux/macros
704 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium3-linux/macros
705 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium4-linux/macros
708 %ifnarch %{x8664} x32
709 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/amd64-linux/macros
710 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia32e-linux/macros
711 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x32-linux/macros
712 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x86_64-linux/macros
716 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/m68k-linux/macros
717 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc32dy4-linux/macros
718 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc64*-linux/macros
719 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8260-linux/macros
720 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8560-linux/macros
721 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros
722 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros
725 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
726 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros
727 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
728 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros
729 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros
730 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros
731 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros
732 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros
733 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros
735 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
737 install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld
738 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_rpmlibdir}/pld/macros
739 cp -p %{SOURCE32} $RPM_BUILD_ROOT%{_rpmlibdir}/pld/rpmrc
741 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
742 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_rpmlibdir}/find-spec-bcond
743 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/compress-doc
744 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
745 cp -p %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/mimetypedeps.sh
746 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
747 cp -p %{SOURCE13} $RPM_BUILD_ROOT/etc/sysconfig/rpm
749 cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_bindir}/banner.sh
751 cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
752 cp -p %{SOURCE27} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
753 cp -p %{SOURCE19} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc
754 cp -p %{SOURCE20} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
755 cp -p %{SOURCE21} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
756 cp -p %{SOURCE22} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
757 cp -p %{SOURCE24} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
759 cp -p tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/
760 cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/
761 cp -p %{SOURCE29} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh
764 %{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
765 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
766 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmverify
768 # move essential libs to /lib (libs that /bin/rpm links to)
769 for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
770 mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib}
771 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
774 #./rpmdb --macros=macros --rcfile=rpmrc --dbpath=/home/users/baggins/devel/PLD/rpm/BUILD/rpm-4.15.1/x/ --initdb
777 # Remove anything that rpm make install might put there
778 %{__rm} -rf $RPM_BUILD_ROOT%{py_sitedir}
786 # Remove anything that rpm make install might put there
787 %{__rm} -rf $RPM_BUILD_ROOT%{py3_sitedir}
793 %{__rm} $RPM_BUILD_ROOT%{_libdir}/rpm-plugins/*.la
795 # wrong location, not used anyway
796 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log}
801 rm -rf $RPM_BUILD_ROOT
804 if [ -e /var/lib/rpm/Packages ] && \
805 ! %{_rpmlibdir}/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then
806 if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
807 /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
809 echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
813 echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
814 echo 'you should ignore it and restart poldek'
816 %{_rpmlibdir}/dbupgrade.sh
819 %triggerpostun -- %{name} < 4.4.9-44
820 %{_rpmlibdir}/hrmib-cache
822 %post lib -p /sbin/ldconfig
823 %postun lib -p /sbin/ldconfig
826 find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
828 %files -f %{name}.lang
829 %defattr(644,root,root,755)
830 %doc ChangeLog CREDITS README
832 %dir /etc/pki/rpm-gpg
833 /etc/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
835 %attr(755,root,root) /bin/rpm
836 %attr(755,root,root) %{_bindir}/rpmdb
837 %attr(755,root,root) %{_bindir}/rpmkeys
838 %attr(755,root,root) %{_bindir}/rpmquery
839 %attr(755,root,root) %{_bindir}/rpmverify
841 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
842 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
844 %{_mandir}/man8/rpm.8*
845 %{_mandir}/man8/rpmdb.8*
846 %{_mandir}/man8/rpmkeys.8*
847 %{_mandir}/man8/rpm-misc.8*
848 %lang(fr) %{_mandir}/fr/man8/rpm.8*
849 %lang(ja) %{_mandir}/ja/man8/rpm.8*
850 %lang(ko) %{_mandir}/ko/man8/rpm.8*
851 %lang(pl) %{_mandir}/pl/man8/rpm.8*
852 %lang(ru) %{_mandir}/ru/man8/rpm.8*
853 %lang(sk) %{_mandir}/sk/man8/rpm.8*
857 # exported package NVRA (stamped with install tid)
858 # net-snmp hrSWInstalledName queries, bash-completions
859 %dir /var/cache/hrmib
861 %{_rpmlibdir}/rpmpopt*
864 %dir %{_rpmlibdir}/macros.d
865 %dir %{_rpmlibdir}/platform
866 %{_rpmlibdir}/platform/noarch-*
867 %ifarch %{ix86} %{x8664} x32
868 %{_rpmlibdir}/platform/athlon*
869 %{_rpmlibdir}/platform/geode*
870 %{_rpmlibdir}/platform/i?86*
871 %{_rpmlibdir}/platform/pentium*
874 %{_rpmlibdir}/platform/amd64*
875 %{_rpmlibdir}/platform/ia32e*
876 %{_rpmlibdir}/platform/x86_64*
877 %{_rpmlibdir}/platform/x32*
880 %{_rpmlibdir}/platform/alpha*
883 %{_rpmlibdir}/platform/ia64*
885 %ifarch mips mipsel mips64 mips64el
886 %{_rpmlibdir}/platform/mips*
889 %{_rpmlibdir}/platform/ppc*
891 %ifarch sparc sparc64
892 %{_rpmlibdir}/platform/sparc*
895 %{_rpmlibdir}/pld/macros
896 %{_rpmlibdir}/pld/rpmrc
898 %attr(755,root,root) %{_rpmlibdir}/hrmib-cache
900 %attr(755,root,root) %{_rpmlibdir}/dbupgrade.sh
901 %attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion
902 %attr(755,root,root) %{_rpmlibdir}/rpmdb_reset
904 # valgrind suppression file for rpm
905 %{_rpmlibdir}/rpm.supp
908 %defattr(644,root,root,755)
909 %dir %{_sysconfdir}/rpm
910 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
912 %attr(755,root,root) %{_bindir}/banner.sh
913 %attr(755,root,root) %{_rpmlibdir}/user_group.sh
917 %defattr(644,root,root,755)
918 %attr(755,root,root) /%{_lib}/librpm.so.9
919 %attr(755,root,root) /%{_lib}/librpm.so.%{sover}
920 %attr(755,root,root) /%{_lib}/librpmbuild.so.9
921 %attr(755,root,root) /%{_lib}/librpmbuild.so.%{sover}
922 %attr(755,root,root) /%{_lib}/librpmio.so.9
923 %attr(755,root,root) /%{_lib}/librpmio.so.%{sover}
924 %attr(755,root,root) /%{_lib}/librpmsign.so.9
925 %attr(755,root,root) /%{_lib}/librpmsign.so.%{sover}
926 %{?with_plugins:%dir %{_libdir}/rpm-plugins}
929 %defattr(644,root,root,755)
930 %attr(755,root,root) %{_libdir}/librpm.so
931 %attr(755,root,root) %{_libdir}/librpmbuild.so
932 %attr(755,root,root) %{_libdir}/librpmio.so
933 %attr(755,root,root) %{_libdir}/librpmsign.so
934 %{_libdir}/librpm*.la
936 %{_pkgconfigdir}/*.pc
939 %defattr(644,root,root,755)
940 %attr(755,root,root) %{_bindir}/rpm2archive
941 %attr(755,root,root) %{_bindir}/rpm2cpio
942 %attr(755,root,root) %{_bindir}/rpmgraph
943 %attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
944 %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
945 %attr(755,root,root) %{_rpmlibdir}/rpmdb_loadcvt
946 %attr(755,root,root) %{_rpmlibdir}/tgpg
947 %attr(755,root,root) %{_rpmlibdir}/debugedit
948 %attr(755,root,root) %{_rpmlibdir}/rpmdeps
949 %{_mandir}/man8/rpm2cpio.8*
950 %{_mandir}/man8/rpmdeps.8*
951 %{_mandir}/man8/rpmgraph.8*
952 %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
953 %lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
954 %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
955 %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
956 %lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
957 %lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
958 %lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
961 %defattr(644,root,root,755)
962 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
963 %attr(755,root,root) %{_rpmlibdir}/brp-*
964 %attr(755,root,root) %{_rpmlibdir}/check-files
965 %attr(755,root,root) %{_rpmlibdir}/compress-doc
966 %attr(755,root,root) %{_rpmlibdir}/find-spec-bcond
967 %attr(755,root,root) %{_rpmlibdir}/install-build-tree
968 %attr(755,root,root) %{_rpmlibdir}/elfdeps
969 %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
970 %attr(755,root,root) %{_rpmlibdir}/mimetypedeps.sh
971 # needs hacked pkg-config to return anything
972 %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
973 %attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
975 %attr(755,root,root) %{_rpmlibdir}/fontconfig.prov
976 # must be here for "Requires: rpm-*prov" to work
977 #%{_rpmlibdir}/macros.d/cmake
978 #%{_rpmlibdir}/macros.d/gstreamer
979 #%{_rpmlibdir}/macros.d/libtool
980 #%{_rpmlibdir}/macros.d/perl
981 #%{_rpmlibdir}/macros.d/pkgconfig
982 #%{_rpmlibdir}/macros.d/python
983 #%{_rpmlibdir}/macros.d/selinux
984 #%{_rpmlibdir}/macros.d/tcl
985 #%{_rpmlibdir}/macros.rpmbuild
987 %attr(755,root,root) %{_rpmlibdir}/check-buildroot
988 %attr(755,root,root) %{_rpmlibdir}/check-prereqs
989 %attr(755,root,root) %{_rpmlibdir}/check-rpaths
990 %attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
991 %attr(755,root,root) %{_rpmlibdir}/debuginfo.prov
992 %attr(755,root,root) %{_rpmlibdir}/desktop-file.prov
993 %attr(755,root,root) %{_rpmlibdir}/find-provides
994 %attr(755,root,root) %{_rpmlibdir}/find-requires
995 %attr(755,root,root) %{_rpmlibdir}/metainfo.prov
996 %attr(755,root,root) %{_rpmlibdir}/ocaml-find-provides.sh
997 %attr(755,root,root) %{_rpmlibdir}/ocaml-find-requires.sh
998 %attr(755,root,root) %{_rpmlibdir}/script.req
999 %attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
1000 # Fedora has this in -build, but shouldn't this be in -devel?
1001 %attr(755,root,root) %{_rpmlibdir}/config.guess
1002 %attr(755,root,root) %{_rpmlibdir}/config.sub
1004 %dir %{_rpmlibdir}/fileattrs
1005 %{_rpmlibdir}/fileattrs/debuginfo.attr
1006 %{_rpmlibdir}/fileattrs/desktop.attr
1007 %{_rpmlibdir}/fileattrs/elf.attr
1008 %{_rpmlibdir}/fileattrs/font.attr
1009 %{_rpmlibdir}/fileattrs/libtool.attr
1010 %{_rpmlibdir}/fileattrs/metainfo.attr
1011 %{_rpmlibdir}/fileattrs/ocaml.attr
1012 %{_rpmlibdir}/fileattrs/perl.attr
1013 %{_rpmlibdir}/fileattrs/perllib.attr
1014 %{_rpmlibdir}/fileattrs/pkgconfig.attr
1015 %{_rpmlibdir}/fileattrs/python.attr
1016 %{_rpmlibdir}/fileattrs/pythondist.attr
1017 %{_rpmlibdir}/fileattrs/script.attr
1019 %attr(755,root,root) %{_bindir}/gendiff
1020 %attr(755,root,root) %{_bindir}/rpmbuild
1021 %attr(755,root,root) %{_bindir}/rpmspec
1023 %{_mandir}/man1/gendiff.1*
1024 %lang(pl) %{_mandir}/pl/man1/gendiff.1*
1025 %{_mandir}/man8/rpmbuild.8*
1026 %lang(ja) %{_mandir}/ja/man8/rpmbuild.8*
1027 %lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
1028 %{_mandir}/man8/rpmspec.8*
1031 %defattr(644,root,root,755)
1032 %attr(755,root,root) %{_rpmlibdir}/perl.*
1035 %defattr(644,root,root,755)
1036 %attr(755,root,root) %{_rpmlibdir}/pythondeps.sh
1037 %attr(755,root,root) %{_rpmlibdir}/pythondistdeps.py
1040 %files -n python-rpm
1041 %defattr(644,root,root,755)
1042 %dir %{py_sitedir}/rpm
1043 %attr(755,root,root) %{py_sitedir}/rpm/*.so
1044 %{py_sitedir}/rpm/*.py[co]
1045 %{py_sitedir}/rpm-%{version}-py*.egg-info
1049 %files -n python3-rpm
1050 %defattr(644,root,root,755)
1051 %dir %{py3_sitedir}/rpm
1052 %attr(755,root,root) %{py3_sitedir}/rpm/*.so
1053 %{py3_sitedir}/rpm/*.py
1054 %{py3_sitedir}/rpm-%{version}-py*.egg-info
1055 %{py3_sitedir}/rpm/__pycache__
1060 %defattr(644,root,root,755)
1061 %attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
1063 %files plugin-syslog
1064 %defattr(644,root,root,755)
1065 %attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
1067 %files plugin-systemd-inhibit
1068 %defattr(644,root,root,755)
1069 %attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so
1070 %{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
1073 %defattr(644,root,root,755)
1074 %attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
1076 %files plugin-prioreset
1077 %defattr(644,root,root,755)
1078 %attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
1080 %files plugin-selinux
1081 %defattr(644,root,root,755)
1082 %attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
1086 %defattr(644,root,root,755)
1087 %attr(755,root,root) %{_bindir}/rpmsign
1088 %{_mandir}/man8/rpmsign.8*
1092 %defattr(644,root,root,755)
1093 %doc doc/librpm/html/*