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