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