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