3 # - when adopting, use 4.5 ticket for checklist: https://bugs.launchpad.net/pld-linux/+bug/262985
6 %bcond_without apidocs # don't generate documentation with doxygen
7 %bcond_without python2 # don't build python bindings
8 %bcond_without python3 # don't build python bindings
9 %bcond_without selinux # build without selinux support
10 %bcond_without recommends_tags # build without Recommends tag (bootstrapping)
11 %bcond_with db61 # use DB 6.1 instead of 5.3
13 # versions of required libraries
15 %define reqdb_pkg db6.1
17 %define reqdb_pkgver 6.1.19
19 %define reqdb_pkg db5.3
21 %define reqdb_pkgver 5.3.28.0
23 %define reqpopt_ver 1.15
24 %define openssl_ver 1.1.1d
27 Summary: RPM Package Manager
28 Summary(de.UTF-8): RPM Packet-Manager
29 Summary(es.UTF-8): Gestor de paquetes RPM
30 Summary(pl.UTF-8): Aplikacja do zarządzania pakietami RPM
31 Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM
32 Summary(ru.UTF-8): Менеджер пакетов от RPM
33 Summary(uk.UTF-8): Менеджер пакетів від RPM
37 License: GPL v2 / LGPL v2.1
39 Source0: http://ftp.rpm.org/releases/rpm-4.15.x/%{name}-%{version}.tar.bz2
40 # Source0-md5: ed72147451a5ed93b2a48e2f8f5413c3
41 Source1: %{name}.groups
42 Source2: macros.pld.in
43 Source3: %{name}-install-tree
44 Source4: %{name}-find-spec-bcond
45 Source5: %{name}-hrmib-cache
46 Source6: %{name}-groups-po.awk
47 Source7: %{name}-compress-doc
48 Source8: %{name}-php-provides
49 Source9: %{name}-php-requires
50 Source10: %{name}.sysinfo
52 Source12: %{name}-user_group.sh
53 Source13: %{name}.sysconfig
54 Source14: %{name}-java-requires
55 # http://svn.pld-linux.org/banner.sh/
57 Source16: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
58 # Source16-md5: 23914bb49fafe7153cee87126d966461
59 Source17: %{name}-mimetypedeps
60 Source18: macros.local
61 Source19: %{name}.noautocompressdoc
62 Source20: %{name}.noautoprov
63 Source21: %{name}.noautoprovfiles
64 Source22: %{name}.noautoreq
65 Source24: %{name}.noautoreqfiles
66 Source25: %{name}-php-requires.php
67 Source26: %{name}db_checkversion.c
69 Source28: %{name}db_reset.c
70 Source29: dbupgrade.sh
72 Source31: gem_helper.rb
73 Patch0: %{name}-man_pl.patch
74 Patch1: %{name}-popt-aliases.patch
75 Patch2: %{name}-perl-macros.patch
76 Patch3: %{name}-perl-req-perlfile.patch
77 Patch4: %{name}-scripts-closefds.patch
78 Patch5: %{name}-php-macros.patch
79 Patch6: %{name}-lua.patch
80 Patch7: %{name}-perl_req-INC_dirs.patch
81 Patch8: %{name}-debuginfo.patch
82 Patch9: %{name}-javadeps.patch
83 Patch10: %{name}-libtool-deps.patch
84 Patch11: %{name}-builddir-readlink.patch
85 Patch12: %{name}-changelog_order_check_nonfatal.patch
86 Patch13: %{name}-postun-nofail.patch
87 Patch14: %{name}-clean-docdir.patch
88 Patch15: %{name}-perl-magic.patch
89 Patch16: %{name}-ignore-missing-macro-files.patch
91 Patch18: %{name}-fix-compress-doc.patch
92 Patch19: vendor-pld.patch
94 BuildRequires: %{reqdb_pkg}-devel >= %{reqdb_pkgver}
95 BuildRequires: %{reqdb_pkg}-sql-devel >= %{reqdb_pkgver}
96 BuildRequires: autoconf >= 2.63
97 BuildRequires: automake >= 1.4
98 BuildRequires: bzip2-devel >= 1.0.2-17
99 BuildRequires: elfutils-devel >= 0.108
100 BuildRequires: gettext-tools >= 0.19.2
101 BuildRequires: libarchive-devel
102 BuildRequires: libmagic-devel
103 BuildRequires: openssl-devel >= %{openssl_ver}
105 BuildRequires: libselinux-devel >= 2.1.0
106 BuildRequires: libsemanage-devel >= 2.1.0
107 BuildRequires: libsepol-devel >= 2.1.0
109 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
110 BuildRequires: libstdc++-devel
111 BuildRequires: libtool >= 1:1.4.2-9
112 BuildRequires: lua53-devel >= 5.3.5
113 BuildRequires: ossp-uuid-devel
114 BuildRequires: patch >= 2.2
115 BuildRequires: popt-devel >= %{reqpopt_ver}
116 %{?with_python2:BuildRequires: python-devel >= 1:2.3}
117 %{?with_python3:BuildRequires: python3-devel}
118 BuildRequires: python-modules >= 1:2.3
119 %if %{with python2} || %{with python3}
120 BuildRequires: rpm-pythonprov
123 BuildRequires: xz-devel
124 BuildRequires: zlib-devel
125 BuildRequires: zstd-devel
127 BuildRequires: doxygen
128 BuildRequires: ghostscript
129 BuildRequires: graphviz
130 BuildRequires: tetex-pdftex
132 Requires(posttrans): coreutils
133 Requires: %{name}-base = %{version}-%{release}
134 Requires: %{name}-lib = %{version}-%{release}
135 Requires: FHS >= 3.0-2
136 Requires: openssl >= %{openssl_ver}
137 Requires: popt >= %{reqpopt_ver}
138 Provides: rpm-db-ver = %{reqdb_ver}
139 Obsoletes: rpm-getdeps
140 Obsoletes: rpm-utils-perl
141 Obsoletes: rpm-utils-static
142 Conflicts: glibc < 2.2.92
143 # db4.6 poldek needed
144 Conflicts: poldek < 0.21-0.20070703.00.3
145 # segfaults with lzma 0.42.2
146 Conflicts: lzma-libs < 4.999.3
147 Conflicts: util-vserver < 0.30.216-1.pre3034.7
148 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
150 %define _binary_payload w9.gzdio
152 # don't require very fresh rpm.macros to build
153 %define find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT
154 %define ix86 i386 i486 i586 i686 athlon geode pentium3 pentium4
155 %define ppc ppc ppc7400 ppc7450
156 %define x8664 amd64 ia32e x86_64
158 %define _rpmlibdir /usr/lib/rpm
159 %define _noautocompressdoc RPM-GPG-KEY
162 RPM is a powerful package manager, which can be used to build,
163 install, query, verify, update, and uninstall individual software
164 packages. A package consists of an archive of files, and package
165 information, including name, version, and description.
167 %description -l de.UTF-8
168 RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur
169 Installation, Anfrage, Verifizierung, Aktualisierung und
170 Uninstallation individueller Softwarepakete. Ein Paket besteht aus
171 einem Archiv Dateien und Paketinformation, inklusive Name, Version und
174 %description -l es.UTF-8
175 RPM es un poderoso administrador de paquetes, que puede ser usado para
176 construir, instalar, pesquisar, verificar, actualizar y desinstalar
177 paquetes individuales de software. Un paquete consiste en un
178 almacenaje de archivos, y información sobre el paquete, incluyendo
179 nombre, versión y descripción.
181 %description -l pl.UTF-8
182 RPM jest doskonałym programem zarządzającym pakietami. Umożliwia on
183 przebudowanie, instalację czy weryfikację dowolnego pakietu.
184 Informacje dotyczące każdego pakietu, takie jak jego opis, lista
185 plików wchodzących w skład pakietu, zależności od innych pakietów, są
186 przechowywane w bazie danych i można je uzyskać za pomocą opcji
187 odpytywania programu rpm.
189 %description -l pt_BR.UTF-8
190 RPM é um poderoso gerenciador de pacotes, que pode ser usado para
191 construir, instalar, pesquisar, verificar, atualizar e desinstalar
192 pacotes individuais de software. Um pacote consiste de um conjunto de
193 arquivos e informações adicionais, incluindo nome, versão e descrição
194 do pacote, permissões dos arquivos, etc.
196 %description -l ru.UTF-8
197 RPM - это мощный менеджер пакетов, который может быть использован для
198 создания, инсталляции, запросов (query), проверки, обновления и
199 удаления программных пакетов. Пакет состоит из файлового архива и
200 служебной информации, включающей название, версию, описание и другие
203 %description -l uk.UTF-8
204 RPM - це потужний менеджер пакетів, що може бути використаний для
205 створення, інсталяції, запитів (query), перевірки, поновлення та
206 видалення програмних пакетів. Пакет складається з файлового архіву та
207 службової інформації, що містить назву, версію, опис та іншу
208 інформацію про пакет.
211 Summary: RPM base package - scripts used by rpm packages themselves
212 Summary(pl.UTF-8): Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
215 Obsoletes: rpm-scripts
216 Obsoletes: vserver-rpm
219 The RPM base package contains scripts used by rpm packages themselves.
221 - scripts for adding/removing groups and users needed for rpm
223 - banner.sh to display %%banner messages from rpm scriptlets.
225 %description base -l pl.UTF-8
226 Pakiet podstawowy RPM zwiera skrypty używane przez same pakiety rpm.
228 - skrypty dodające/usuwające grupy i użytkowników dla pakietów rpm,
229 - banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
232 Summary: RPMs library
233 Summary(pl.UTF-8): Biblioteki RPM-a
235 Requires: %{reqdb_pkg} >= %{reqdb_pkgver}
236 Requires: %{reqdb_pkg}-sql >= %{reqdb_pkgver}
237 Requires: libmagic >= 1.15-2
238 %{?with_selinux:Requires: libselinux >= 2.1.0}
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 = %{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} = %{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: Additional utilities for managing RPM packages and database
343 Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
344 Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
345 Group: Applications/File
346 Requires: %{name}-utils = %{version}-%{release}
347 Requires: popt >= %{reqpopt_ver}
349 %description utils-perl
350 Additional utilities for managing RPM packages and database.
352 %description utils-perl -l de.UTF-8
353 Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
355 %description utils-perl -l pl.UTF-8
356 Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
359 Summary: Scripts for building binary RPM packages
360 Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
361 Summary(pl.UTF-8): Skrypty pomocnicze do budowania binarnych RPM-ów
362 Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes
363 Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
364 Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
365 Group: Applications/File
366 Requires(pretrans): coreutils
367 Requires(pretrans): findutils
368 Requires: %{name}-build-macros >= 1.712
369 Requires: %{name}-utils = %{version}-%{release}
373 Requires: chrpath >= 0.10-4
377 Requires: file >= 4.17
381 Requires: gcc >= 3.0.3
385 Requires: glibc-devel
392 Requires: tar >= 1:1.22
396 Provides: rpmbuild(monoautodeps)
397 Provides: rpmbuild(noauto) = 3
399 Conflicts: automake < 1:1.7.9-2
400 Conflicts: libtool < 2:1.5-13
404 Scripts for building binary RPM packages.
406 %description build -l de.UTF-8
407 Scripts fürs Bauen binärer RPM-Pakete.
409 %description build -l pl.UTF-8
410 Skrypty pomocnicze do budowania binarnych RPM-ów.
412 %description build -l pt_BR.UTF-8
413 Este pacote contém scripts e programas executáveis que são usados para
414 construir pacotes usando o RPM.
416 %description build -l ru.UTF-8
417 Различные вспомогательные скрипты и исполняемые программы, которые
418 используются для сборки RPM'ов.
420 %description build -l uk.UTF-8
421 Різноманітні допоміжні скрипти та утиліти, які використовуються для
425 Summary: Additional utilities for checking Java provides/requires in RPM packages
426 Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzania zależności kodu w Javie w pakietach RPM
427 Group: Applications/File
428 Requires: %{name} = %{version}-%{release}
430 Requires: findutils >= 1:4.2.26
434 %description javaprov
435 Additional utilities for checking Java provides/requires in RPM
438 %description javaprov -l pl.UTF-8
439 Dodatkowe narzędzia do sprawdzania zależności kodu w Javie w pakietach
443 Summary: Additional utilities for checking Perl provides/requires in RPM packages
444 Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
445 Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
446 Group: Applications/File
447 Requires: %{name} = %{version}-%{release}
448 Requires: perl-Encode
450 Requires: perl-modules
452 %description perlprov
453 Additional utilities for checking Perl provides/requires in RPM
456 %description perlprov -l de.UTF-8
457 Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen.
459 %description perlprov -l pl.UTF-8
460 Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
464 Summary: Python macros, which simplifies creation of RPM packages with Python software
465 Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
466 Group: Applications/File
467 Requires: %{name} = %{version}-%{release}
469 Requires: python-modules
470 Requires: python-setuptools
472 %description pythonprov
473 Python macros, which simplifies creation of RPM packages with Python
476 %description pythonprov -l pl.UTF-8
477 Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
480 %package php-pearprov
481 Summary: Additional utilities for checking PHP PEAR provides/requires in RPM packages
482 Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzania zależności skryptów php w RPM
483 Group: Applications/File
484 Requires: %{name} = %{version}-%{release}
486 Suggests: php-pear-PHP_CompatInfo
488 %description php-pearprov
489 Additional utilities for checking PHP PEAR provides/requires in RPM
492 %description php-pearprov -l pl.UTF-8
493 Dodatkowe narzędzia do sprawdzenia zależności skryptów PHP PEAR w
497 Summary: Ruby tools, which simplify creation of RPM packages with Ruby software
498 Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Ruby
499 Group: Applications/File
500 Requires: %{name} = %{version}-%{release}
502 Requires: ruby-modules
503 Requires: ruby-rubygems
505 %description rubyprov
506 Ruby tools, which simplifies creation of RPM packages with Ruby
509 %description rubyprov -l pl.UTF-8
510 Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
513 %package -n python-rpm
514 Summary: Python interface to RPM library
515 Summary(pl.UTF-8): Pythonowy interfejs do biblioteki RPM-a
516 Summary(pt_BR.UTF-8): Módulo Python para aplicativos que manipulam pacotes RPM
517 Group: Development/Languages/Python
518 Requires: %{name} = %{version}-%{release}
520 Obsoletes: rpm-python
522 %description -n python-rpm
523 The python-rpm package contains a module which permits applications
524 written in the Python programming language to use the interface
525 supplied by RPM (RPM Package Manager) libraries.
527 This package should be installed if you want to develop Python
528 programs that will manipulate RPM packages and databases.
530 %description -n python-rpm -l pl.UTF-8
531 Pakiet python-rpm zawiera moduł, który pozwala aplikacjom napisanym w
532 Pythonie na używanie interfejsu dostarczanego przez biblioteki RPM-a.
534 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
535 Pythonie programy manipulujące pakietami i bazami danych rpm.
537 %description -n python-rpm -l pt_BR.UTF-8
538 O pacote python-rpm contém um módulo que permite que aplicações
539 escritas em Python utilizem a interface fornecida pelas bibliotecas
540 RPM (RPM Package Manager).
542 Esse pacote deve ser instalado se você quiser desenvolver programas em
543 Python para manipular pacotes e bancos de dados RPM.
545 %package -n python3-rpm
546 Summary: Python 3 interface to RPM library
547 Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki RPM-a
548 Summary(pt_BR.UTF-8): Módulo Python 3 para aplicativos que manipulam pacotes RPM
549 Group: Development/Languages/Python
550 Requires: %{name} = %{version}-%{release}
553 %description -n python3-rpm
554 The python3-rpm package contains a module which permits applications
555 written in the Python 3 programming language to use the interface
556 supplied by RPM (RPM Package Manager) libraries.
558 This package should be installed if you want to develop Python 3
559 programs that will manipulate RPM packages and databases.
561 %description -n python3-rpm -l pl.UTF-8
562 Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w
563 Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki RPM-a.
565 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
566 Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
568 %description -n python3-rpm -l pt_BR.UTF-8
569 O pacote python3-rpm contém um módulo que permite que aplicações
570 escritas em Python 3 utilizem a interface fornecida pelas bibliotecas
571 RPM (RPM Package Manager).
573 Esse pacote deve ser instalado se você quiser desenvolver programas em
574 Python 3 para manipular pacotes e bancos de dados RPM.
577 Summary: RPM API documentation and guides
578 Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki
583 Documentation for RPM API and guides in HTML format generated from rpm
586 %description apidocs -l pl.UTF-8
587 Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
588 źrodeł RPM-a przez doxygen.
591 %setup -q -n %{name}-%{version}%{?subver}
613 install %{SOURCE2} pld.in
614 install %{SOURCE8} scripts/php.prov.in
615 install %{SOURCE9} scripts/php.req.in
616 install %{SOURCE11} scripts/perl.prov.in
617 cp -p %{SOURCE30} scripts/rubygems.rb
618 cp -p %{SOURCE31} scripts/gem_helper.rb
620 %{__mv} -f scripts/perl.req{,.in}
622 # generate Group translations to *.po
623 awk -f %{SOURCE6} %{SOURCE1}
625 install %{SOURCE26} tools/rpmdb_checkversion.c
626 install %{SOURCE28} tools/rpmdb_reset.c
628 %{__sed} -i -e '1s,/usr/bin/python,%{__python},' scripts/pythondistdeps.py
637 # rpm checks for CPU type at runtime, but it looks better
639 -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
640 -e 's|@host_cpu@|%{_target_cpu}|' \
641 -e 's|@host_os@|%{_target_os}|' \
644 CPPFLAGS="-I/usr/include/lua53 %{rpmcppflags}"
646 WITH_PERL_VERSION=no \
647 __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
648 __GPG=%{_bindir}/gpg \
649 %{?with_python3:PYTHON=python3} \
650 %{!?with_python3:%{?with_python2:PYTHON=python2}} \
651 --disable-silent-rules \
655 --with-crypto=openssl \
661 %if %{with python2} || %{with python3}
664 --with-selinux=%{!?with_selinux:no}%{?with_selinux:yes} \
667 # --enable-ndb (EXPERIMENTAL) enable the new rpm database format
668 # --enable-lmdb=[yes/no/auto] (EXPERIMENTAL) build with LMDB rpm database format support (default=auto)
669 # --with-imaevm build with imaevm support
673 %{__cc} %{rpmcflags} -I/usr/include/db%{reqdb_ver} tools/rpmdb_checkversion.c \
674 -o tools/rpmdb_checkversion -ldb-%{reqdb_ver}
675 %{__cc} %{rpmcflags} -I/usr/include/db%{reqdb_ver} tools/rpmdb_reset.c \
676 -o tools/rpmdb_reset -ldb-%{reqdb_ver}
678 if tools/rpmdb_checkversion -V 2>&1 | grep "t match library version"; then
679 echo "Error linking rpmdb tools!"
682 if tools/rpmdb_reset -V 2>&1 | grep "t match library version"; then
683 echo "Error linking rpmdb tools!"
699 rm -rf $RPM_BUILD_ROOT
700 install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
701 $RPM_BUILD_ROOT{/var/lib/banner,/var/cache/hrmib}
703 cp -p %{SOURCE16} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
706 pkgconfigdir=%{_pkgconfigdir} \
707 DESTDIR=$RPM_BUILD_ROOT
710 %ifnarch %{ix86} %{x8664} x32
711 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/athlon-linux/macros
712 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/geode-linux/macros
713 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i386-linux/macros
714 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i486-linux/macros
715 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i586-linux/macros
716 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i686-linux/macros
717 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium3-linux/macros
718 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium4-linux/macros
721 %ifnarch %{x8664} x32
722 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/amd64-linux/macros
723 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia32e-linux/macros
724 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x32-linux/macros
725 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x86_64-linux/macros
729 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/m68k-linux/macros
730 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc32dy4-linux/macros
731 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc64*-linux/macros
732 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8260-linux/macros
733 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8560-linux/macros
734 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros
735 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros
738 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
739 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros
740 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
741 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros
742 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros
743 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros
744 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros
745 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros
746 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros
748 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
750 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
751 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_rpmlibdir}/find-spec-bcond
752 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/compress-doc
753 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
754 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_rpmlibdir}/java-find-requires
755 cp -p scripts/php.{prov,req} $RPM_BUILD_ROOT%{_rpmlibdir}
756 cp -p %{SOURCE25} $RPM_BUILD_ROOT%{_rpmlibdir}/php.req.php
757 cp -p %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/mimetypedeps.sh
758 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
759 cp -p %{SOURCE13} $RPM_BUILD_ROOT/etc/sysconfig/rpm
761 cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_bindir}/banner.sh
763 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo
765 cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
766 cp -p %{SOURCE27} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
767 cp -p %{SOURCE19} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc
768 cp -p %{SOURCE20} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
769 cp -p %{SOURCE21} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
770 cp -p %{SOURCE22} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
771 cp -p %{SOURCE24} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
773 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Conflictname
774 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Dirnames
775 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Filelinktos
776 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Obsoletename
777 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Providename
778 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Requirename
780 cp -p tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/
781 cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/
782 cp -p %{SOURCE29} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh
785 mv $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
786 # move essential libs to /lib (libs that /bin/rpm links to)
787 for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
788 mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib}
789 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
793 # Remove anything that rpm make install might put there
794 %{__rm} -rf $RPM_BUILD_ROOT%{py_sitedir}
802 # Remove anything that rpm make install might put there
803 %{__rm} -rf $RPM_BUILD_ROOT%{py3_sitedir}
809 %{__rm} $RPM_BUILD_ROOT%{_libdir}/rpm-plugins/*.la
811 # wrong location, not used anyway
812 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log}
817 rm -rf $RPM_BUILD_ROOT
820 # this needs to be a dir
821 if [ -f %{_sysconfdir}/rpm/sysinfo ]; then
823 mv -f %{_sysconfdir}/rpm/sysinfo{,.rpmsave}
824 mkdir %{_sysconfdir}/rpm/sysinfo
828 if [ -e /var/lib/rpm/Packages ] && \
829 ! %{_rpmlibdir}/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then
830 if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
831 /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
833 echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
837 echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
838 echo 'you should ignore it and restart poldek'
840 %{_rpmlibdir}/dbupgrade.sh
843 %triggerpostun -- %{name} < 4.4.9-44
844 %{_rpmlibdir}/hrmib-cache
846 %post lib -p /sbin/ldconfig
847 %postun lib -p /sbin/ldconfig
850 find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
852 %files -f %{name}.lang
853 %defattr(644,root,root,755)
854 %doc ChangeLog CREDITS README
856 %dir /etc/pki/rpm-gpg
857 /etc/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
859 %attr(755,root,root) /bin/rpm
861 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
862 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
863 %dir %{_sysconfdir}/rpm/sysinfo
864 # these are ok to be replaced
865 %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/sysinfo/*
867 %{_mandir}/man8/rpm.8*
868 %lang(fr) %{_mandir}/fr/man8/rpm.8*
869 %lang(ja) %{_mandir}/ja/man8/rpm.8*
870 %lang(ko) %{_mandir}/ko/man8/rpm.8*
871 %lang(pl) %{_mandir}/pl/man8/rpm.8*
872 %lang(ru) %{_mandir}/ru/man8/rpm.8*
873 %lang(sk) %{_mandir}/sk/man8/rpm.8*
876 #%dir /var/lib/rpm/log
877 #%dir /var/lib/rpm/tmp
878 #%config(noreplace) %verify(not md5 mtime size) /var/lib/rpm/DB_CONFIG
880 # exported package NVRA (stamped with install tid)
881 # net-snmp hrSWInstalledName queries, bash-completions
882 %dir /var/cache/hrmib
884 %{_rpmlibdir}/rpmpopt*
886 %dir %{_rpmlibdir}/macros.d
887 #%{_rpmlibdir}/macros.d/pld
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 %attr(755,root,root) %{_rpmlibdir}/hrmib-cache
919 %attr(755,root,root) %{_rpmlibdir}/dbupgrade.sh
920 %attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion
921 %attr(755,root,root) %{_rpmlibdir}/rpmdb_reset
924 %defattr(644,root,root,755)
925 %dir %{_sysconfdir}/rpm
926 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
928 %attr(755,root,root) %{_bindir}/banner.sh
929 %attr(755,root,root) %{_rpmlibdir}/user_group.sh
933 %defattr(644,root,root,755)
934 %attr(755,root,root) /%{_lib}/librpm.so.9
935 %attr(755,root,root) /%{_lib}/librpm.so.%{sover}
936 %attr(755,root,root) /%{_lib}/librpmbuild.so.9
937 %attr(755,root,root) /%{_lib}/librpmbuild.so.%{sover}
938 %attr(755,root,root) /%{_lib}/librpmio.so.9
939 %attr(755,root,root) /%{_lib}/librpmio.so.%{sover}
940 %attr(755,root,root) /%{_lib}/librpmsign.so.9
941 %attr(755,root,root) /%{_lib}/librpmsign.so.%{sover}
944 %defattr(644,root,root,755)
945 %attr(755,root,root) %{_libdir}/librpm.so
946 %attr(755,root,root) %{_libdir}/librpmbuild.so
947 %attr(755,root,root) %{_libdir}/librpmio.so
948 %attr(755,root,root) %{_libdir}/librpmsign.so
949 %{_libdir}/librpm*.la
951 %{_pkgconfigdir}/*.pc
954 %defattr(644,root,root,755)
955 %attr(755,root,root) %{_bindir}/rpm2archive
956 %attr(755,root,root) %{_bindir}/rpm2cpio
957 %attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
958 %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
959 %attr(755,root,root) %{_rpmlibdir}/rpmdb_loadcvt
960 %attr(755,root,root) %{_rpmlibdir}/tgpg
961 %attr(755,root,root) %{_rpmlibdir}/debugedit
962 %attr(755,root,root) %{_rpmlibdir}/rpmdeps
963 %{_mandir}/man8/rpm2cpio.8*
964 %{_mandir}/man8/rpmdeps.8*
965 %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
966 %lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
967 %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
968 %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
969 %lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
972 %defattr(644,root,root,755)
973 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
974 %attr(755,root,root) %{_rpmlibdir}/brp-*
975 %attr(755,root,root) %{_rpmlibdir}/check-files
976 %attr(755,root,root) %{_rpmlibdir}/compress-doc
977 %attr(755,root,root) %{_rpmlibdir}/find-spec-bcond
978 %attr(755,root,root) %{_rpmlibdir}/install-build-tree
979 %attr(755,root,root) %{_rpmlibdir}/elfdeps
980 %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
981 %attr(755,root,root) %{_rpmlibdir}/mimetypedeps.sh
982 # needs hacked pkg-config to return anything
983 %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
984 %attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
985 # we always used scripts provided by mono-devel, maybe move them here
986 #%attr(755,root,root) %{_rpmlibdir}/mono-find-provides
987 #%attr(755,root,root) %{_rpmlibdir}/mono-find-requires
989 %attr(755,root,root) %{_rpmlibdir}/fontconfig.prov
990 # must be here for "Requires: rpm-*prov" to work
991 #%{_rpmlibdir}/macros.d/cmake
992 #%{_rpmlibdir}/macros.d/gstreamer
993 #%{_rpmlibdir}/macros.d/java
994 #%{_rpmlibdir}/macros.d/libtool
995 #%{_rpmlibdir}/macros.d/mono
996 #%{_rpmlibdir}/macros.d/perl
997 #%{_rpmlibdir}/macros.d/php
998 #%{_rpmlibdir}/macros.d/pkgconfig
999 #%{_rpmlibdir}/macros.d/python
1000 #%{_rpmlibdir}/macros.d/ruby
1001 #%{_rpmlibdir}/macros.d/selinux
1002 #%{_rpmlibdir}/macros.d/tcl
1003 #%{_rpmlibdir}/macros.rpmbuild
1005 %dir %{_rpmlibdir}/fileattrs
1006 %{_rpmlibdir}/fileattrs/debuginfo.attr
1007 %{_rpmlibdir}/fileattrs/desktop.attr
1008 %{_rpmlibdir}/fileattrs/elf.attr
1009 %{_rpmlibdir}/fileattrs/font.attr
1010 %{_rpmlibdir}/fileattrs/libtool.attr
1011 %{_rpmlibdir}/fileattrs/metainfo.attr
1012 %{_rpmlibdir}/fileattrs/ocaml.attr
1013 %{_rpmlibdir}/fileattrs/perl.attr
1014 %{_rpmlibdir}/fileattrs/perllib.attr
1015 %{_rpmlibdir}/fileattrs/php.attr
1016 %{_rpmlibdir}/fileattrs/pkgconfig.attr
1017 %{_rpmlibdir}/fileattrs/python.attr
1018 %{_rpmlibdir}/fileattrs/pythondist.attr
1019 %{_rpmlibdir}/fileattrs/script.attr
1021 %attr(755,root,root) %{_bindir}/gendiff
1022 %attr(755,root,root) %{_bindir}/rpmbuild
1023 %attr(755,root,root) %{_bindir}/rpmspec
1025 %{_mandir}/man1/gendiff.1*
1026 %lang(pl) %{_mandir}/pl/man1/gendiff.1*
1027 %{_mandir}/man8/rpmbuild.8*
1028 %lang(ja) %{_mandir}/ja/man8/rpmbuild.8*
1029 %lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
1030 %{_mandir}/man8/rpmspec.8*
1033 %defattr(644,root,root,755)
1034 %attr(755,root,root) %{_rpmlibdir}/java-find-requires
1035 # needs jar (any jdk), jcf-dump (gcc-java) to work
1036 #%attr(755,root,root) %{_rpmlibdir}/javadeps.sh
1039 %defattr(644,root,root,755)
1040 #%attr(755,root,root) %{_rpmlibdir}/gem_helper.rb
1041 #%attr(755,root,root) %{_rpmlibdir}/rubygems.rb
1044 %defattr(644,root,root,755)
1045 %attr(755,root,root) %{_rpmlibdir}/perl.*
1048 %defattr(644,root,root,755)
1049 %attr(755,root,root) %{_rpmlibdir}/pythondeps.sh
1050 %attr(755,root,root) %{_rpmlibdir}/pythondistdeps.py
1053 %defattr(644,root,root,755)
1054 %attr(755,root,root) %{_rpmlibdir}/php.prov
1055 %attr(755,root,root) %{_rpmlibdir}/php.req
1056 %attr(755,root,root) %{_rpmlibdir}/php.req.php
1059 %files -n python-rpm
1060 %defattr(644,root,root,755)
1061 %dir %{py_sitedir}/rpm
1062 %attr(755,root,root) %{py_sitedir}/rpm/*.so
1063 %{py_sitedir}/rpm/*.py[co]
1064 %{py_sitedir}/rpm-%{version}-py*.egg-info
1068 %files -n python3-rpm
1069 %defattr(644,root,root,755)
1070 %dir %{py3_sitedir}/rpm
1071 %attr(755,root,root) %{py3_sitedir}/rpm/*.so
1072 %{py3_sitedir}/rpm/*.py
1073 %{py3_sitedir}/rpm-%{version}-py*.egg-info
1074 %{py3_sitedir}/rpm/__pycache__
1079 %defattr(644,root,root,755)
1080 %doc doc/librpm/html/*
1085 %attr(755,root,root) %{_bindir}/rpmdb
1086 %attr(755,root,root) %{_bindir}/rpmgraph
1087 %attr(755,root,root) %{_bindir}/rpmkeys
1088 %attr(755,root,root) %{_bindir}/rpmquery
1089 %attr(755,root,root) %{_bindir}/rpmsign
1090 %attr(755,root,root) %{_bindir}/rpmverify
1091 %attr(755,root,root) %{_rpmlibdir}/check-buildroot
1092 %attr(755,root,root) %{_rpmlibdir}/check-prereqs
1093 %attr(755,root,root) %{_rpmlibdir}/check-rpaths
1094 %attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
1095 %attr(755,root,root) %{_rpmlibdir}/config.guess
1096 %attr(755,root,root) %{_rpmlibdir}/config.sub
1097 %attr(755,root,root) %{_rpmlibdir}/debuginfo.prov
1098 %attr(755,root,root) %{_rpmlibdir}/desktop-file.prov
1099 %attr(755,root,root) %{_rpmlibdir}/find-provides
1100 %attr(755,root,root) %{_rpmlibdir}/find-requires
1101 %attr(755,root,root) %{_rpmlibdir}/metainfo.prov
1102 %attr(755,root,root) %{_rpmlibdir}/ocaml-find-provides.sh
1103 %attr(755,root,root) %{_rpmlibdir}/ocaml-find-requires.sh
1104 # valgrind suppression file for rpm
1105 %{_rpmlibdir}/rpm.supp
1107 %attr(755,root,root) %{_rpmlibdir}/script.req
1108 %attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
1111 %attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
1112 %attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
1113 %attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
1114 %attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
1115 %attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
1116 %attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so
1117 %{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
1119 %{_mandir}/man8/rpm-misc.8*
1120 %{_mandir}/man8/rpmdb.8*
1121 %{_mandir}/man8/rpmkeys.8*
1122 %{_mandir}/man8/rpmsign.8*
1123 %{_mandir}/man8/rpmgraph.8*
1124 %lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
1125 %lang(pl) %{_mandir}/pl/man8/rpmgraph.8*