]> git.pld-linux.org Git - packages/rpm.git/blame_incremental - rpm.spec
ossp-uuid is not required by rpm.org
[packages/rpm.git] / rpm.spec
... / ...
CommitLineData
1#
2# TODO:
3# - when adopting, use 4.5 ticket for checklist: https://bugs.launchpad.net/pld-linux/+bug/262985
4#
5# Conditional build:
6%bcond_without apidocs # don't generate documentation with doxygen
7%bcond_without python3 # don't build python bindings
8%bcond_without plugins # build plugins
9%bcond_without recommends_tags # build without Recommends tag (bootstrapping)
10%bcond_with imaevm # build with IMA/EVM support (requires libimaevm from ima-evm-utils)
11
12%define db_ver 5.3.28.0
13%define popt_ver 1.15
14%define sover 9.1.2
15
16%if "%{_rpmversion}" >= "4.12" && "%{_rpmversion}" < "5"
17%define with_recommends_tags 1
18%endif
19
20Summary: RPM Package Manager
21Summary(de.UTF-8): RPM Packet-Manager
22Summary(es.UTF-8): Gestor de paquetes RPM
23Summary(pl.UTF-8): Aplikacja do zarządzania pakietami RPM
24Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM
25Summary(ru.UTF-8): Менеджер пакетов от RPM
26Summary(uk.UTF-8): Менеджер пакетів від RPM
27Name: rpm
28Version: 4.16.1.2
29Release: 0.1
30Epoch: 1
31License: GPL v2 / LGPL v2.1
32Group: Base
33Source0: http://ftp.rpm.org/releases/rpm-4.16.x/%{name}-%{version}.tar.bz2
34# Source0-md5: 0d10f63a0a4c9517cf3808a601378399
35Source1: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
36# Source1-md5: 23914bb49fafe7153cee87126d966461
37Source2: macros.local
38Source3: macros.lang
39Source4: %{name}.sysconfig
40Source5: %{name}.groups
41Source6: %{name}-groups-po.awk
42Source7: %{name}-install-tree
43Source9: %{name}-user_group.sh
44# http://svn.pld-linux.org/banner.sh/
45Source10: banner.sh
46Source11: %{name}.noautoprov
47Source12: %{name}.noautoprovfiles
48Source13: %{name}.noautoreq
49Source14: %{name}.noautoreqfiles
50Source15: perl.prov
51Source16: %{name}db_checkversion.c
52Source17: %{name}db_reset.c
53Source18: dbupgrade.sh
54Patch0: %{name}-man_pl.patch
55Patch1: %{name}-popt-aliases.patch
56Patch2: %{name}-perl-macros.patch
57Patch3: %{name}-perl-req-perlfile.patch
58Patch4: %{name}-scripts-closefds.patch
59Patch6: %{name}-perl_req-INC_dirs.patch
60Patch7: %{name}-debuginfo.patch
61Patch8: %{name}-libtool-deps.patch
62Patch9: %{name}-builddir-readlink.patch
63Patch10: %{name}-changelog_order_check_nonfatal.patch
64Patch11: %{name}-postun-nofail.patch
65Patch12: %{name}-clean-docdir.patch
66Patch13: %{name}-perl-magic.patch
67Patch14: %{name}-ignore-missing-macro-files.patch
68Patch15: x32.patch
69Patch16: rpm5-db-compat.patch
70Patch17: python-internal-build.patch
71Patch18: missing-macros.patch
72Patch19: pkgconfig.patch
73Patch20: uname-deps.patch
74Patch21: aarch64.patch
75Patch22: ix86-platforms.patch
76Patch23: shortcircuited-deps.patch
77Patch24: cpuinfo-deps.patch
78Patch25: rpmio-read-proc-files.patch
79Patch26: allow-at-in-ver-rel.patch
80Patch27: no-exeonly-for-elf-reqprov.patch
81Patch28: default-patch-flags.patch
82Patch29: %{name}-noarch_py_prov.patch
83Patch30: missing-ghost-terminate-build.patch
84Patch31: missing-doc-terminate-build.patch
85Patch32: noexpand.patch
86URL: https://rpm.org/
87BuildRequires: acl-devel
88BuildRequires: db-devel >= %{db_ver}
89BuildRequires: autoconf >= 2.63
90BuildRequires: automake >= 1.4
91BuildRequires: bzip2-devel >= 1.0.2-17
92BuildRequires: elfutils-devel >= 0.108
93BuildRequires: gettext-tools >= 0.19.2
94BuildRequires: libarchive-devel
95BuildRequires: libcap-devel
96BuildRequires: libmagic-devel
97BuildRequires: libgcrypt-devel
98%if %{with plugins}
99BuildRequires: audit-libs-devel
100BuildRequires: dbus-devel
101%{?with_imaevm:BuildRequires: libimaevm-devel >= 1.0}
102BuildRequires: libselinux-devel >= 2.1.0
103%endif
104# needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
105BuildRequires: libstdc++-devel
106BuildRequires: libtool >= 1:1.4.2-9
107BuildRequires: patch >= 2.2
108BuildRequires: pkgconfig(lua) >= 5.1
109BuildRequires: popt-devel >= %{popt_ver}
110BuildRequires: python3-modules
111%if %{with python3}
112BuildRequires: python3-devel
113BuildRequires: rpm-pythonprov
114BuildRequires: rpmbuild(macros) >= 1.750
115%endif
116BuildRequires: sqlite3-devel >= 3.22.0
117BuildRequires: tcl
118BuildRequires: xz-devel
119BuildRequires: zlib-devel
120BuildRequires: zstd-devel
121%if %{with apidocs}
122BuildRequires: doxygen
123BuildRequires: ghostscript
124BuildRequires: graphviz
125BuildRequires: tetex-pdftex
126%endif
127Requires(posttrans): coreutils
128Requires: %{name}-base = %{epoch}:%{version}-%{release}
129Requires: %{name}-lib = %{epoch}:%{version}-%{release}
130Requires: rpm-pld-macros >= 1.744
131Requires: FHS >= 3.0-2
132Requires: libgcrypt
133Requires: popt >= %{popt_ver}
134%if %{with recommends_tags}
135Recommends: rpm-plugin-audit
136Recommends: rpm-plugin-prioreset
137Recommends: rpm-plugin-syslog
138Recommends: rpm-plugin-systemd-inhibit
139%endif
140Obsoletes: rpm-utils-perl
141Obsoletes: rpm-utils-static
142Conflicts: glibc < 2.2.92
143# db4.6 poldek needed
144Conflicts: poldek < 0.21-0.20070703.00.3
145# segfaults with lzma 0.42.2
146Conflicts: lzma-libs < 4.999.3
147Conflicts: util-vserver < 0.30.216-1.pre3034.7
148BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
149
150%define _binary_payload w9.gzdio
151
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
157
158%define _rpmlibdir /usr/lib/rpm
159
160%description
161RPM is a powerful package manager, which can be used to build,
162install, query, verify, update, and uninstall individual software
163packages. A package consists of an archive of files, and package
164information, including name, version, and description.
165
166%description -l de.UTF-8
167RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur
168Installation, Anfrage, Verifizierung, Aktualisierung und
169Uninstallation individueller Softwarepakete. Ein Paket besteht aus
170einem Archiv Dateien und Paketinformation, inklusive Name, Version und
171Beschreibung.
172
173%description -l es.UTF-8
174RPM es un poderoso administrador de paquetes, que puede ser usado para
175construir, instalar, pesquisar, verificar, actualizar y desinstalar
176paquetes individuales de software. Un paquete consiste en un
177almacenaje de archivos, y información sobre el paquete, incluyendo
178nombre, versión y descripción.
179
180%description -l pl.UTF-8
181RPM jest doskonałym programem zarządzającym pakietami. Umożliwia on
182przebudowanie, instalację czy weryfikację dowolnego pakietu.
183Informacje dotyczące każdego pakietu, takie jak jego opis, lista
184plików wchodzących w skład pakietu, zależności od innych pakietów, są
185przechowywane w bazie danych i można je uzyskać za pomocą opcji
186odpytywania programu rpm.
187
188%description -l pt_BR.UTF-8
189RPM é um poderoso gerenciador de pacotes, que pode ser usado para
190construir, instalar, pesquisar, verificar, atualizar e desinstalar
191pacotes individuais de software. Um pacote consiste de um conjunto de
192arquivos e informações adicionais, incluindo nome, versão e descrição
193do pacote, permissões dos arquivos, etc.
194
195%description -l ru.UTF-8
196RPM - это мощный менеджер пакетов, который может быть использован для
197создания, инсталляции, запросов (query), проверки, обновления и
198удаления программных пакетов. Пакет состоит из файлового архива и
199служебной информации, включающей название, версию, описание и другие
200данные о пакете.
201
202%description -l uk.UTF-8
203RPM - це потужний менеджер пакетів, що може бути використаний для
204створення, інсталяції, запитів (query), перевірки, поновлення та
205видалення програмних пакетів. Пакет складається з файлового архіву та
206службової інформації, що містить назву, версію, опис та іншу
207інформацію про пакет.
208
209%package base
210Summary: RPM base package - scripts used by rpm packages themselves
211Summary(pl.UTF-8): Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
212Group: Base
213Requires: filesystem
214Obsoletes: rpm-scripts
215Obsoletes: vserver-rpm
216
217%description base
218The RPM base package contains scripts used by rpm packages themselves.
219These include:
220- scripts for adding/removing groups and users needed for rpm
221 packages,
222- banner.sh to display %%banner messages from rpm scriptlets.
223
224%description base -l pl.UTF-8
225Pakiet podstawowy RPM zwiera skrypty używane przez same pakiety rpm.
226Zawiera on:
227- skrypty dodające/usuwające grupy i użytkowników dla pakietów rpm,
228- banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
229
230%package lib
231Summary: RPMs library
232Summary(pl.UTF-8): Biblioteki RPM-a
233Group: Libraries
234Requires: db >= %{db_ver}
235Requires: libmagic >= 1.15-2
236Requires: popt >= %{popt_ver}
237Obsoletes: rpm-libs
238# avoid SEGV caused by mixed db versions
239Conflicts: poldek < 0.18.1-16
240
241%description lib
242RPMs library.
243
244%description lib -l pl.UTF-8
245Biblioteki RPM-a.
246
247%package devel
248Summary: Header files for rpm libraries
249Summary(de.UTF-8): Header-Dateien für rpm Libraries
250Summary(es.UTF-8): Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
251Summary(pl.UTF-8): Pliki nagłówkowe bibliotek rpm
252Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
253Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами
254Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm
255Group: Development/Libraries
256Requires: %{name}-lib = %{epoch}:%{version}-%{release}
257Requires: bzip2-devel
258Requires: db-devel >= %{db_ver}
259Requires: elfutils-devel
260Requires: libmagic-devel
261Requires: libgcrypt-devel
262%if %{with selinux}
263Requires: libselinux-devel
264Requires: libsemanage-devel
265Requires: libsepol-devel
266%endif
267Requires: popt-devel >= %{popt_ver}
268Requires: zlib-devel
269
270%description devel
271The RPM packaging system includes C libraries that make it easy to
272manipulate RPM packages and databases. They are intended to ease the
273creation of graphical package managers and other tools that need
274intimate knowledge of RPM packages. This package contains header files
275for these libraries.
276
277%description devel -l de.UTF-8
278Der RPM-Packensystem enthält eine C-Library, die macht es einfach
279RPM-Pakete und Dateibanken zu manipulieren. Er eignet sich für
280Vereinfachung des Schaffens grafischer Paket-Manager und anderer
281Werkzeuge, die intime Kenntnis von RPM-Paketen brauchen.
282
283%description devel -l es.UTF-8
284El sistema de empaquetado RPM incluye una biblioteca C que vuelve
285fácil la manipulación de paquetes y bases de datos RPM. Su objetivo es
286facilitar la creación de administradores gráficos de paquetes y otras
287herramientas que necesiten un conocimiento profundo de paquetes RPM.
288
289%description devel -l pl.UTF-8
290System RPM zawiera biblioteki C, które ułatwiają manipulowanie
291pakietami RPM oraz bazami danych. W zamiarze ma to uprościć tworzenie
292graficznych programów zarządzających pakietami oraz innych narzędzi,
293które wymagają szczegółowej wiedzy na temat pakietów RPM. Ten pakiet
294zawiera pliki nagłówkowe wspomnianych bibliotek.
295
296%description devel -l pt_BR.UTF-8
297O sistema de empacotamento RPM inclui uma biblioteca C que torna fácil
298a manipulação de pacotes e bases de dados RPM. Seu objetivo é
299facilitar a criação de gerenciadores gráficos de pacotes e outras
300ferramentas que precisem de conhecimento profundo de pacotes RPM.
301
302%description devel -l ru.UTF-8
303Система управления пакетами RPM содержит библиотеку C, которая
304упрощает манипуляцию пакетами RPM и соответствующими базами данных.
305Эта библиотека предназначена для облегчения создания графических
306пакетных менеджеров и других утилит, которым необходимо работать с
307пакетами RPM.
308
309%description devel -l uk.UTF-8
310Система керування пакетами RPM містить бібліотеку C, котра спрощує
311роботу з пакетами RPM та відповідними базами даних. Ця бібліотека
312призначена для полегшення створення графічних пакетних менеджерів та
313інших утиліт, що працюють з пакетами RPM.
314
315%package utils
316Summary: Additional utilities for managing RPM packages and database
317Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
318Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
319Group: Applications/File
320Requires: %{name} = %{epoch}:%{version}-%{release}
321Requires: popt >= %{popt_ver}
322%if %{with recommends_tags}
323Recommends: bzip2
324Recommends: gzip
325%endif
326Conflicts: filesystem-debuginfo < 3.0-16
327
328%description utils
329Additional utilities for managing RPM packages and database.
330
331%description utils -l de.UTF-8
332Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
333
334%description utils -l pl.UTF-8
335Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
336
337%package build
338Summary: Scripts for building binary RPM packages
339Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
340Summary(pl.UTF-8): Skrypty pomocnicze do budowania binarnych RPM-ów
341Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes
342Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов
343Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
344Group: Applications/File
345Requires(pretrans): coreutils
346Requires(pretrans): findutils
347Requires: %{name}-utils = %{epoch}:%{version}-%{release}
348Requires: rpm-pld-macros-build >= 1.744
349Requires: /bin/id
350Requires: awk
351Requires: bzip2
352Requires: chrpath >= 0.10-4
353Requires: cpio
354Requires: diffutils
355Requires: elfutils
356Requires: file >= 4.17
357Requires: fileutils
358Requires: findutils
359%ifarch athlon
360Requires: gcc >= 3.0.3
361%else
362Requires: gcc
363%endif
364Requires: glibc-devel
365Requires: grep
366Requires: gzip
367Requires: make
368Requires: patch
369Requires: sed >= 4.0
370Requires: sh-utils
371Requires: tar >= 1:1.22
372Requires: textutils
373Requires: which
374Requires: xz
375Provides: rpmbuild(noauto) = 3
376%ifarch %{x8664}
377Conflicts: automake < 1:1.7.9-2
378Conflicts: libtool < 2:1.5-13
379%endif
380
381%description build
382Scripts for building binary RPM packages.
383
384%description build -l de.UTF-8
385Scripts fürs Bauen binärer RPM-Pakete.
386
387%description build -l pl.UTF-8
388Skrypty pomocnicze do budowania binarnych RPM-ów.
389
390%description build -l pt_BR.UTF-8
391Este pacote contém scripts e programas executáveis que são usados para
392construir pacotes usando o RPM.
393
394%description build -l ru.UTF-8
395Различные вспомогательные скрипты и исполняемые программы, которые
396используются для сборки RPM'ов.
397
398%description build -l uk.UTF-8
399Різноманітні допоміжні скрипти та утиліти, які використовуються для
400побудови RPM'ів.
401
402%package perlprov
403Summary: Additional utilities for checking Perl provides/requires in RPM packages
404Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
405Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
406Group: Applications/File
407Requires: %{name} = %{epoch}:%{version}-%{release}
408Requires: perl-Encode
409Requires: perl-devel
410Requires: perl-modules
411
412%description perlprov
413Additional utilities for checking Perl provides/requires in RPM
414packages.
415
416%description perlprov -l de.UTF-8
417Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen.
418
419%description perlprov -l pl.UTF-8
420Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
421pakietach RPM.
422
423%package pythonprov
424Summary: Python macros, which simplifies creation of RPM packages with Python software
425Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
426Group: Applications/File
427Requires: %{name} = %{epoch}:%{version}-%{release}
428Requires: python3
429Requires: python3-modules
430Requires: python3-setuptools
431
432%description pythonprov
433Python macros, which simplifies creation of RPM packages with Python
434software.
435
436%description pythonprov -l pl.UTF-8
437Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
438Pythonie.
439
440%package -n python3-rpm
441Summary: Python 3 interface to RPM library
442Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki RPM-a
443Summary(pt_BR.UTF-8): Módulo Python 3 para aplicativos que manipulam pacotes RPM
444Group: Development/Languages/Python
445Requires: %{name} = %{epoch}:%{version}-%{release}
446Requires: python3
447Obsoletes: python-rpm < 1:4.16.0
448Obsoletes: rpm-python
449
450%description -n python3-rpm
451The python3-rpm package contains a module which permits applications
452written in the Python 3 programming language to use the interface
453supplied by RPM (RPM Package Manager) libraries.
454
455This package should be installed if you want to develop Python 3
456programs that will manipulate RPM packages and databases.
457
458%description -n python3-rpm -l pl.UTF-8
459Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w
460Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki
461RPM-a.
462
463Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
464Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
465
466%description -n python3-rpm -l pt_BR.UTF-8
467O pacote python3-rpm contém um módulo que permite que aplicações
468escritas em Python 3 utilizem a interface fornecida pelas bibliotecas
469RPM (RPM Package Manager).
470
471Esse pacote deve ser instalado se você quiser desenvolver programas em
472Python 3 para manipular pacotes e bancos de dados RPM.
473
474%package plugin-audit
475Summary: Plugin for logging audit events on package operations
476Group: Base
477Requires: %{name}-lib = %{epoch}:%{version}-%{release}
478
479%description plugin-audit
480Plugin for libaudit support
481
482%package plugin-syslog
483Summary: Plugin for syslog functionality
484Group: Base
485Requires: %{name}-lib = %{epoch}:%{version}-%{release}
486
487%description plugin-syslog
488This plugin exports RPM actions to the system log.
489
490%package plugin-systemd-inhibit
491Summary: Plugin for systemd inhibit functionality
492Group: Base
493Requires: %{name}-lib = %{epoch}:%{version}-%{release}
494
495%description plugin-systemd-inhibit
496This plugin blocks systemd from entering idle, sleep or shutdown while
497an rpm transaction is running using the systemd-inhibit mechanism.
498
499%package plugin-ima
500Summary: Plugin for IMA file signatures
501Group: Base
502Requires: %{name}-lib = %{epoch}:%{version}-%{release}
503
504%description plugin-ima
505This plugin adds support for enforcing and verifying IMA file
506signatures in an rpm.
507
508%package plugin-prioreset
509Summary: Plugin for resetting scriptlet priorities for SysV init
510Group: Base
511Requires: %{name}-lib = %{epoch}:%{version}-%{release}
512
513%description plugin-prioreset
514This plugin is useful on legacy SysV init systems if you run rpm
515transactions with nice/ionice priorities. Should not be used on
516systemd systems.
517
518%package plugin-selinux
519Summary: Plugin for SELinux functionality
520Group: Base
521Requires: %{name}-lib = %{epoch}:%{version}-%{release}
522Requires: libselinux >= 2.1.0
523
524%description plugin-selinux
525Plugin for SELinux functionality.
526
527%package sign
528Summary: Package signing support
529Group: Base
530Requires: %{name}-lib = %{epoch}:%{version}-%{release}
531
532%description sign
533This package contains support for digitally signing RPM packages.
534
535%package apidocs
536Summary: RPM API documentation and guides
537Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki
538Group: Documentation
539BuildArch: noarch
540
541%description apidocs
542Documentation for RPM API and guides in HTML format generated from rpm
543sources by doxygen.
544
545%description apidocs -l pl.UTF-8
546Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
547źrodeł RPM-a przez doxygen.
548
549%prep
550%setup -q -n %{name}-%{version}%{?subver}
551%patch0 -p1
552%patch1 -p1
553%patch2 -p1
554%patch3 -p1
555%patch4 -p1
556%patch6 -p0
557%patch7 -p1
558%patch8 -p1
559%patch9 -p1
560%patch10 -p1
561%patch11 -p1
562%patch12 -p1
563%patch13 -p1
564%patch14 -p1
565%patch15 -p1
566%patch16 -p1
567%patch17 -p1
568%patch18 -p1
569%patch19 -p1
570%patch20 -p1
571%patch21 -p1
572%patch22 -p1
573%patch23 -p1
574%patch24 -p1
575%patch25 -p1
576%patch26 -p1
577%patch27 -p1
578%patch28 -p1
579%patch29 -p1
580%patch30 -p1
581%patch31 -p1
582%patch32 -p1
583
584install %{SOURCE15} scripts/perl.prov.in
585
586%{__mv} -f scripts/perl.req{,.in}
587
588# generate Group translations to *.po
589awk -f %{SOURCE6} %{SOURCE5}
590
591install %{SOURCE16} tools/rpmdb_checkversion.c
592install %{SOURCE17} tools/rpmdb_reset.c
593
594%{__sed} -i -e '1s,/usr/bin/python,%{__python3},' scripts/pythondistdeps.py
595
596%build
597%{__libtoolize}
598%{__aclocal}
599%{__autoheader}
600%{__autoconf}
601%{__automake}
602
603# rpm checks for CPU type at runtime, but it looks better
604sed -i \
605 -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
606 -e 's|@host_cpu@|%{_target_cpu}|' \
607 -e 's|@host_os@|%{_target_os}|' \
608 macros.in
609
610%configure \
611 WITH_PERL_VERSION=no \
612 __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
613 __GPG=%{_bindir}/gpg \
614%if %{with python3}
615 PYTHON=python3 \
616 --enable-python \
617%endif
618 --disable-silent-rules \
619 --enable-shared \
620 --enable-bdb \
621 --enable-bdb-ro \
622 --enable-ndb \
623 --enable-sqlite \
624 --enable-zstd \
625 --with-lua \
626 %{?with_imaevm:--with-imaevm} \
627 --with-cap \
628 --with-acl \
629 --with-audit \
630 --with-archive \
631 --with-selinux=%{!?with_plugins:no}%{?with_plugins:yes} \
632 %{!?with_plugins:--disable-plugins} \
633 --with-vendor=pld
634
635%{__make}
636
637%{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb
638%{__cc} %{rpmcflags} tools/rpmdb_reset.c -o tools/rpmdb_reset -ldb
639
640if tools/rpmdb_checkversion -V 2>&1 | grep "t match library version"; then
641 echo "Error linking rpmdb tools!"
642 exit 1
643fi
644if tools/rpmdb_reset -V 2>&1 | grep "t match library version"; then
645 echo "Error linking rpmdb tools!"
646 exit 1
647fi
648
649%if %{with python3}
650cd python
651%py3_build
652%endif
653
654%install
655rm -rf $RPM_BUILD_ROOT
656install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
657 $RPM_BUILD_ROOT/var/lib/{banner,rpm}
658
659cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
660
661%{__make} install \
662 pkgconfigdir=%{_pkgconfigdir} \
663 DESTDIR=$RPM_BUILD_ROOT
664
665# cleanup
666%ifnarch %{ix86} %{x8664} x32
667rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/athlon-linux/macros
668rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/geode-linux/macros
669rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i386-linux/macros
670rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i486-linux/macros
671rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i586-linux/macros
672rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i686-linux/macros
673rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium3-linux/macros
674rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium4-linux/macros
675%endif
676
677%ifnarch %{x8664} x32
678rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/amd64-linux/macros
679rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia32e-linux/macros
680rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x32-linux/macros
681rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x86_64-linux/macros
682%endif
683
684%ifnarch %{ppc}
685rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/m68k-linux/macros
686rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc32dy4-linux/macros
687rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc64*-linux/macros
688rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8260-linux/macros
689rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8560-linux/macros
690rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros
691rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros
692%endif
693
694%ifnarch aarch64
695rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
696%endif
697
698%ifnarch %{arm}
699rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
700%endif
701
702rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros
703rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros
704rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros
705rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros
706rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros
707rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros
708rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros
709
710cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
711%ifarch x32
712%{_target_cpu}-%{_target_vendor}-linux-gnux32
713%else
714%{_target_cpu}-%{_target_vendor}-linux
715%endif
716EOF
717
718%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
719
720install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld
721
722cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
723cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
724cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rpm
725
726cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh
727
728cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
729cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
730cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
731cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
732cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
733cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
734
735cp -p tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/
736cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/
737cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh
738
739# move rpm to /bin
740%{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
741ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
742ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmverify
743
744# move essential libs to /lib (libs that /bin/rpm links to)
745for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
746 mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib}
747 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
748done
749
750#./rpmdb --macros=macros --rcfile=rpmrc --dbpath=/home/users/baggins/devel/PLD/rpm/BUILD/rpm-4.15.1/x/ --initdb
751
752# Make sure we have bdb set a default backend
753grep -qE "db_backend[[:blank:]]+bdb" $RPM_BUILD_ROOT%{_rpmlibdir}/macros
754
755%if %{with python3}
756# Remove anything that rpm make install might put there
757%{__rm} -rf $RPM_BUILD_ROOT%{py3_sitedir}
758cd python
759%py3_install
760cd ..
761%endif
762
763%{__rm} $RPM_BUILD_ROOT%{_libdir}/rpm-plugins/*.la
764
765# wrong location, not used anyway
766%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log}
767
768%find_lang %{name}
769
770%clean
771rm -rf $RPM_BUILD_ROOT
772
773%posttrans
774if [ -e /var/lib/rpm/Packages ] && \
775 ! %{_rpmlibdir}/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then
776 if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
777 /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
778 echo
779 echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
780 echo
781 fi
782 echo
783 echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
784 echo 'you should ignore it and restart poldek'
785 echo
786 %{_rpmlibdir}/dbupgrade.sh
787fi
788
789%post lib -p /sbin/ldconfig
790%postun lib -p /sbin/ldconfig
791
792%pretrans build
793find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
794
795%files -f %{name}.lang
796%defattr(644,root,root,755)
797%doc ChangeLog CREDITS README
798
799%dir /etc/pki/rpm-gpg
800/etc/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
801
802%attr(755,root,root) /bin/rpm
803%attr(755,root,root) %{_bindir}/rpmdb
804%attr(755,root,root) %{_bindir}/rpmkeys
805%attr(755,root,root) %{_bindir}/rpmquery
806%attr(755,root,root) %{_bindir}/rpmverify
807
808%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
809%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
810# this is ok to be replaced
811%config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform
812
813%{_mandir}/man8/rpm.8*
814%{_mandir}/man8/rpmdb.8*
815%{_mandir}/man8/rpmkeys.8*
816%{_mandir}/man8/rpm-misc.8*
817%{?with_plugins:%{_mandir}/man8/rpm-plugins.8*}
818%lang(fr) %{_mandir}/fr/man8/rpm.8*
819%lang(ja) %{_mandir}/ja/man8/rpm.8*
820%lang(ko) %{_mandir}/ko/man8/rpm.8*
821%lang(pl) %{_mandir}/pl/man8/rpm.8*
822%lang(ru) %{_mandir}/ru/man8/rpm.8*
823%lang(sk) %{_mandir}/sk/man8/rpm.8*
824
825%dir /var/lib/rpm
826
827%{_rpmlibdir}/rpmpopt*
828%{_rpmlibdir}/rpmrc
829%{_rpmlibdir}/macros
830%dir %{_rpmlibdir}/macros.d
831%dir %{_rpmlibdir}/platform
832%{_rpmlibdir}/platform/noarch-*
833%ifarch %{ix86} %{x8664} x32
834%{_rpmlibdir}/platform/athlon*
835%{_rpmlibdir}/platform/geode*
836%{_rpmlibdir}/platform/i?86*
837%{_rpmlibdir}/platform/pentium*
838%endif
839%ifarch %{x8664} x32
840%{_rpmlibdir}/platform/amd64*
841%{_rpmlibdir}/platform/ia32e*
842%{_rpmlibdir}/platform/x86_64*
843%{_rpmlibdir}/platform/x32*
844%endif
845%ifarch alpha
846%{_rpmlibdir}/platform/alpha*
847%endif
848%ifarch aarch64
849%{_rpmlibdir}/platform/aarch64*
850%endif
851%ifarch %{arm}
852%{_rpmlibdir}/platform/arm*
853%endif
854%ifarch ia64
855%{_rpmlibdir}/platform/ia64*
856%endif
857%ifarch mips mipsel mips64 mips64el
858%{_rpmlibdir}/platform/mips*
859%endif
860%ifarch %{ppc}
861%{_rpmlibdir}/platform/ppc*
862%endif
863%ifarch sparc sparc64
864%{_rpmlibdir}/platform/sparc*
865%endif
866
867%dir %{_rpmlibdir}/pld
868
869%attr(755,root,root) %{_rpmlibdir}/dbupgrade.sh
870%attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion
871%attr(755,root,root) %{_rpmlibdir}/rpmdb_reset
872%attr(755,root,root) %{_rpmlibdir}/rpmdb_dump
873%attr(755,root,root) %{_rpmlibdir}/rpmdb_load
874
875# valgrind suppression file for rpm
876%{_rpmlibdir}/rpm.supp
877
878%files base
879%defattr(644,root,root,755)
880%dir %{_sysconfdir}/rpm
881%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
882%dir %{_rpmlibdir}
883%attr(755,root,root) %{_bindir}/banner.sh
884%attr(755,root,root) %{_rpmlibdir}/user_group.sh
885%dir /var/lib/banner
886
887%files lib
888%defattr(644,root,root,755)
889%attr(755,root,root) /%{_lib}/librpm.so.9
890%attr(755,root,root) /%{_lib}/librpm.so.%{sover}
891%attr(755,root,root) /%{_lib}/librpmbuild.so.9
892%attr(755,root,root) /%{_lib}/librpmbuild.so.%{sover}
893%attr(755,root,root) /%{_lib}/librpmio.so.9
894%attr(755,root,root) /%{_lib}/librpmio.so.%{sover}
895%attr(755,root,root) /%{_lib}/librpmsign.so.9
896%attr(755,root,root) /%{_lib}/librpmsign.so.%{sover}
897%{?with_plugins:%dir %{_libdir}/rpm-plugins}
898
899%files devel
900%defattr(644,root,root,755)
901%attr(755,root,root) %{_libdir}/librpm.so
902%attr(755,root,root) %{_libdir}/librpmbuild.so
903%attr(755,root,root) %{_libdir}/librpmio.so
904%attr(755,root,root) %{_libdir}/librpmsign.so
905%{_libdir}/librpm*.la
906%{_includedir}/rpm
907%{_pkgconfigdir}/*.pc
908
909%files utils
910%defattr(644,root,root,755)
911%attr(755,root,root) %{_bindir}/rpm2archive
912%attr(755,root,root) %{_bindir}/rpm2cpio
913%attr(755,root,root) %{_bindir}/rpmgraph
914%attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
915%attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
916%attr(755,root,root) %{_rpmlibdir}/tgpg
917%attr(755,root,root) %{_rpmlibdir}/debugedit
918%attr(755,root,root) %{_rpmlibdir}/rpmdeps
919%{_mandir}/man8/rpm2archive.8*
920%{_mandir}/man8/rpm2cpio.8*
921%{_mandir}/man8/rpmdeps.8*
922%{_mandir}/man8/rpmgraph.8*
923%lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
924%lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
925%lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
926%lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
927%lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
928%lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
929%lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
930
931%files build
932%defattr(644,root,root,755)
933%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
934%attr(755,root,root) %{_rpmlibdir}/brp-*
935%attr(755,root,root) %{_rpmlibdir}/check-files
936%attr(755,root,root) %{_rpmlibdir}/install-build-tree
937%attr(755,root,root) %{_rpmlibdir}/elfdeps
938%attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
939# needs hacked pkg-config to return anything
940%attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
941%attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
942
943%attr(755,root,root) %{_rpmlibdir}/fontconfig.prov
944# must be here for "Requires: rpm-*prov" to work
945#%{_rpmlibdir}/macros.d/cmake
946#%{_rpmlibdir}/macros.d/gstreamer
947#%{_rpmlibdir}/macros.d/libtool
948#%{_rpmlibdir}/macros.d/perl
949#%{_rpmlibdir}/macros.d/pkgconfig
950#%{_rpmlibdir}/macros.d/python
951#%{_rpmlibdir}/macros.d/selinux
952#%{_rpmlibdir}/macros.d/tcl
953#%{_rpmlibdir}/macros.rpmbuild
954
955%attr(755,root,root) %{_rpmlibdir}/check-buildroot
956%attr(755,root,root) %{_rpmlibdir}/check-prereqs
957%attr(755,root,root) %{_rpmlibdir}/check-rpaths
958%attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
959%attr(755,root,root) %{_rpmlibdir}/find-provides
960%attr(755,root,root) %{_rpmlibdir}/find-requires
961%attr(755,root,root) %{_rpmlibdir}/ocamldeps.sh
962%attr(755,root,root) %{_rpmlibdir}/script.req
963%attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
964
965%dir %{_rpmlibdir}/fileattrs
966%{_rpmlibdir}/fileattrs/debuginfo.attr
967%{_rpmlibdir}/fileattrs/desktop.attr
968%{_rpmlibdir}/fileattrs/elf.attr
969%{_rpmlibdir}/fileattrs/font.attr
970%{_rpmlibdir}/fileattrs/libtool.attr
971%{_rpmlibdir}/fileattrs/metainfo.attr
972%{_rpmlibdir}/fileattrs/ocaml.attr
973%{_rpmlibdir}/fileattrs/perl.attr
974%{_rpmlibdir}/fileattrs/perllib.attr
975%{_rpmlibdir}/fileattrs/pkgconfig.attr
976%{_rpmlibdir}/fileattrs/python.attr
977%{_rpmlibdir}/fileattrs/pythondist.attr
978%{_rpmlibdir}/fileattrs/script.attr
979
980%attr(755,root,root) %{_bindir}/gendiff
981%attr(755,root,root) %{_bindir}/rpmbuild
982%attr(755,root,root) %{_bindir}/rpmspec
983
984%{_mandir}/man1/gendiff.1*
985%lang(pl) %{_mandir}/pl/man1/gendiff.1*
986%{_mandir}/man8/rpmbuild.8*
987%lang(ja) %{_mandir}/ja/man8/rpmbuild.8*
988%lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
989%{_mandir}/man8/rpmspec.8*
990
991%files perlprov
992%defattr(644,root,root,755)
993%attr(755,root,root) %{_rpmlibdir}/perl.*
994
995%files pythonprov
996%defattr(644,root,root,755)
997%attr(755,root,root) %{_rpmlibdir}/pythondistdeps.py
998
999%if %{with python3}
1000%files -n python3-rpm
1001%defattr(644,root,root,755)
1002%dir %{py3_sitedir}/rpm
1003%attr(755,root,root) %{py3_sitedir}/rpm/*.so
1004%{py3_sitedir}/rpm/*.py
1005%{py3_sitedir}/rpm-%{version}-py*.egg-info
1006%{py3_sitedir}/rpm/__pycache__
1007%endif
1008
1009%if %{with plugins}
1010%files plugin-audit
1011%defattr(644,root,root,755)
1012%attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
1013%{_mandir}/man8/rpm-plugin-audit.8*
1014
1015%files plugin-syslog
1016%defattr(644,root,root,755)
1017%attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
1018%{_mandir}/man8/rpm-plugin-syslog.8*
1019
1020%files plugin-systemd-inhibit
1021%defattr(644,root,root,755)
1022%attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so
1023%{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
1024
1025%files plugin-ima
1026%defattr(644,root,root,755)
1027%attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
1028%{_mandir}/man8/rpm-plugin-ima.8*
1029
1030%files plugin-prioreset
1031%defattr(644,root,root,755)
1032%attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
1033%{_mandir}/man8/rpm-plugin-prioreset.8*
1034
1035%files plugin-selinux
1036%defattr(644,root,root,755)
1037%attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
1038%{_mandir}/man8/rpm-plugin-selinux.8*
1039%endif
1040
1041%files sign
1042%defattr(644,root,root,755)
1043%attr(755,root,root) %{_bindir}/rpmsign
1044%{_mandir}/man8/rpmsign.8*
1045
1046%if %{with apidocs}
1047%files apidocs
1048%defattr(644,root,root,755)
1049%doc doc/librpm/html/*
1050%endif
This page took 0.097717 seconds and 4 git commands to generate.