]> git.pld-linux.org Git - packages/rpm.git/blob - rpm.spec
- rel 0.3
[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.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:  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 cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
689 %ifarch x32
690 %{_target_cpu}-%{_target_vendor}-linux-gnux32
691 %else
692 %{_target_cpu}-%{_target_vendor}-linux
693 %endif
694 EOF
695
696 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
697
698 install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld
699
700 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
701 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
702 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
703 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rpm
704
705 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh
706
707 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
708 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
709 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
710 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
711 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
712 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
713
714 cp -p tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/
715 cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/
716 cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh
717
718 # move rpm to /bin
719 %{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
720 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
721 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmverify
722
723 # move essential libs to /lib (libs that /bin/rpm links to)
724 for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
725         mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib}
726         ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
727 done
728
729 #./rpmdb --macros=macros --rcfile=rpmrc --dbpath=/home/users/baggins/devel/PLD/rpm/BUILD/rpm-4.15.1/x/ --initdb
730
731 # Make sure we have bdb set a default backend
732 grep -qE "db_backend[[:blank:]]+bdb" $RPM_BUILD_ROOT%{_rpmlibdir}/macros
733
734 %if %{with python3}
735 # Remove anything that rpm make install might put there
736 %{__rm} -rf $RPM_BUILD_ROOT%{py3_sitedir}
737 cd python
738 %py3_install
739 cd ..
740 %endif
741
742 %{__rm} $RPM_BUILD_ROOT%{_libdir}/rpm-plugins/*.la
743
744 # wrong location, not used anyway
745 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log}
746
747 %find_lang %{name}
748
749 %clean
750 rm -rf $RPM_BUILD_ROOT
751
752 %posttrans
753 if [ -e /var/lib/rpm/Packages ] && \
754                 ! %{_rpmlibdir}/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then
755         if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
756                         /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
757                 echo
758                 echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
759                 echo
760         fi
761         echo
762         echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
763         echo 'you should ignore it and restart poldek'
764         echo
765         %{_rpmlibdir}/dbupgrade.sh
766 fi
767
768 %triggerpostun -- %{name} < 4.4.9-44
769 %{_rpmlibdir}/hrmib-cache
770
771 %post   lib -p /sbin/ldconfig
772 %postun lib -p /sbin/ldconfig
773
774 %pretrans build
775 find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
776
777 %files -f %{name}.lang
778 %defattr(644,root,root,755)
779 %doc ChangeLog CREDITS README
780
781 %dir /etc/pki/rpm-gpg
782 /etc/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
783
784 %attr(755,root,root) /bin/rpm
785 %attr(755,root,root) %{_bindir}/rpmdb
786 %attr(755,root,root) %{_bindir}/rpmkeys
787 %attr(755,root,root) %{_bindir}/rpmquery
788 %attr(755,root,root) %{_bindir}/rpmverify
789
790 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
791 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
792 # this is ok to be replaced
793 %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform
794
795 %{_mandir}/man8/rpm.8*
796 %{_mandir}/man8/rpmdb.8*
797 %{_mandir}/man8/rpmkeys.8*
798 %{_mandir}/man8/rpm-misc.8*
799 %{?with_plugins:%{_mandir}/man8/rpm-plugins.8*}
800 %lang(fr) %{_mandir}/fr/man8/rpm.8*
801 %lang(ja) %{_mandir}/ja/man8/rpm.8*
802 %lang(ko) %{_mandir}/ko/man8/rpm.8*
803 %lang(pl) %{_mandir}/pl/man8/rpm.8*
804 %lang(ru) %{_mandir}/ru/man8/rpm.8*
805 %lang(sk) %{_mandir}/sk/man8/rpm.8*
806
807 %dir /var/lib/rpm
808
809 # exported package NVRA (stamped with install tid)
810 # net-snmp hrSWInstalledName queries, bash-completions
811 %dir /var/cache/hrmib
812
813 %{_rpmlibdir}/rpmpopt*
814 %{_rpmlibdir}/rpmrc
815 %{_rpmlibdir}/macros
816 %dir %{_rpmlibdir}/macros.d
817 %dir %{_rpmlibdir}/platform
818 %{_rpmlibdir}/platform/noarch-*
819 %ifarch %{ix86} %{x8664} x32
820 %{_rpmlibdir}/platform/athlon*
821 %{_rpmlibdir}/platform/geode*
822 %{_rpmlibdir}/platform/i?86*
823 %{_rpmlibdir}/platform/pentium*
824 %endif
825 %ifarch %{x8664} x32
826 %{_rpmlibdir}/platform/amd64*
827 %{_rpmlibdir}/platform/ia32e*
828 %{_rpmlibdir}/platform/x86_64*
829 %{_rpmlibdir}/platform/x32*
830 %endif
831 %ifarch alpha
832 %{_rpmlibdir}/platform/alpha*
833 %endif
834 %ifarch aarch64
835 %{_rpmlibdir}/platform/aarch64*
836 %endif
837 %ifarch ia64
838 %{_rpmlibdir}/platform/ia64*
839 %endif
840 %ifarch mips mipsel mips64 mips64el
841 %{_rpmlibdir}/platform/mips*
842 %endif
843 %ifarch %{ppc}
844 %{_rpmlibdir}/platform/ppc*
845 %endif
846 %ifarch sparc sparc64
847 %{_rpmlibdir}/platform/sparc*
848 %endif
849
850 %dir %{_rpmlibdir}/pld
851
852 %attr(755,root,root) %{_rpmlibdir}/hrmib-cache
853
854 %attr(755,root,root) %{_rpmlibdir}/dbupgrade.sh
855 %attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion
856 %attr(755,root,root) %{_rpmlibdir}/rpmdb_reset
857 %attr(755,root,root) %{_rpmlibdir}/rpmdb_dump
858 %attr(755,root,root) %{_rpmlibdir}/rpmdb_load
859
860 # valgrind suppression file for rpm
861 %{_rpmlibdir}/rpm.supp
862
863 %files base
864 %defattr(644,root,root,755)
865 %dir %{_sysconfdir}/rpm
866 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
867 %dir %{_rpmlibdir}
868 %attr(755,root,root) %{_bindir}/banner.sh
869 %attr(755,root,root) %{_rpmlibdir}/user_group.sh
870 %dir /var/lib/banner
871
872 %files lib
873 %defattr(644,root,root,755)
874 %attr(755,root,root) /%{_lib}/librpm.so.9
875 %attr(755,root,root) /%{_lib}/librpm.so.%{sover}
876 %attr(755,root,root) /%{_lib}/librpmbuild.so.9
877 %attr(755,root,root) /%{_lib}/librpmbuild.so.%{sover}
878 %attr(755,root,root) /%{_lib}/librpmio.so.9
879 %attr(755,root,root) /%{_lib}/librpmio.so.%{sover}
880 %attr(755,root,root) /%{_lib}/librpmsign.so.9
881 %attr(755,root,root) /%{_lib}/librpmsign.so.%{sover}
882 %{?with_plugins:%dir %{_libdir}/rpm-plugins}
883
884 %files devel
885 %defattr(644,root,root,755)
886 %attr(755,root,root) %{_libdir}/librpm.so
887 %attr(755,root,root) %{_libdir}/librpmbuild.so
888 %attr(755,root,root) %{_libdir}/librpmio.so
889 %attr(755,root,root) %{_libdir}/librpmsign.so
890 %{_libdir}/librpm*.la
891 %{_includedir}/rpm
892 %{_pkgconfigdir}/*.pc
893
894 %files utils
895 %defattr(644,root,root,755)
896 %attr(755,root,root) %{_bindir}/rpm2archive
897 %attr(755,root,root) %{_bindir}/rpm2cpio
898 %attr(755,root,root) %{_bindir}/rpmgraph
899 %attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh
900 %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
901 %attr(755,root,root) %{_rpmlibdir}/tgpg
902 %attr(755,root,root) %{_rpmlibdir}/debugedit
903 %attr(755,root,root) %{_rpmlibdir}/rpmdeps
904 %{_mandir}/man8/rpm2archive.8*
905 %{_mandir}/man8/rpm2cpio.8*
906 %{_mandir}/man8/rpmdeps.8*
907 %{_mandir}/man8/rpmgraph.8*
908 %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
909 %lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
910 %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
911 %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
912 %lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
913 %lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
914 %lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
915
916 %files build
917 %defattr(644,root,root,755)
918 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
919 %attr(755,root,root) %{_rpmlibdir}/brp-*
920 %attr(755,root,root) %{_rpmlibdir}/check-files
921 %attr(755,root,root) %{_rpmlibdir}/install-build-tree
922 %attr(755,root,root) %{_rpmlibdir}/elfdeps
923 %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
924 # needs hacked pkg-config to return anything
925 %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
926 %attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
927
928 %attr(755,root,root) %{_rpmlibdir}/fontconfig.prov
929 # must be here for "Requires: rpm-*prov" to work
930 #%{_rpmlibdir}/macros.d/cmake
931 #%{_rpmlibdir}/macros.d/gstreamer
932 #%{_rpmlibdir}/macros.d/libtool
933 #%{_rpmlibdir}/macros.d/perl
934 #%{_rpmlibdir}/macros.d/pkgconfig
935 #%{_rpmlibdir}/macros.d/python
936 #%{_rpmlibdir}/macros.d/selinux
937 #%{_rpmlibdir}/macros.d/tcl
938 #%{_rpmlibdir}/macros.rpmbuild
939
940 %attr(755,root,root) %{_rpmlibdir}/check-buildroot
941 %attr(755,root,root) %{_rpmlibdir}/check-prereqs
942 %attr(755,root,root) %{_rpmlibdir}/check-rpaths
943 %attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
944 %attr(755,root,root) %{_rpmlibdir}/find-provides
945 %attr(755,root,root) %{_rpmlibdir}/find-requires
946 %attr(755,root,root) %{_rpmlibdir}/ocamldeps.sh
947 %attr(755,root,root) %{_rpmlibdir}/script.req
948 %attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
949
950 %dir %{_rpmlibdir}/fileattrs
951 %{_rpmlibdir}/fileattrs/debuginfo.attr
952 %{_rpmlibdir}/fileattrs/desktop.attr
953 %{_rpmlibdir}/fileattrs/elf.attr
954 %{_rpmlibdir}/fileattrs/font.attr
955 %{_rpmlibdir}/fileattrs/libtool.attr
956 %{_rpmlibdir}/fileattrs/metainfo.attr
957 %{_rpmlibdir}/fileattrs/ocaml.attr
958 %{_rpmlibdir}/fileattrs/perl.attr
959 %{_rpmlibdir}/fileattrs/perllib.attr
960 %{_rpmlibdir}/fileattrs/pkgconfig.attr
961 %{_rpmlibdir}/fileattrs/python.attr
962 %{_rpmlibdir}/fileattrs/pythondist.attr
963 %{_rpmlibdir}/fileattrs/script.attr
964
965 %attr(755,root,root) %{_bindir}/gendiff
966 %attr(755,root,root) %{_bindir}/rpmbuild
967 %attr(755,root,root) %{_bindir}/rpmspec
968
969 %{_mandir}/man1/gendiff.1*
970 %lang(pl) %{_mandir}/pl/man1/gendiff.1*
971 %{_mandir}/man8/rpmbuild.8*
972 %lang(ja) %{_mandir}/ja/man8/rpmbuild.8*
973 %lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
974 %{_mandir}/man8/rpmspec.8*
975
976 %files perlprov
977 %defattr(644,root,root,755)
978 %attr(755,root,root) %{_rpmlibdir}/perl.*
979
980 %files pythonprov
981 %defattr(644,root,root,755)
982 %attr(755,root,root) %{_rpmlibdir}/pythondistdeps.py
983
984 %if %{with python3}
985 %files -n python3-rpm
986 %defattr(644,root,root,755)
987 %dir %{py3_sitedir}/rpm
988 %attr(755,root,root) %{py3_sitedir}/rpm/*.so
989 %{py3_sitedir}/rpm/*.py
990 %{py3_sitedir}/rpm-%{version}-py*.egg-info
991 %{py3_sitedir}/rpm/__pycache__
992 %endif
993
994 %if %{with plugins}
995 %files plugin-audit
996 %defattr(644,root,root,755)
997 %attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
998 %{_mandir}/man8/rpm-plugin-audit.8*
999
1000 %files plugin-syslog
1001 %defattr(644,root,root,755)
1002 %attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
1003 %{_mandir}/man8/rpm-plugin-syslog.8*
1004
1005 %files plugin-systemd-inhibit
1006 %defattr(644,root,root,755)
1007 %attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so
1008 %{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
1009
1010 %files plugin-ima
1011 %defattr(644,root,root,755)
1012 %attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
1013 %{_mandir}/man8/rpm-plugin-ima.8*
1014
1015 %files plugin-prioreset
1016 %defattr(644,root,root,755)
1017 %attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
1018 %{_mandir}/man8/rpm-plugin-prioreset.8*
1019
1020 %files plugin-selinux
1021 %defattr(644,root,root,755)
1022 %attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
1023 %{_mandir}/man8/rpm-plugin-selinux.8*
1024 %endif
1025
1026 %files sign
1027 %defattr(644,root,root,755)
1028 %attr(755,root,root) %{_bindir}/rpmsign
1029 %{_mandir}/man8/rpmsign.8*
1030
1031 %if %{with apidocs}
1032 %files apidocs
1033 %defattr(644,root,root,755)
1034 %doc doc/librpm/html/*
1035 %endif
This page took 0.263875 seconds and 3 git commands to generate.