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