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