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