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