]> git.pld-linux.org Git - packages/rpm.git/blob - rpm.spec
- platform fixes
[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.2
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 Patch22:        ix86-platforms.patch
77 URL:            https://rpm.org/
78 BuildRequires:  acl-devel
79 BuildRequires:  db-devel >= %{db_ver}
80 BuildRequires:  autoconf >= 2.63
81 BuildRequires:  automake >= 1.4
82 BuildRequires:  bzip2-devel >= 1.0.2-17
83 BuildRequires:  elfutils-devel >= 0.108
84 BuildRequires:  gettext-tools >= 0.19.2
85 BuildRequires:  libarchive-devel
86 BuildRequires:  libcap-devel
87 BuildRequires:  libmagic-devel
88 BuildRequires:  libgcrypt-devel
89 %if %{with plugins}
90 BuildRequires:  audit-libs-devel
91 BuildRequires:  dbus-devel
92 %{?with_imaevm:BuildRequires:   libimaevm-devel >= 1.0}
93 BuildRequires:  libselinux-devel >= 2.1.0
94 %endif
95 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
96 BuildRequires:  libstdc++-devel
97 BuildRequires:  libtool >= 1:1.4.2-9
98 BuildRequires:  ossp-uuid-devel
99 BuildRequires:  patch >= 2.2
100 BuildRequires:  pkgconfig(lua) >= 5.1
101 BuildRequires:  popt-devel >= %{popt_ver}
102 BuildRequires:  python3-modules
103 %if %{with python3}
104 BuildRequires:  python3-devel
105 BuildRequires:  rpm-pythonprov
106 BuildRequires:  rpmbuild(macros) >= 1.750
107 %endif
108 BuildRequires:  sqlite3-devel >= 3.22.0
109 BuildRequires:  tcl
110 BuildRequires:  xz-devel
111 BuildRequires:  zlib-devel
112 BuildRequires:  zstd-devel
113 %if %{with apidocs}
114 BuildRequires:  doxygen
115 BuildRequires:  ghostscript
116 BuildRequires:  graphviz
117 BuildRequires:  tetex-pdftex
118 %endif
119 Requires(posttrans):    coreutils
120 Requires:       %{name}-base = %{epoch}:%{version}-%{release}
121 Requires:       %{name}-lib = %{epoch}:%{version}-%{release}
122 Requires:       rpm-pld-macros >= 1.744
123 Requires:       FHS >= 3.0-2
124 Requires:       libgcrypt
125 Requires:       popt >= %{popt_ver}
126 %if %{with recommends_tags}
127 Recommends:     rpm-plugin-audit
128 Recommends:     rpm-plugin-prioreset
129 Recommends:     rpm-plugin-syslog
130 Recommends:     rpm-plugin-systemd-inhibit
131 %endif
132 Obsoletes:      rpm-utils-perl
133 Obsoletes:      rpm-utils-static
134 Conflicts:      glibc < 2.2.92
135 # db4.6 poldek needed
136 Conflicts:      poldek < 0.21-0.20070703.00.3
137 # segfaults with lzma 0.42.2
138 Conflicts:      lzma-libs < 4.999.3
139 Conflicts:      util-vserver < 0.30.216-1.pre3034.7
140 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
141
142 %define         _binary_payload         w9.gzdio
143
144 # don't require very fresh rpm.macros to build
145 %define         find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT
146 %define         ix86    i386 i486 i586 i686 athlon geode pentium3 pentium4
147 %define         ppc     ppc ppc7400 ppc7450
148 %define         x8664   amd64 ia32e x86_64
149
150 %define         _rpmlibdir /usr/lib/rpm
151
152 %description
153 RPM is a powerful package manager, which can be used to build,
154 install, query, verify, update, and uninstall individual software
155 packages. A package consists of an archive of files, and package
156 information, including name, version, and description.
157
158 %description -l de.UTF-8
159 RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur
160 Installation, Anfrage, Verifizierung, Aktualisierung und
161 Uninstallation individueller Softwarepakete. Ein Paket besteht aus
162 einem Archiv Dateien und Paketinformation, inklusive Name, Version und
163 Beschreibung.
164
165 %description -l es.UTF-8
166 RPM es un poderoso administrador de paquetes, que puede ser usado para
167 construir, instalar, pesquisar, verificar, actualizar y desinstalar
168 paquetes individuales de software. Un paquete consiste en un
169 almacenaje de archivos, y información sobre el paquete, incluyendo
170 nombre, versión y descripción.
171
172 %description -l pl.UTF-8
173 RPM jest doskonałym programem zarządzającym pakietami. Umożliwia on
174 przebudowanie, instalację czy weryfikację dowolnego pakietu.
175 Informacje dotyczące każdego pakietu, takie jak jego opis, lista
176 plików wchodzących w skład pakietu, zależności od innych pakietów, są
177 przechowywane w bazie danych i można je uzyskać za pomocą opcji
178 odpytywania programu rpm.
179
180 %description -l pt_BR.UTF-8
181 RPM é um poderoso gerenciador de pacotes, que pode ser usado para
182 construir, instalar, pesquisar, verificar, atualizar e desinstalar
183 pacotes individuais de software. Um pacote consiste de um conjunto de
184 arquivos e informações adicionais, incluindo nome, versão e descrição
185 do pacote, permissões dos arquivos, etc.
186
187 %description -l ru.UTF-8
188 RPM - это мощный менеджер пакетов, который может быть использован для
189 создания, инсталляции, запросов (query), проверки, обновления и
190 удаления программных пакетов. Пакет состоит из файлового архива и
191 служебной информации, включающей название, версию, описание и другие
192 данные о пакете.
193
194 %description -l uk.UTF-8
195 RPM - це потужний менеджер пакетів, що може бути використаний для
196 створення, інсталяції, запитів (query), перевірки, поновлення та
197 видалення програмних пакетів. Пакет складається з файлового архіву та
198 службової інформації, що містить назву, версію, опис та іншу
199 інформацію про пакет.
200
201 %package base
202 Summary:        RPM base package - scripts used by rpm packages themselves
203 Summary(pl.UTF-8):      Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
204 Group:          Base
205 Requires:       filesystem
206 Obsoletes:      rpm-scripts
207 Obsoletes:      vserver-rpm
208
209 %description base
210 The RPM base package contains scripts used by rpm packages themselves.
211 These include:
212 - scripts for adding/removing groups and users needed for rpm
213   packages,
214 - banner.sh to display %%banner messages from rpm scriptlets.
215
216 %description base -l pl.UTF-8
217 Pakiet podstawowy RPM zwiera skrypty używane przez same pakiety rpm.
218 Zawiera on:
219 - skrypty dodające/usuwające grupy i użytkowników dla pakietów rpm,
220 - banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
221
222 %package lib
223 Summary:        RPMs library
224 Summary(pl.UTF-8):      Biblioteki RPM-a
225 Group:          Libraries
226 Requires:       db >= %{db_ver}
227 Requires:       libmagic >= 1.15-2
228 Requires:       popt >= %{popt_ver}
229 Obsoletes:      rpm-libs
230 # avoid SEGV caused by mixed db versions
231 Conflicts:      poldek < 0.18.1-16
232
233 %description lib
234 RPMs library.
235
236 %description lib -l pl.UTF-8
237 Biblioteki RPM-a.
238
239 %package devel
240 Summary:        Header files for rpm libraries
241 Summary(de.UTF-8):      Header-Dateien für rpm Libraries
242 Summary(es.UTF-8):      Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
243 Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek rpm
244 Summary(pt_BR.UTF-8):   Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
245 Summary(ru.UTF-8):      Хедеры и библиотеки для программ, работающих с rpm-пакетами
246 Summary(uk.UTF-8):      Хедери та бібліотеки для програм, що працюють з пакетами rpm
247 Group:          Development/Libraries
248 Requires:       %{name}-lib = %{epoch}:%{version}-%{release}
249 Requires:       bzip2-devel
250 Requires:       db-devel >= %{db_ver}
251 Requires:       elfutils-devel
252 Requires:       libmagic-devel
253 Requires:       libgcrypt-devel
254 %if %{with selinux}
255 Requires:       libselinux-devel
256 Requires:       libsemanage-devel
257 Requires:       libsepol-devel
258 %endif
259 Requires:       popt-devel >= %{popt_ver}
260 Requires:       zlib-devel
261
262 %description devel
263 The RPM packaging system includes C libraries that make it easy to
264 manipulate RPM packages and databases. They are intended to ease the
265 creation of graphical package managers and other tools that need
266 intimate knowledge of RPM packages. This package contains header files
267 for these libraries.
268
269 %description devel -l de.UTF-8
270 Der RPM-Packensystem enthält eine C-Library, die macht es einfach
271 RPM-Pakete und Dateibanken zu manipulieren. Er eignet sich für
272 Vereinfachung des Schaffens grafischer Paket-Manager und anderer
273 Werkzeuge, die intime Kenntnis von RPM-Paketen brauchen.
274
275 %description devel -l es.UTF-8
276 El sistema de empaquetado RPM incluye una biblioteca C que vuelve
277 fácil la manipulación de paquetes y bases de datos RPM. Su objetivo es
278 facilitar la creación de administradores gráficos de paquetes y otras
279 herramientas que necesiten un conocimiento profundo de paquetes RPM.
280
281 %description devel -l pl.UTF-8
282 System RPM zawiera biblioteki C, które ułatwiają manipulowanie
283 pakietami RPM oraz bazami danych. W zamiarze ma to uprościć tworzenie
284 graficznych programów zarządzających pakietami oraz innych narzędzi,
285 które wymagają szczegółowej wiedzy na temat pakietów RPM. Ten pakiet
286 zawiera pliki nagłówkowe wspomnianych bibliotek.
287
288 %description devel -l pt_BR.UTF-8
289 O sistema de empacotamento RPM inclui uma biblioteca C que torna fácil
290 a manipulação de pacotes e bases de dados RPM. Seu objetivo é
291 facilitar a criação de gerenciadores gráficos de pacotes e outras
292 ferramentas que precisem de conhecimento profundo de pacotes RPM.
293
294 %description devel -l ru.UTF-8
295 Система управления пакетами RPM содержит библиотеку C, которая
296 упрощает манипуляцию пакетами RPM и соответствующими базами данных.
297 Эта библиотека предназначена для облегчения создания графических
298 пакетных менеджеров и других утилит, которым необходимо работать с
299 пакетами RPM.
300
301 %description devel -l uk.UTF-8
302 Система керування пакетами RPM містить бібліотеку C, котра спрощує
303 роботу з пакетами RPM та відповідними базами даних. Ця бібліотека
304 призначена для полегшення створення графічних пакетних менеджерів та
305 інших утиліт, що працюють з пакетами RPM.
306
307 %package utils
308 Summary:        Additional utilities for managing RPM packages and database
309 Summary(de.UTF-8):      Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
310 Summary(pl.UTF-8):      Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
311 Group:          Applications/File
312 Requires:       %{name} = %{epoch}:%{version}-%{release}
313 Requires:       popt >= %{popt_ver}
314 %if %{with recommends_tags}
315 Recommends:     bzip2
316 Recommends:     gzip
317 %endif
318 Conflicts:      filesystem-debuginfo < 3.0-16
319
320 %description utils
321 Additional utilities for managing RPM packages and database.
322
323 %description utils -l de.UTF-8
324 Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
325
326 %description utils -l pl.UTF-8
327 Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
328
329 %package build
330 Summary:        Scripts for building binary RPM packages
331 Summary(de.UTF-8):      Scripts fürs Bauen binärer RPM-Pakete
332 Summary(pl.UTF-8):      Skrypty pomocnicze do budowania binarnych RPM-ów
333 Summary(pt_BR.UTF-8):   Scripts e programas executáveis usados para construir pacotes
334 Summary(ru.UTF-8):      Скрипты и утилиты, необходимые для сборки пакетов
335 Summary(uk.UTF-8):      Скрипти та утиліти, необхідні для побудови пакетів
336 Group:          Applications/File
337 Requires(pretrans):     coreutils
338 Requires(pretrans):     findutils
339 Requires:       %{name}-utils = %{epoch}:%{version}-%{release}
340 Requires:       rpm-pld-macros-build >= 1.744
341 Requires:       /bin/id
342 Requires:       awk
343 Requires:       bzip2
344 Requires:       chrpath >= 0.10-4
345 Requires:       cpio
346 Requires:       diffutils
347 Requires:       elfutils
348 Requires:       file >= 4.17
349 Requires:       fileutils
350 Requires:       findutils
351 %ifarch athlon
352 Requires:       gcc >= 3.0.3
353 %else
354 Requires:       gcc
355 %endif
356 Requires:       glibc-devel
357 Requires:       grep
358 Requires:       gzip
359 Requires:       make
360 Requires:       patch
361 Requires:       sed >= 4.0
362 Requires:       sh-utils
363 Requires:       tar >= 1:1.22
364 Requires:       textutils
365 Requires:       which
366 Requires:       xz
367 Provides:       rpmbuild(noauto) = 3
368 %ifarch %{x8664}
369 Conflicts:      automake < 1:1.7.9-2
370 Conflicts:      libtool < 2:1.5-13
371 %endif
372
373 %description build
374 Scripts for building binary RPM packages.
375
376 %description build -l de.UTF-8
377 Scripts fürs Bauen binärer RPM-Pakete.
378
379 %description build -l pl.UTF-8
380 Skrypty pomocnicze do budowania binarnych RPM-ów.
381
382 %description build -l pt_BR.UTF-8
383 Este pacote contém scripts e programas executáveis que são usados para
384 construir pacotes usando o RPM.
385
386 %description build -l ru.UTF-8
387 Различные вспомогательные скрипты и исполняемые программы, которые
388 используются для сборки RPM'ов.
389
390 %description build -l uk.UTF-8
391 Різноманітні допоміжні скрипти та утиліти, які використовуються для
392 побудови RPM'ів.
393
394 %package perlprov
395 Summary:        Additional utilities for checking Perl provides/requires in RPM packages
396 Summary(de.UTF-8):      Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
397 Summary(pl.UTF-8):      Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
398 Group:          Applications/File
399 Requires:       %{name} = %{epoch}:%{version}-%{release}
400 Requires:       perl-Encode
401 Requires:       perl-devel
402 Requires:       perl-modules
403
404 %description perlprov
405 Additional utilities for checking Perl provides/requires in RPM
406 packages.
407
408 %description perlprov -l de.UTF-8
409 Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen.
410
411 %description perlprov -l pl.UTF-8
412 Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
413 pakietach RPM.
414
415 %package pythonprov
416 Summary:        Python macros, which simplifies creation of RPM packages with Python software
417 Summary(pl.UTF-8):      Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
418 Group:          Applications/File
419 Requires:       %{name} = %{epoch}:%{version}-%{release}
420 Requires:       python3
421 Requires:       python3-modules
422 Requires:       python3-setuptools
423
424 %description pythonprov
425 Python macros, which simplifies creation of RPM packages with Python
426 software.
427
428 %description pythonprov -l pl.UTF-8
429 Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
430 Pythonie.
431
432 %package -n python3-rpm
433 Summary:        Python 3 interface to RPM library
434 Summary(pl.UTF-8):      Interfejs Pythona 3 do biblioteki RPM-a
435 Summary(pt_BR.UTF-8):   Módulo Python 3 para aplicativos que manipulam pacotes RPM
436 Group:          Development/Languages/Python
437 Requires:       %{name} = %{epoch}:%{version}-%{release}
438 Requires:       python3
439 Obsoletes:      python-rpm < 1:4.16.0
440 Obsoletes:      rpm-python
441
442 %description -n python3-rpm
443 The python3-rpm package contains a module which permits applications
444 written in the Python 3 programming language to use the interface
445 supplied by RPM (RPM Package Manager) libraries.
446
447 This package should be installed if you want to develop Python 3
448 programs that will manipulate RPM packages and databases.
449
450 %description -n python3-rpm -l pl.UTF-8
451 Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w
452 Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki
453 RPM-a.
454
455 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
456 Pythonie 3 programy manipulujące pakietami i bazami danych rpm.
457
458 %description -n python3-rpm -l pt_BR.UTF-8
459 O pacote python3-rpm contém um módulo que permite que aplicações
460 escritas em Python 3 utilizem a interface fornecida pelas bibliotecas
461 RPM (RPM Package Manager).
462
463 Esse pacote deve ser instalado se você quiser desenvolver programas em
464 Python 3 para manipular pacotes e bancos de dados RPM.
465
466 %package plugin-audit
467 Summary:        Plugin for logging audit events on package operations
468 Group:          Base
469 Requires:       %{name}-lib = %{epoch}:%{version}-%{release}
470
471 %description plugin-audit
472 Plugin for libaudit support
473
474 %package plugin-syslog
475 Summary:        Plugin for syslog functionality
476 Group:          Base
477 Requires:       %{name}-lib = %{epoch}:%{version}-%{release}
478
479 %description plugin-syslog
480 This plugin exports RPM actions to the system log.
481
482 %package plugin-systemd-inhibit
483 Summary:        Plugin for systemd inhibit functionality
484 Group:          Base
485 Requires:       %{name}-lib = %{epoch}:%{version}-%{release}
486
487 %description plugin-systemd-inhibit
488 This plugin blocks systemd from entering idle, sleep or shutdown while
489 an rpm transaction is running using the systemd-inhibit mechanism.
490
491 %package plugin-ima
492 Summary:        Plugin for IMA file signatures
493 Group:          Base
494 Requires:       %{name}-lib = %{epoch}:%{version}-%{release}
495
496 %description plugin-ima
497 This plugin adds support for enforcing and verifying IMA file
498 signatures in an rpm.
499
500 %package plugin-prioreset
501 Summary:        Plugin for resetting scriptlet priorities for SysV init
502 Group:          Base
503 Requires:       %{name}-lib = %{epoch}:%{version}-%{release}
504
505 %description plugin-prioreset
506 This plugin is useful on legacy SysV init systems if you run rpm
507 transactions with nice/ionice priorities. Should not be used on
508 systemd systems.
509
510 %package plugin-selinux
511 Summary:        Plugin for SELinux functionality
512 Group:          Base
513 Requires:       %{name}-lib = %{epoch}:%{version}-%{release}
514 Requires:       libselinux >= 2.1.0
515
516 %description plugin-selinux
517 Plugin for SELinux functionality.
518
519 %package sign
520 Summary:        Package signing support
521 Group:          Base
522 Requires:       %{name}-lib = %{epoch}:%{version}-%{release}
523
524 %description sign
525 This package contains support for digitally signing RPM packages.
526
527 %package apidocs
528 Summary:        RPM API documentation and guides
529 Summary(pl.UTF-8):      Documentacja API RPM-a i przewodniki
530 Group:          Documentation
531 BuildArch:      noarch
532
533 %description apidocs
534 Documentation for RPM API and guides in HTML format generated from rpm
535 sources by doxygen.
536
537 %description apidocs -l pl.UTF-8
538 Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
539 źrodeł RPM-a przez doxygen.
540
541 %prep
542 %setup -q -n %{name}-%{version}%{?subver}
543 %patch0 -p1
544 %patch1 -p1
545 %patch2 -p1
546 %patch3 -p1
547 %patch4 -p1
548 %patch6 -p0
549 %patch7 -p1
550 %patch8 -p1
551 %patch9 -p1
552 %patch10 -p1
553 %patch11 -p1
554 %patch12 -p1
555 %patch13 -p1
556 %patch14 -p1
557 %patch15 -p1
558 %patch16 -p1
559 %patch17 -p1
560 %patch18 -p1
561 %patch19 -p1
562 %patch20 -p1
563 %patch21 -p1
564 %patch22 -p1
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.320545 seconds and 3 git commands to generate.