]> TLD Linux GIT Repositories - packages/rpm.git/blob - rpm.spec
- PLD merge (backport --nopretrans, --noposttrans options)
[packages/rpm.git] / rpm.spec
1 # TODO:
2 # pluto_> btw. /usr/lib/rpm/find-debuginfo.sh needs fix. it extract debuginfo also from kernel modules.
3 # pluto_> there's a filelist=$(find $RPM_BUILD_ROOT ! -path "$RPM_BUILD_ROOT/usr/lib/debug/*.debug" -type f
4 # pluto_> and we need to add ! -path /lib/modules/...
5 # - python(abi) cap is not provided automatically because /usr/lib*/libpython2*.so.*
6 #   matches ELF first
7 # - repackaging when lzma is not installed (todo: fix digest signature of header)
8 #   rpmbuild computes digest when writing package to temporary file, then adds a few
9 #   tags (incl. digest) and writes whole package to destination file;
10 #   repackaging uses unchanged "immutable header" image from original rpm, also
11 #   preserving payload format and compressor from original rpm, _not_ current settings
12 #   /usr/bin/install: cannot stat `./it.gmo': No such file or directory
13 #   /usr/bin/install: cannot stat `./sr@Latn.gmo': No such file or directory
14 # - maybe? http://rpm.org/gitweb?p=rpm.git;a=commitdiff;h=cfcd1f9bd98d5d0fc46a84931984efec3b9d47e2
15 # - fix linking, rpm is beeing linked against installed rpmio
16 #
17 # Conditional build:
18 %bcond_with     static          # build static rpm+rpmi
19 %bcond_with     apidocs         # don't generate documentation with doxygen
20 %bcond_with     internal_db     # internal db (db 4.5.20)
21 %bcond_with     autoreqdep      # autogenerate package name deps in addition to sonames/perl(X)
22 %bcond_without  nptl            # internal db: don't use process-shared POSIX mutexes (NPTL provides full interface)
23 %bcond_without  python          # don't build python bindings
24 %bcond_without  selinux         # build without selinux support
25 %bcond_without  system_libmagic # don't use system libmagic
26 %bcond_without  suggest_tags    # build without Suggest tag (bootstrapping)
27 %bcond_with     neon            # build with HTTP/WebDAV support (neon library). NOTE: neon libs are in /usr!
28
29 # versions of required libraries
30 %define reqdb_pkg       db4.7
31 %define reqdb_ver       4.7.25
32 %define reqpopt_ver     1.10.8
33 %define beecrypt_ver    2:4.1.2-4
34 %define sover           4.5
35
36 Summary:        RPM Package Manager
37 Summary(de.UTF-8):      RPM Packet-Manager
38 Summary(es.UTF-8):      Gestor de paquetes RPM
39 Summary(pl.UTF-8):      Aplikacja do zarządzania pakietami RPM
40 Summary(pt_BR.UTF-8):   Gerenciador de pacotes RPM
41 Summary(ru.UTF-8):      Менеджер пакетов от RPM
42 Summary(uk.UTF-8):      Менеджер пакетів від RPM
43 Name:           rpm
44 Version:        4.5
45 Release:        80.1
46 License:        LGPL
47 Group:          Base
48 Source0:        %{name}-%{version}.tar.gz
49 # Source0-md5:  4e69ab971f682c87625dc0f65d9e16bc
50 Source1:        %{name}.groups
51 Source2:        %{name}.platform
52 Source3:        %{name}-install-tree
53 Source4:        %{name}-find-spec-bcond
54 Source5:        %{name}-hrmib-cache
55 Source6:        %{name}-groups-po.awk
56 Source7:        %{name}-compress-doc
57 Source10:       %{name}-php-provides
58 Source11:       %{name}-php-requires
59 Source12:       %{name}.sysinfo
60 Source13:       perl.prov
61 Source14:       %{name}-user_group.sh
62 Source15:       %{name}.sysconfig
63 Source16:       %{name}-macros.java
64 Source17:       %{name}-java-requires
65 # http://svn.pld-linux.org/banner.sh/
66 Source18:       banner.sh
67 Source19:       %{name}-macros.gstreamer
68 Source20:       macros.php
69 Source21:       %{name}-php-requires.php
70 Patch1000:      %{name}-new-debuginfo.patch
71 #Patch0:        %{name}-pl.po.patch
72 Patch1:         %{name}-rpmrc.patch
73 Patch2:         %{name}-arch.patch
74 Patch3:         %{name}-rpmpopt.patch
75 Patch4:         %{name}-perl-macros.patch
76 Patch6:         %{name}-noexpand.patch
77 Patch7:         %{name}-scripts-closefds.patch
78 Patch8:         %{name}-db.patch
79 Patch9:         %{name}-gettext-in-header.patch
80 Patch10:        %{name}-compress-doc.patch
81 Patch11:        %{name}-rpm5-patchset-8074.patch
82 Patch12:        %{name}-system_libs.patch
83 Patch13:        %{name}-unglobal.patch
84 Patch14:        %{name}-etc_dir.patch
85 Patch15:        %{name}-system_libs-more.patch
86 Patch16:        %{name}-libmagic-locale.patch
87 Patch17:        %{name}-ldconfig-always.patch
88 Patch20:        %{name}-macros-ti.patch
89 Patch21:        %{name}-perl_req-skip_multiline.patch
90 Patch22:        %{name}-provides-dont-obsolete.patch
91 Patch23:        %{name}-pkgconfigdeps.patch
92 Patch24:        %{name}-po.patch
93 Patch25:        %{name}-link.patch
94 Patch26:        %{name}-notsc.patch
95 Patch27:        %{name}-hack-norpmlibdep.patch
96 Patch28:        %{name}-makefile-no_myLDADD_deps.patch
97 Patch29:        %{name}-perl_req-use_base.patch
98 Patch31:        %{name}-missing-prototypes.patch
99 Patch32:        %{name}-pld-autodep.patch
100 Patch33:        %{name}-arch-x86_64.patch
101 Patch34:        %{name}-epoch0.patch
102 Patch35:        %{name}-disable-features-ti.patch
103 Patch36:        %{name}-debuginfo.patch
104 Patch37:        %{name}-doxygen_hack.patch
105 Patch39:        %{name}-popt-coreutils.patch
106 Patch40:        %{name}-helperEVR-noassert.patch
107 Patch42:        %{name}-old-fileconflicts-behaviour.patch
108 Patch43:        %{name}-rpm5-patchset-8637.patch
109 Patch44:        %{name}-no-neon.patch
110 Patch45:        %{name}-no-sqlite.patch
111 Patch48:        %{name}-nopie.patch
112 Patch50:        %{name}-macros.patch
113 Patch51:        %{name}-cleanlibdirs.patch
114 Patch52:        %{name}-morearchs.patch
115 Patch53:        %{name}-chroot-hack.patch
116 Patch55:        %{name}-truncate-cvslog.patch
117 Patch56:        %{name}-rpm5-patchset-8413.patch
118 Patch57:        %{name}-as_needed-fix.patch
119 Patch58:        %{name}-repackage-wo-lzma.patch
120 Patch59:        %{name}-libtool-deps.patch
121 Patch61:        %{name}-lzma-mem.patch
122 Patch62:        %{name}-lzma-size_t.patch
123 Patch63:        %{name}-tar_as_secondary_source.patch
124 Patch64:        %{name}-man_pl.patch
125 Patch65:        %{name}-lzma-tukaani.patch
126 Patch66:        %{name}-v3-support.patch
127 Patch67:        %{name}-cleanbody.patch
128 Patch69:        %{name}-popt-aliases.patch
129 # reverse arrows patch
130 Patch70:        %{name}-rpm5-patchset-10061.patch
131 Patch71:        %{name}-installbeforeerase.patch
132 Patch72:        %{name}-postun-nofail.patch
133 Patch73:        %{name}-namespace-probe.patch
134 Patch74:        %{name}-noversiondir.patch
135 Patch75:        %{name}-rpmte-segv.patch
136 Patch76:        %{name}-pydebuginfo.patch
137 Patch77:        %{name}-dirdeps-macro.patch
138 Patch78:        %{name}-db3-configure.patch
139 Patch79:        %{name}-macros-cpp.patch
140 Patch80:        %{name}-link-selinux.patch
141 Patch81:        %{name}-db-configure.patch
142 Patch82:        %{name}-perl-makefile.patch
143 Patch83:        %{name}-nosmpflags.patch
144 Patch84:        %{name}-hirmib-ts.patch
145 Patch85:        %{name}-perl_req-heredocs_pod.patch
146 Patch86:        %{name}-rpmv3-support.patch
147 Patch87:        %{name}-mono.patch
148 Patch88:        %{name}-poptexecpath.patch
149 Patch89:        %{name}-lzma-compress-level.patch
150 Patch90:        %{name}-gstreamer.patch
151 Patch91:        %{name}-gendiff.patch
152 Patch92:        %{name}-set-failed-on-reopen.patch
153 Patch93:        %{name}-debugedit-workaround.patch
154 Patch94:        %{name}-shescape-memfault.patch
155 Patch95:        %{name}-gid-uucp.patch
156 Patch96:        %{name}-disable-hkp.patch
157 Patch97:        %{name}-sigpad.patch
158 Patch98:        %{name}-debugdir.patch
159 Patch99:        %{name}-pkgconfig.patch
160 Patch100:       %{name}-rpm5-debugedit.patch
161 Patch101:       %{name}-builddir-readlink.patch
162 Patch102:       pythondeps-speedup.patch
163 Patch103:       %{name}-lua-exit-chroot-correctly.patch
164 Patch104:       %{name}-glob.patch
165 Patch105:       %{name}-am.patch
166 Patch106:       %{name}-automake_1.12.patch
167 Patch107:       %{name}-debugedit-dwarf4.patch
168 Patch108:       %{name}-changelog_order_check_nonfatal.patch
169 Patch109:       %{name}-installplatform.patch
170 Patch110:       %{name}-xz.patch
171 Patch111:       %{name}-shrink.patch
172 Patch112:       notrans.patch
173 URL:            http://rpm5.org/
174 BuildRequires:  autoconf >= 2.57
175 BuildRequires:  automake >= 1.4
176 BuildRequires:  beecrypt-devel >= %{beecrypt_ver}
177 BuildRequires:  bzip2-devel >= 1.0.2-17
178 %{!?with_internal_db:BuildRequires:     %{reqdb_pkg}-devel >= %{reqdb_ver}}
179 BuildRequires:  elfutils-devel >= 0.108
180 BuildRequires:  gettext-devel >= 0.11.4-2
181 BuildRequires:  keyutils-devel
182 %{?with_system_libmagic:BuildRequires:  libmagic-devel}
183 %{?with_selinux:BuildRequires:  libselinux-devel >= 1.18}
184 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
185 BuildRequires:  libstdc++-devel
186 BuildRequires:  libtool >= 1:1.4.2-9
187 %if %{with neon}
188 BuildRequires:  libxml2-devel
189 BuildRequires:  neon-devel >= 0.25.5
190 %endif
191 BuildRequires:  ossp-uuid-devel >= 1.6.2-8
192 BuildRequires:  patch >= 2.2
193 BuildRequires:  popt-devel >= %{reqpopt_ver}
194 %{?with_python:BuildRequires:   python-devel >= 1:2.3}
195 BuildRequires:  python-modules >= 1:2.3
196 BuildRequires:  rpm-perlprov
197 %{?with_python:BuildRequires:   rpm-pythonprov}
198 BuildRequires:  rpmbuild(macros) >= 1.351
199 BuildRequires:  tar >= 1:1.15.1
200 BuildRequires:  zlib-devel >= 1.2.3.3
201 %if %{with apidocs}
202 BuildRequires:  doxygen
203 BuildRequires:  ghostscript
204 BuildRequires:  graphviz
205 BuildRequires:  tetex-pdftex
206 %endif
207 %if %{with static}
208 # Require static library only for static build
209 BuildRequires:  beecrypt-static >= %{beecrypt_ver}
210 BuildRequires:  bzip2-static >= 1.0.2-17
211 %{!?with_internal_db:BuildRequires:     %{reqdb_pkg}-static >= %{reqdb_ver}}
212 BuildRequires:  elfutils-static
213 BuildRequires:  glibc-static >= 2.2.94
214 %{?with_system_libmagic:BuildRequires:  libmagic-static}
215 %{?with_selinux:BuildRequires:  libselinux-static >= 1.18}
216 BuildRequires:  ossp-uuid-static >= 1.6.2-8
217 BuildRequires:  popt-static >= %{reqpopt_ver}
218 BuildRequires:  zlib-static >= 1.2.3.3
219 %endif
220 Requires:       %{name}-base = %{version}-%{release}
221 Requires:       %{name}-lib = %{version}-%{release}
222 Requires:       beecrypt >= %{beecrypt_ver}
223 Requires:       popt >= %{reqpopt_ver}
224 Provides:       rpm-db-ver = %{reqdb_ver}
225 Obsoletes:      rpm-getdeps
226 %{!?with_static:Obsoletes:      rpm-utils-static}
227 Obsoletes:      tmpwatch-rpmrepackage
228 Conflicts:      glibc < 2.2.92
229 Conflicts:      poldek < 0.21-0.20070703.00.11
230 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
231
232 %define         _binary_payload         w9.gzdio
233 %define         _noPayloadPrefix        1
234
235 # don't require very fresh rpm.macros to build
236 %define         __gettextize gettextize --copy --force --no-changelog; [ -f po/Makevars ] || cp -f po/Makevars{.template,}
237 %define         find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT
238 %define         ix86    i386 i486 i586 i686 athlon pentium3 pentium4
239 %define         ppc     ppc ppc7400 ppc7450
240 %define         x8664   amd64 ia32e x86_64
241
242 # stabilize new build environment
243 %define         __newcc %{?force_cc}%{!?force_cc:%{_target_cpu}-tld-linux-gcc}
244 %define         __newcxx %{?force_cxx}%{!?force_cxx:%{_target_cpu}-tld-linux-g++}
245 %define         __newcpp %{?force_cpp}%{!?force_cpp:%{_target_cpu}-tld-linux-gcc -E}
246
247 %define         _rpmlibdir /usr/lib/rpm
248
249 %define         specflags       -fno-strict-aliasing
250
251 %description
252 RPM is a powerful package manager, which can be used to build,
253 install, query, verify, update, and uninstall individual software
254 packages. A package consists of an archive of files, and package
255 information, including name, version, and description.
256
257 %description -l de.UTF-8
258 RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur
259 Installation, Anfrage, Verifizierung, Aktualisierung und
260 Uninstallation individueller Softwarepakete. Ein Paket besteht aus
261 einem Archiv Dateien und Paketinformation, inklusive Name, Version und
262 Beschreibung.
263
264 %description -l es.UTF-8
265 RPM es un poderoso administrador de paquetes, que puede ser usado para
266 construir, instalar, pesquisar, verificar, actualizar y desinstalar
267 paquetes individuales de software. Un paquete consiste en un
268 almacenaje de archivos, y información sobre el paquete, incluyendo
269 nombre, versión y descripción.
270
271 %description -l pl.UTF-8
272 RPM jest doskonałym programem zarządzającym pakietami. Umożliwia on
273 przebudowanie, instalację czy weryfikację dowolnego pakietu.
274 Informacje dotyczące każdego pakietu, takie jak jego opis, lista
275 plików wchodzących w skład pakietu, zależności od innych pakietów, są
276 przechowywane w bazie danych i można je uzyskać za pomocą opcji
277 odpytywania programu rpm.
278
279 %description -l pt_BR.UTF-8
280 RPM é um poderoso gerenciador de pacotes, que pode ser usado para
281 construir, instalar, pesquisar, verificar, atualizar e desinstalar
282 pacotes individuais de software. Um pacote consiste de um conjunto de
283 arquivos e informações adicionais, incluindo nome, versão e descrição
284 do pacote, permissões dos arquivos, etc.
285
286 %description -l ru.UTF-8
287 RPM - это мощный менеджер пакетов, который может быть использован для
288 создания, инсталляции, запросов (query), проверки, обновления и
289 удаления программных пакетов. Пакет состоит из файлового архива и
290 служебной информации, включающей название, версию, описание и другие
291 данные о пакете.
292
293 %description -l uk.UTF-8
294 RPM - це потужний менеджер пакетів, що може бути використаний для
295 створення, інсталяції, запитів (query), перевірки, поновлення та
296 видалення програмних пакетів. Пакет складається з файлового архіву та
297 службової інформації, що містить назву, версію, опис та іншу
298 інформацію про пакет.
299
300 %package base
301 Summary:        RPM base package - scripts used by rpm packages themselves
302 Summary(pl.UTF-8):      Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
303 Group:          Base
304 Requires:       filesystem
305 Obsoletes:      rpm-scripts
306 Obsoletes:      vserver-rpm
307
308 %description base
309 The RPM base package contains scripts used by rpm packages themselves.
310 These include:
311 - scripts for adding/removing groups and users needed for rpm
312   packages,
313 - banner.sh to display %%banner messages from rpm scriptlets.
314
315 %description base -l pl.UTF-8
316 Pakiet podstawowy RPM zwiera skrypty używane przez same pakiety rpm.
317 Zawiera on:
318 - skrypty dodające/usuwające grupy i użytkowników dla pakietów rpm,
319 - banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
320
321 %package lib
322 Summary:        RPMs library
323 Summary(pl.UTF-8):      Biblioteki RPM-a
324 Group:          Libraries
325 Requires:       beecrypt >= %{beecrypt_ver}
326 %{!?with_internal_db:Requires:  %{reqdb_pkg} >= %{reqdb_ver}}
327 %{?with_system_libmagic:Requires:       libmagic >= 1.15-2}
328 %{?with_selinux:Requires:       libselinux >= 1.18}
329 Requires:       ossp-uuid >= 1.6.2-4
330 Requires:       popt >= %{reqpopt_ver}
331 %{?with_internal_db:%{?with_nptl:Requires:      uname(release) >= 2.6.0}}
332 Requires:       zlib >= 1.2.3.3
333 %{?with_suggest_tags:Suggests:  xz}
334 Obsoletes:      rpm-libs
335 # avoid installing with incompatible (non-tukaani) lzma
336 # avoid incompatible (-M0 not supported) lzma
337 Conflicts:      lzma < 1:4.999.5-0.alpha.2
338 # avoid SEGV caused by mixed db versions
339 Conflicts:      poldek < 0.18.1-16
340
341 %description lib
342 RPMs library.
343
344 %description lib -l pl.UTF-8
345 Biblioteki RPM-a.
346
347 %package devel
348 Summary:        Header files for rpm libraries
349 Summary(de.UTF-8):      Header-Dateien für rpm Libraries
350 Summary(es.UTF-8):      Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
351 Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek rpm
352 Summary(pt_BR.UTF-8):   Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
353 Summary(ru.UTF-8):      Хедеры и библиотеки для программ, работающих с rpm-пакетами
354 Summary(uk.UTF-8):      Хедери та бібліотеки для програм, що працюють з пакетами rpm
355 Group:          Development/Libraries
356 Requires:       %{name}-lib = %{version}-%{release}
357 Requires:       beecrypt-devel >= %{beecrypt_ver}
358 Requires:       bzip2-devel
359 %{!?with_internal_db:Requires:  %{reqdb_pkg}-devel >= %{reqdb_ver}}
360 Requires:       elfutils-devel
361 Requires:       keyutils-devel
362 %{?with_system_libmagic:Requires:       libmagic-devel}
363 %{?with_selinux:Requires:       libselinux-devel}
364 Requires:       ossp-uuid-devel >= 1.6.2-6
365 Requires:       popt-devel >= %{reqpopt_ver}
366 Requires:       zlib-devel >= 1.2.3.3
367
368 %description devel
369 The RPM packaging system includes C libraries that make it easy to
370 manipulate RPM packages and databases. They are intended to ease the
371 creation of graphical package managers and other tools that need
372 intimate knowledge of RPM packages. This package contains header files
373 for these libraries.
374
375 %description devel -l de.UTF-8
376 Der RPM-Packensystem enthält eine C-Library, die macht es einfach
377 RPM-Pakete und Dateibanken zu manipulieren. Er eignet sich für
378 Vereinfachung des Schaffens grafischer Paket-Manager und anderer
379 Werkzeuge, die intime Kenntnis von RPM-Paketen brauchen.
380
381 %description devel -l es.UTF-8
382 El sistema de empaquetado RPM incluye una biblioteca C que vuelve
383 fácil la manipulación de paquetes y bases de datos RPM. Su objetivo es
384 facilitar la creación de administradores gráficos de paquetes y otras
385 herramientas que necesiten un conocimiento profundo de paquetes RPM.
386
387 %description devel -l pl.UTF-8
388 System RPM zawiera biblioteki C, które ułatwiają manipulowanie
389 pakietami RPM oraz bazami danych. W zamiarze ma to uprościć tworzenie
390 graficznych programów zarządzających pakietami oraz innych narzędzi,
391 które wymagają szczegółowej wiedzy na temat pakietów RPM. Ten pakiet
392 zawiera pliki nagłówkowe wspomnianych bibliotek.
393
394 %description devel -l pt_BR.UTF-8
395 O sistema de empacotamento RPM inclui uma biblioteca C que torna fácil
396 a manipulação de pacotes e bases de dados RPM. Seu objetivo é
397 facilitar a criação de gerenciadores gráficos de pacotes e outras
398 ferramentas que precisem de conhecimento profundo de pacotes RPM.
399
400 %description devel -l ru.UTF-8
401 Система управления пакетами RPM содержит библиотеку C, которая
402 упрощает манипуляцию пакетами RPM и соответствующими базами данных.
403 Эта библиотека предназначена для облегчения создания графических
404 пакетных менеджеров и других утилит, которым необходимо работать с
405 пакетами RPM.
406
407 %description devel -l uk.UTF-8
408 Система керування пакетами RPM містить бібліотеку C, котра спрощує
409 роботу з пакетами RPM та відповідними базами даних. Ця бібліотека
410 призначена для полегшення створення графічних пакетних менеджерів та
411 інших утиліт, що працюють з пакетами RPM.
412
413 %package static
414 Summary:        RPM static libraries
415 Summary(de.UTF-8):      RPMs statische Libraries
416 Summary(pl.UTF-8):      Biblioteki statyczne RPM-a
417 Summary(pt_BR.UTF-8):   Bibliotecas estáticas para o desenvolvimento de aplicações RPM
418 Summary(ru.UTF-8):      Статическая библиотека для программ, работающих с rpm-пакетами
419 Summary(uk.UTF-8):      Статична бібліотека для програм, що працюють з пакетами rpm
420 Group:          Development/Libraries
421 Requires:       %{name}-devel = %{version}-%{release}
422 Requires:       beecrypt-static >= %{beecrypt_ver}
423 Requires:       bzip2-static
424 %{!?with_internal_db:Requires:  %{reqdb_pkg}-static >= %{reqdb_ver}}
425 Requires:       elfutils-static
426 Requires:       keyutils-static
427 %{?with_system_libmagic:Requires:       libmagic-static}
428 Requires:       popt-static >= %{reqpopt_ver}
429 Requires:       zlib-static >= 1.2.3.3
430
431 %description static
432 RPM static libraries.
433
434 %description static -l de.UTF-8
435 RPMs statische Libraries.
436
437 %description static -l pl.UTF-8
438 Biblioteki statyczne RPM-a.
439
440 %description static -l pt_BR.UTF-8
441 Bibliotecas estáticas para desenvolvimento.
442
443 %description static -l ru.UTF-8
444 Система управления пакетами RPM содержит библиотеку C, которая
445 упрощает манипуляцию пакетами RPM и соответствующими базами данных.
446 Это статическая библиотека RPM.
447
448 %description static -l uk.UTF-8
449 Система керування пакетами RPM містить бібліотеку C, котра спрощує
450 роботу з пакетами RPM та відповідними базами даних. Це статична
451 бібліотека RPM.
452
453 %package utils
454 Summary:        Additional utilities for managing RPM packages and database
455 Summary(de.UTF-8):      Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
456 Summary(pl.UTF-8):      Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
457 Group:          Applications/File
458 Requires:       %{name} = %{version}-%{release}
459 Requires:       popt >= %{reqpopt_ver}
460 Conflicts:      filesystem-debuginfo < 3.0-16
461
462 %description utils
463 Additional utilities for managing RPM packages and database.
464
465 %description utils -l de.UTF-8
466 Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
467
468 %description utils -l pl.UTF-8
469 Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
470
471 %package utils-perl
472 Summary:        Additional utilities for managing RPM packages and database
473 Summary(de.UTF-8):      Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
474 Summary(pl.UTF-8):      Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
475 Group:          Applications/File
476 Requires:       %{name}-utils = %{version}-%{release}
477 Requires:       popt >= %{reqpopt_ver}
478
479 %description utils-perl
480 Additional utilities for managing RPM packages and database.
481
482 %description utils-perl -l de.UTF-8
483 Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
484
485 %description utils-perl -l pl.UTF-8
486 Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
487
488 %package utils-static
489 Summary:        Static rpm utilities
490 Summary(pl.UTF-8):      Statyczne narzędzia rpm
491 Group:          Applications/System
492 Requires:       %{name} = %{version}-%{release}
493
494 %description utils-static
495 Static rpm utilities for repairing system in case something with
496 shared libraries used by rpm become broken. Currently it contains rpmi
497 binary, which can be used to install/upgrade/remove packages without
498 using shared libraries (well, in fact with exception of NSS modules).
499
500 %description utils-static -l pl.UTF-8
501 Statyczne narzędzia rpm do naprawy systemu w przypadku zepsucia czegoś
502 związanego z bibliotekami współdzielonymi używanymi przez rpm-a.
503 Aktualnie pakiet zawiera binarkę rpmi, którą można użyć do instalacji,
504 uaktualniania lub usuwania pakietów bez udziału bibliotek statycznych
505 (z wyjątkiem modułów NSS).
506
507 %package build
508 Summary:        Scripts for building binary RPM packages
509 Summary(de.UTF-8):      Scripts fürs Bauen binärer RPM-Pakete
510 Summary(pl.UTF-8):      Skrypty pomocnicze do budowania binarnych RPM-ów
511 Summary(pt_BR.UTF-8):   Scripts e programas executáveis usados para construir pacotes
512 Summary(ru.UTF-8):      Скрипты и утилиты, необходимые для сборки пакетов
513 Summary(uk.UTF-8):      Скрипти та утиліти, необхідні для побудови пакетів
514 Group:          Applications/File
515 Requires(pretrans):     findutils
516 Requires:       %{name}-build-macros >= 1.656
517 Requires:       %{name}-utils = %{version}-%{release}
518 Requires:       /bin/id
519 Requires:       awk
520 Requires:       bzip2
521 Requires:       chrpath >= 0.10-4
522 Requires:       cpio
523 Requires:       diffutils
524 Requires:       elfutils
525 Requires:       file >= 4.17
526 Requires:       fileutils
527 Requires:       findutils
528 # rpmrc patch adds flags specific to gcc >= 4.7
529 Requires:       gcc >= 6:4.7.0
530 Requires:       glibc-devel
531 Requires:       grep
532 Requires:       gzip
533 Requires:       make
534 Requires:       patch
535 Requires:       sed
536 Requires:       sh-utils
537 Requires:       tar
538 Requires:       textutils
539 Requires:       xz
540 Provides:       rpmbuild(monoautodeps)
541 Provides:       rpmbuild(noauto) = 3
542 %ifarch %{x8664}
543 Conflicts:      automake < 1:1.7.9-2
544 Conflicts:      libtool < 2:1.5-13
545 %endif
546
547 %description build
548 Scripts for building binary RPM packages.
549
550 %description build -l de.UTF-8
551 Scripts fürs Bauen binärer RPM-Pakete.
552
553 %description build -l pl.UTF-8
554 Skrypty pomocnicze do budowania binarnych RPM-ów.
555
556 %description build -l pt_BR.UTF-8
557 Este pacote contém scripts e programas executáveis que são usados para
558 construir pacotes usando o RPM.
559
560 %description build -l ru.UTF-8
561 Различные вспомогательные скрипты и исполняемые программы, которые
562 используются для сборки RPM'ов.
563
564 %description build -l uk.UTF-8
565 Різноманітні допоміжні скрипти та утиліти, які використовуються для
566 побудови RPM'ів.
567
568 %package javaprov
569 Summary:        Additional utilities for checking Java provides/requires in RPM packages
570 Summary(pl.UTF-8):      Dodatkowe narzędzia do sprawdzania zależności kodu w Javie w pakietach RPM
571 Group:          Applications/File
572 Requires:       %{name} = %{version}-%{release}
573 Requires:       file
574 Requires:       findutils >= 1:4.2.26
575 Requires:       mktemp
576 Requires:       unzip
577
578 %description javaprov
579 Additional utilities for checking Java provides/requires in RPM
580 packages.
581
582 %description javaprov -l pl.UTF-8
583 Dodatkowe narzędzia do sprawdzania zależności kodu w Javie w pakietach
584 RPM.
585
586 %package perlprov
587 Summary:        Additional utilities for checking Perl provides/requires in RPM packages
588 Summary(de.UTF-8):      Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
589 Summary(pl.UTF-8):      Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
590 Group:          Applications/File
591 Requires:       %{name} = %{version}-%{release}
592 Requires:       perl-devel
593 Requires:       perl-modules
594
595 %description perlprov
596 Additional utilities for checking Perl provides/requires in RPM
597 packages.
598
599 %description perlprov -l de.UTF-8
600 Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen.
601
602 %description perlprov -l pl.UTF-8
603 Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
604 pakietach RPM.
605
606 %package pythonprov
607 Summary:        Python macros, which simplifies creation of RPM packages with Python software
608 Summary(pl.UTF-8):      Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
609 Group:          Applications/File
610 Requires:       %{name} = %{version}-%{release}
611 Requires:       python
612 Requires:       python-modules
613
614 %description pythonprov
615 Python macros, which simplifies creation of RPM packages with Python
616 software.
617
618 %description pythonprov -l pl.UTF-8
619 Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
620 Pythonie.
621
622 %package php-pearprov
623 Summary:        Additional utilities for checking PHP PEAR provides/requires in RPM packages
624 Summary(pl.UTF-8):      Dodatkowe narzędzia do sprawdzania zależności skryptów php w RPM
625 Group:          Applications/File
626 Requires:       %{name} = %{version}-%{release}
627 Requires:       sed >= 4.0
628
629 %description php-pearprov
630 Additional utilities for checking PHP PEAR provides/requires in RPM
631 packages.
632
633 %description php-pearprov -l pl.UTF-8
634 Dodatkowe narzędzia do sprawdzenia zależności skryptów PHP PEAR w
635 pakietach RPM.
636
637 %package -n python-rpm
638 Summary:        Python interface to RPM library
639 Summary(pl.UTF-8):      Pythonowy interfejs do biblioteki RPM-a
640 Summary(pt_BR.UTF-8):   Módulo Python para aplicativos que manipulam pacotes RPM
641 Group:          Development/Languages/Python
642 Requires:       %{name} = %{version}-%{release}
643 %pyrequires_eq  python
644 Obsoletes:      rpm-python
645
646 %description -n python-rpm
647 The rpm-python package contains a module which permits applications
648 written in the Python programming language to use the interface
649 supplied by RPM (RPM Package Manager) libraries.
650
651 This package should be installed if you want to develop Python
652 programs that will manipulate RPM packages and databases.
653
654 %description -n python-rpm -l pl.UTF-8
655 Pakiet rpm-python zawiera moduł, który pozwala aplikacjom napisanym w
656 Pythonie na używanie interfejsu dostarczanego przez biblioteki RPM-a.
657
658 Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
659 Pythonie programy manipulujące pakietami i bazami danych rpm.
660
661 %description -n python-rpm -l pt_BR.UTF-8
662 O pacote rpm-python contém um módulo que permite que aplicações
663 escritas em Python utilizem a interface fornecida pelas bibliotecas
664 RPM (RPM Package Manager).
665
666 Esse pacote deve ser instalado se você quiser desenvolver programas em
667 Python para manipular pacotes e bancos de dados RPM.
668
669 %package apidocs
670 Summary:        RPM API documentation and guides
671 Summary(pl.UTF-8):      Documentacja API RPM-a i przewodniki
672 Group:          Documentation
673
674 %description apidocs
675 Documentation for RPM API and guides in HTML format generated from rpm
676 sources by doxygen.
677
678 %description apidocs -l pl.UTF-8
679 Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
680 źrodeł RPM-a przez doxygen.
681
682 %prep
683 %setup -q
684 cp -p %{SOURCE15} .
685 %patch1000 -p1
686 #%patch0 -p1
687 %patch2 -p1
688 %patch1 -p1
689 %patch3 -p1
690 %patch4 -p1
691 %patch6 -p1
692 %patch7 -p1
693 %patch8 -p1
694 %patch9 -p1
695 %patch10 -p1
696 %patch11 -p1 -R
697 %patch12 -p1
698 %patch13 -p1
699 %patch14 -p1
700 %patch16 -p1
701 %patch17 -p1
702 sed -e 's/^/@tld@/' %{SOURCE2} >>platform.in
703 echo '%%define  __perl_provides %%{__perl} /usr/lib/rpm/perl.prov' > macros.perl
704 echo '%%define  __perl_requires %%{__perl} /usr/lib/rpm/perl.req' >> macros.perl
705 echo '# obsoleted file' > macros.python
706 cp -p %{SOURCE20} macros.php
707 echo '%%define  __mono_provides /usr/lib/rpm/mono-find-provides' > macros.mono
708 echo '%%define  __mono_requires /usr/lib/rpm/mono-find-requires' >> macros.mono
709 install %{SOURCE10} scripts/php.prov
710 install %{SOURCE11} scripts/php.req
711 install %{SOURCE13} scripts/perl.prov
712 %patch21 -p1
713 %patch22 -p1
714 %patch23 -p1
715 %patch24 -p1
716 %patch25 -p1
717 %patch26 -p1
718 %patch27 -p1
719 %patch28 -p1
720 %patch29 -p1
721 %patch31 -p1
722 %patch32 -p1
723 %patch33 -p1
724 %patch34 -p1
725 %patch36 -p1
726 %patch37 -p1
727 %patch39 -p1
728 %patch40 -p1
729 %patch42 -p1
730 %patch43 -p1
731 %patch82 -p1
732 %{!?with_neon:%patch44 -p1}
733 %patch45 -p1
734 %patch48 -p1
735 %patch50 -p1
736 %patch20 -p1
737 %patch35 -p1
738 %patch51 -p1
739 #%patch52 -p1
740 %patch55 -p1
741 %patch56 -p1
742 %patch57 -p1
743 %patch58 -p1
744 %patch59 -p1
745 %patch61 -p1
746 %patch62 -p1
747 %patch63 -p1
748 %patch64 -p1
749 %patch65 -p1
750 %patch66 -p1
751 %patch67 -p1
752 %patch69 -p1
753 %patch71 -p1
754 %patch72 -p1
755 %patch73 -p1
756 %patch74 -p1
757 %patch75 -p0
758 # having .py sources in -debuginfo needs more testing
759 #%patch76 -p1
760 %patch77 -p0
761 %patch79 -p1
762 %patch80 -p1
763 %patch83 -p1
764 %patch84 -p1
765 %patch85 -p1
766 %patch86 -p1
767 %patch70 -p0
768 %patch87 -p1
769 %patch88 -p1
770 %patch89 -p1
771 %patch90 -p1
772 %patch91 -p1
773 %patch92 -p1
774 %patch93 -p1
775 %patch94 -p1
776 %patch95 -p1
777 %patch96 -p1
778 %patch97 -p1
779 %patch98 -p1
780 %patch99 -p1
781 %patch53 -p1
782 %patch100 -p1
783 %patch101 -p1
784 %patch102 -p1
785 %patch103 -p1
786 %patch104 -p1
787 %patch105 -p1
788 %patch106 -p1
789 %patch107 -p1
790 %patch108 -p1
791 %patch109 -p1
792 %patch110 -p1
793 %patch111 -p1
794 %patch112 -p1
795
796 mv -f po/{sr,sr@Latn}.po
797 rm -rf sqlite zlib popt
798
799 %if %{with internal_db}
800 %if %{without nptl}
801 sed -i -e 's,AM_PTHREADS_SHARED("POSIX/.*,:,' db/dist/aclocal/mutex.ac
802 %endif
803 %patch78 -p1
804 %patch81 -p1
805 %else
806 %patch15 -p1
807 rm -rf db3 db rpmdb/db.h
808 %endif
809
810 # generate Group translations to *.po
811 awk -f %{SOURCE6} %{SOURCE1}
812
813 # update macros paths
814 for f in doc{,/ja,/pl}/rpm.8 doc{,/ja,/pl}/rpmbuild.8 ; do
815         sed -e 's@lib/rpm/redhat@lib/rpm/tld@g' $f > ${f}.tmp
816         mv -f ${f}.tmp $f
817 done
818
819 %build
820 %if %{with system_libmagic}
821 rm -rf file
822 %else
823 cd file
824 %{__libtoolize}
825 %{__aclocal}
826 %{__autoheader}
827 %{__autoconf}
828 %{__automake}
829 cd ..
830 %endif
831
832 %{__libtoolize}
833 %{__gettextize}
834 %{__aclocal}
835 %{__autoheader}
836 %{__autoconf}
837 %{__automake}
838 %if %{with internal_db}
839 cd db3
840 echo -e 'AC_CONFIG_AUX_DIR(.)\nAC_PROG_LIBTOOL'> configure.ac
841 %{__libtoolize}
842 rm -f configure.ac
843 cd ../db
844 cp -f /usr/share/aclocal/libtool.m4 dist/aclocal/libtool.ac
845 cp -f /usr/share/automake/config.sub dist
846 if [ -f /usr/share/libtool/config/ltmain.sh ]; then
847         cp -f /usr/share/libtool/config/ltmain.sh dist
848 else
849         cp -f /usr/share/libtool/ltmain.sh dist
850 fi
851 cd ..
852 %endif
853
854 # rpm checks for CPU type at runtime, but it looks better
855 sed -i \
856         -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
857         -e 's|@host_cpu@|%{_target_cpu}|' \
858         -e 's|@host_os@|%{_target_os}|' \
859         macros.in
860
861 # pass CC and CXX too in case of building with some older configure macro
862 # disable perl-RPM2 build, we have it in separate spec
863 CPPFLAGS="%{rpmcppflags} -I/usr/include/ossp-uuid -I/usr/include/%{reqdb_pkg}"
864 %configure \
865         CC="%{__newcc}" \
866         CXX="%{__newcxx}" \
867         CPP="%{__newcpp}" \
868         WITH_PERL_VERSION=no \
869         %{?with_autoreqdep:--enable-adding-packages-names-in-autogenerated-dependancies} \
870         --enable-shared \
871         --enable-static \
872         %{!?with_apidocs:--without-apidocs} \
873         %{?with_python:--with-python=%{py_ver}} \
874         %{!?with_python:--without-python} \
875         %{!?with_selinux:--without-selinux} \
876         %{?with_internal_db:--%{?with_nptl:en}%{!?with_nptl:dis}able-posixmutexes} \
877         --without-db
878
879 %{__make} \
880         CC="%{__cc}" \
881         CXX="%{__cxx}" \
882         CPP="%{__cpp}" \
883         libdb_la=%{_libdir}/libdb-%(echo %{reqdb_pkg} | sed -e 's/^db//').la \
884         pylibdir=%{py_libdir} \
885         myLDFLAGS="%{rpmldflags}" \
886         staticLDFLAGS=%{?with_static:-all-static}
887
888 %install
889 rm -rf $RPM_BUILD_ROOT
890 install -d $RPM_BUILD_ROOT{/%{_lib},/etc/{sysconfig,tmpwatch},%{_sysconfdir}/rpm,/var/lib/banner,/var/cache/hrmib}
891
892 %{__make} install \
893         DESTDIR=$RPM_BUILD_ROOT \
894         staticLDFLAGS=%{?with_static:-all-static} \
895         pylibdir=%{py_libdir}
896
897 cat <<'EOF' > $RPM_BUILD_ROOT/etc/tmpwatch/rpm.conf
898 # Cleanup 90-days old repackage files.
899 /var/spool/repackage 2160
900 EOF
901
902 cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
903 # first platform file entry can't contain regexps
904 %{_target_cpu}-%{_target_vendor}-linux
905
906 %ifarch x86_64
907 # x86_64 things
908 amd64-[^-]*-[Ll]inux(-gnu)?
909 x86_64-[^-]*-[Ll]inux(-gnu)?
910 %endif
911 %ifarch amd64
912 amd64-[^-]*-[Ll]inux(-gnu)?
913 x86_64-[^-]*-[Ll]inux(-gnu)?
914 %endif
915 %ifarch ia32e
916 ia32e-[^-]*-[Ll]inux(-gnu)?
917 x86_64-[^-]*-[Ll]inux(-gnu)?
918 %endif
919
920 %ifarch athlon %{x8664}
921 # x86 things
922 athlon-[^-]*-[Ll]inux(-gnu)?
923 %endif
924 %ifarch pentium4 athlon %{x8664}
925 pentium4-[^-]*-[Ll]inux(-gnu)?
926 %endif
927 %ifarch pentium3 pentium4 athlon %{x8664}
928 pentium3-[^-]*-[Ll]inux(-gnu)?
929 %endif
930 %ifarch i686 pentium3 pentium4 athlon %{x8664}
931 i686-[^-]*-[Ll]inux(-gnu)?
932 %endif
933 %ifarch i586 i686 pentium3 pentium4 athlon %{x8664}
934 i586-[^-]*-[Ll]inux(-gnu)?
935 %endif
936 %ifarch i486 i586 i686 pentium3 pentium4 athlon %{x8664}
937 i486-[^-]*-[Ll]inux(-gnu)?
938 %endif
939 %ifarch %{ix86} %{x8664}
940 i386-[^-]*-[Ll]inux(-gnu)?
941 %endif
942
943 %ifarch alpha
944 alpha-[^-]*-[Ll]inux(-gnu)?
945 %endif
946
947 %ifarch ia64
948 ia64-[^-]*-[Ll]inux(-gnu)?
949 %endif
950
951 %ifarch ppc64
952 powerpc64-[^-]*-[Ll]inux(-gnu)?
953 ppc64-[^-]*-[Ll]inux(-gnu)?
954 %endif
955 %ifarch ppc ppc64
956 powerpc-[^-]*-[Ll]inux(-gnu)?
957 ppc-[^-]*-[Ll]inux(-gnu)?
958 %endif
959
960 %ifarch s390x
961 s390x-[^-]*-[Ll]inux(-gnu)?
962 %endif
963 %ifarch s390 s390x
964 s390-[^-]*-[Ll]inux(-gnu)?
965 %endif
966
967 %ifarch sparc64
968 sparc64-[^-]*-[Ll]inux(-gnu)?
969 %endif
970 %ifarch sparcv9 sparc64
971 sparcv9-[^-]*-[Ll]inux(-gnu)?
972 %endif
973 %ifarch sparc sparcv9 sparc64
974 sparc-[^-]*-[Ll]inux(-gnu)?
975 %endif
976 %ifarch armv6l
977 armv6l-[^-]*-[Ll]inux(-gnu)?
978 %endif
979 %ifarch armv5tel
980 armv5tel-[^-]*-[Ll]inux(-gnu)?
981 %endif
982 %ifarch armv4t armv5tel
983 armv4t-[^-]*-[Ll]inux(-gnu)?
984 %endif
985 %ifarch armv3t armv4t armv5tel
986 armv3t-[^-]*-[Ll]inux(-gnu)?
987 %endif
988 %ifarch armv5teb
989 armv5teb-[^-]*-[Ll]inux(-gnu)?
990 %endif
991 %ifarch armv4b armv5teb
992 armv4b-[^-]*-[Ll]inux(-gnu)?
993 %endif
994
995 # noarch
996 noarch-[^-]*-.*
997 EOF
998
999 rm $RPM_BUILD_ROOT%{_rpmlibdir}/vpkg-provides*
1000 rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-{prov,req}.pl
1001 rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-{provides,requires}.perl
1002 rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
1003
1004 # not installed since 4.4.8 (-tools-perl subpackage)
1005 install -p scripts/rpmdiff scripts/rpmdiff.cgi $RPM_BUILD_ROOT%{_rpmlibdir}
1006
1007 cp -a macros.perl       $RPM_BUILD_ROOT%{_rpmlibdir}/macros.perl
1008 cp -a macros.python     $RPM_BUILD_ROOT%{_rpmlibdir}/macros.python
1009 cp -a macros.php        $RPM_BUILD_ROOT%{_rpmlibdir}/macros.php
1010 cp -a macros.mono       $RPM_BUILD_ROOT%{_rpmlibdir}/macros.mono
1011 cp -a %{SOURCE16}       $RPM_BUILD_ROOT%{_rpmlibdir}/macros.java
1012 cp -a %{SOURCE19}       $RPM_BUILD_ROOT%{_rpmlibdir}/macros.gstreamer
1013
1014 install -p %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
1015 install -p %{SOURCE4} $RPM_BUILD_ROOT%{_rpmlibdir}/find-spec-bcond
1016 install -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/compress-doc
1017 install -p %{SOURCE14} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
1018 install -p %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/java-find-requires
1019 install -p scripts/php.{prov,req}       $RPM_BUILD_ROOT%{_rpmlibdir}
1020 cp -p %{SOURCE21} $RPM_BUILD_ROOT%{_rpmlibdir}/php.req.php
1021 install -p %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
1022 install -p %{SOURCE18} $RPM_BUILD_ROOT%{_bindir}/banner.sh
1023 cp -p %{name}.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/rpm
1024
1025 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo
1026 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Conflictname
1027 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Dirnames
1028 cp -a %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Filelinktos
1029 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Obsoletename
1030 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Providename
1031 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Requirename
1032
1033 cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros <<EOF
1034 # customized rpm macros - global for host
1035 #
1036 %%distribution TLD
1037 #
1038 # remove or replace with file_contexts path if you want to use custom
1039 # SELinux file contexts policy instead of one stored in packages payload
1040 %%_install_file_context_path    %%{nil}
1041 %%_verify_file_context_path     %%{nil}
1042
1043 # If non-zero, all erasures will be automagically repackaged.
1044 #%%_repackage_all_erasures      0
1045
1046 # If non-zero, create debuginfo packages
1047 #%%_enable_debug_packages       0
1048
1049 # Boolean (i.e. 1 == "yes", 0 == "no") that controls whether files
1050 # marked as %doc should be installed.
1051 #%%_excludedocs   1
1052
1053 # For static /dev not to update perms if upgraded and tmpfs mounted
1054 #%%_netsharedpath /dev/shm
1055 EOF
1056
1057 cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang <<EOF
1058 # Customized rpm macros - global for host
1059 #       A colon separated list of desired locales to be installed;
1060 #       "all" means install all locale specific files.
1061 #
1062 #%%_install_langs pl_PL:en_US
1063 EOF
1064
1065 cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles <<EOF
1066 # global list of files (regexps) which don't generate Provides
1067 EOF
1068 cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov <<EOF
1069 # global list of script capabilities (regexps) not to be used in Provides
1070 EOF
1071 cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles <<EOF
1072 # global list of files (regexps) which don't generate Requires
1073 ^%{_examplesdir}/
1074 ^%{_docdir}/
1075 EOF
1076 cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq <<EOF
1077 # global list of script capabilities (regexps) not to be used in Requires
1078 EOF
1079 cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqdep <<EOF
1080 # global list of capabilities (SONAME, perl(module), php(module) regexps)
1081 # which don't generate dependencies on package NAMES
1082 # -- OpenGL implementation
1083 ^libGL.so.1
1084 ^libGLU.so.1
1085 ^libOSMesa.so
1086 # -- Glide
1087 ^libglide3.so.3
1088 # -- mozilla
1089 ^libgtkmozembed.so
1090 ^libgtksuperwin.so
1091 ^libxpcom.so
1092 # -- X11 implementation
1093 ^libFS.so
1094 ^libI810XvMC.so
1095 ^libICE.so
1096 ^libSM.so
1097 ^libX11.so
1098 ^libXRes.so
1099 ^libXTrap.so
1100 ^libXaw.so
1101 ^libXcomposite.so
1102 ^libXcursor.so
1103 ^libXdamage.so
1104 ^libXdmcp.so
1105 ^libXevie.so
1106 ^libXext.so
1107 ^libXfixes.so
1108 ^libXfont.so
1109 ^libXfontcache.so
1110 ^libXft.so
1111 ^libXi.so
1112 ^libXinerama.so
1113 ^libXmu.so
1114 ^libXmuu.so
1115 ^libXp.so
1116 ^libXpm.so
1117 ^libXrandr.so
1118 ^libXrender.so
1119 ^libXss.so
1120 ^libXt.so
1121 ^libXtst.so
1122 ^libXv.so
1123 ^libXvMC.so
1124 ^libXxf86dga.so
1125 ^libXxf86misc.so
1126 ^libXxf86rush.so
1127 ^libXxf86vm.so
1128 ^libdps.so
1129 ^libdpstk.so
1130 ^libfontenc.so
1131 ^libpsres.so
1132 ^libxkbfile.so
1133 ^libxkbui.so
1134 # -- fam / gamin
1135 ^libfam.so.0
1136 # -- mdns-bonjour: mDNSResponder-libs / avahi-compat-libdns_sd
1137 ^libdns_sd.so.1
1138 EOF
1139 cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc <<EOF
1140 # global list of file masks not to be compressed in DOCDIR
1141 EOF
1142
1143 # for rpm -e|-U --repackage
1144 install -d $RPM_BUILD_ROOT/var/{spool/repackage,lock/rpm}
1145 touch $RPM_BUILD_ROOT/var/lock/rpm/transaction
1146
1147 # move rpm to /bin
1148 install -d $RPM_BUILD_ROOT/bin
1149 mv $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
1150 # move essential libs to /lib (libs that /bin/rpm links to)
1151 for a in librpm-%{sover}.so librpmdb-%{sover}.so librpmio-%{sover}.so ; do
1152         mv -f $RPM_BUILD_ROOT%{_libdir}/$a $RPM_BUILD_ROOT/%{_lib}
1153         ln -s /%{_lib}/$a $RPM_BUILD_ROOT%{_libdir}/$a
1154 done
1155
1156 # remove arch dependant macros which have no use on noarch
1157 %{__sed} -i -e '
1158 /{__spec_install_post_strip}/d
1159 /{__spec_install_post_chrpath}/d
1160 /{__spec_install_post_compress_modules}/d
1161 ' $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux/macros
1162
1163 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
1164 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
1165
1166 rm -f $RPM_BUILD_ROOT%{py_sitedir}/rpm/*.{la,a,py}
1167
1168 # (currently) not used or supported in PLD
1169 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/{http.req,perldeps.pl}
1170 # wrong location, not used anyway
1171 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log,xinetd}
1172
1173 # unpackaged in 4.4.9, reasons unknown
1174 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/symclash.{sh,py}
1175 %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
1176 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/RPM.pm
1177 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/RPM/.packlist
1178 %{__rm} -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/RPM/RPM.bs
1179 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/RPM/RPM.so
1180 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/RPM.3pm
1181 %{__rm} $RPM_BUILD_ROOT%{_mandir}/{,ja,pl}/man8/rpm{cache,graph}.8
1182
1183 %find_lang %{name}
1184
1185 rm -rf manual
1186 cp -a doc/manual manual
1187 cp -a %{SOURCE1} manual/groups
1188 rm -f manual/Makefile*
1189
1190 %clean
1191 rm -rf $RPM_BUILD_ROOT
1192
1193 %triggerpostun lib -- %{name}-lib < %{version}
1194 echo >&2 "rpm-lib upgrade: Removing /var/lib/rpm/__db* from older rpmdb version"
1195 rm -f /var/lib/rpm/__db*
1196 if [ -d /vservers ]; then
1197         echo >&2 "rpm-lib upgrade: Removing vservers apps/pkgmgmt/base/rpm/state/__* from older rpmdb version"
1198         rm -f /etc/vservers/*/apps/pkgmgmt/base/rpm/state/__*
1199 fi
1200 echo >&2 "You should rebuild your rpmdb: rpm --rebuilddb to avoid random rpmdb errors"
1201
1202 %triggerpostun lib -- db4.5 < %{reqdb_ver}
1203 echo >&2 "db4.5 upgrade: Removing /var/lib/rpm/__db* from older rpmdb version"
1204 rm -f /var/lib/rpm/__db*
1205 if [ -d /vservers ]; then
1206         echo >&2 "db4.5 upgrade: Removing vservers apps/pkgmgmt/base/rpm/state/__* from older rpmdb version"
1207         rm -f /etc/vservers/*/apps/pkgmgmt/base/rpm/state/__*
1208 fi
1209 echo >&2 "You should rebuild your rpmdb: rpm --rebuilddb to avoid random rpmdb errors"
1210
1211 %triggerpostun -- %{name} < 4.4.9-44
1212 %{_rpmlibdir}/hrmib-cache
1213
1214 %post   lib -p /sbin/ldconfig
1215 %postun lib -p /sbin/ldconfig
1216
1217 %pretrans build
1218 find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
1219
1220 %files -f %{name}.lang
1221 %defattr(644,root,root,755)
1222 %doc CHANGES CREDITS README manual/*
1223
1224 %attr(755,root,root) /bin/rpm
1225
1226 %config(noreplace) %verify(not md5 mtime size) /etc/tmpwatch/rpm.conf
1227 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
1228 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
1229 %dir %{_sysconfdir}/rpm/sysinfo
1230 # these are ok to be replaced
1231 %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/sysinfo/*
1232 %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform
1233
1234
1235 %{_mandir}/man8/rpm.8*
1236 %lang(fr) %{_mandir}/fr/man8/rpm.8*
1237 %lang(ja) %{_mandir}/ja/man8/rpm.8*
1238 %lang(ko) %{_mandir}/ko/man8/rpm.8*
1239 %lang(pl) %{_mandir}/pl/man8/rpm.8*
1240 %lang(ru) %{_mandir}/ru/man8/rpm.8*
1241 %lang(sk) %{_mandir}/sk/man8/rpm.8*
1242
1243 %dir /var/lib/rpm
1244 %dir %attr(700,root,root) /var/spool/repackage
1245 %dir /var/lock/rpm
1246 /var/lock/rpm/transaction
1247
1248 # exported package NVRA (stamped with install tid)
1249 # net-snmp hrSWInstalledName queries, bash-completions
1250 %dir /var/cache/hrmib
1251
1252 #%attr(755,root,root) %{_rpmlibdir}/rpmd
1253 #%{!?with_static:%attr(755,root,root) %{_rpmlibdir}/rpm[eiu]}
1254 #%attr(755,root,root) %{_rpmlibdir}/rpmk
1255 #%attr(755,root,root) %{_rpmlibdir}/rpm[qv]
1256
1257 %{_rpmlibdir}/rpmpopt*
1258 %{_rpmlibdir}/macros
1259
1260 %attr(755,root,root) %{_rpmlibdir}/hrmib-cache
1261
1262 %files base
1263 %defattr(644,root,root,755)
1264 %dir %{_sysconfdir}/rpm
1265 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
1266 %dir %{_rpmlibdir}
1267 %attr(755,root,root) %{_bindir}/banner.sh
1268 %attr(755,root,root) %{_rpmlibdir}/user_group.sh
1269 %dir /var/lib/banner
1270
1271 %files lib
1272 %defattr(644,root,root,755)
1273 %attr(755,root,root) /%{_lib}/librpm-%{sover}.so
1274 %attr(755,root,root) /%{_lib}/librpmdb-%{sover}.so
1275 %attr(755,root,root) /%{_lib}/librpmio-%{sover}.so
1276 %attr(755,root,root) %{_libdir}/librpmbuild-%{sover}.so
1277
1278 %files devel
1279 %defattr(644,root,root,755)
1280 %attr(755,root,root) %{_libdir}/librpm.so
1281 %attr(755,root,root) %{_libdir}/librpm-%{sover}.so
1282 %attr(755,root,root) %{_libdir}/librpmio.so
1283 %attr(755,root,root) %{_libdir}/librpmio-%{sover}.so
1284 %attr(755,root,root) %{_libdir}/librpmdb.so
1285 %attr(755,root,root) %{_libdir}/librpmdb-%{sover}.so
1286 %attr(755,root,root) %{_libdir}/librpmbuild.so
1287 %{_libdir}/librpm.la
1288 %{_libdir}/librpmbuild.la
1289 %{_libdir}/librpmdb.la
1290 %{_libdir}/librpmio.la
1291 %{_includedir}/rpm
1292 %{_pkgconfigdir}/rpm.pc
1293
1294 %files static
1295 %defattr(644,root,root,755)
1296 %{_libdir}/librpm.a
1297 %{_libdir}/librpmbuild.a
1298 %{_libdir}/librpmdb.a
1299 %{_libdir}/librpmio.a
1300
1301 %files utils
1302 %defattr(644,root,root,755)
1303 %attr(755,root,root) %{_bindir}/rpm2cpio
1304 %attr(755,root,root) %{_bindir}/rpmdigest
1305 %attr(755,root,root) %{_bindir}/rpmmtree
1306 %attr(755,root,root) %{_bindir}/rpmrepo
1307 %{!?with_system_libmagic:%attr(755,root,root) %{_bindir}/rpmfile}
1308 %attr(755,root,root) %{_rpmlibdir}/debugedit
1309 %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
1310 %attr(755,root,root) %{_rpmlibdir}/rpmdb_loadcvt
1311 %attr(755,root,root) %{_rpmlibdir}/rpmdeps
1312 %attr(755,root,root) %{_rpmlibdir}/tgpg
1313 %{_mandir}/man8/rpm2cpio.8*
1314 %{_mandir}/man8/rpmdeps.8*
1315 %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
1316 %lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
1317 %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
1318 %lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
1319 %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
1320
1321 %files utils-perl
1322 %defattr(644,root,root,755)
1323 %attr(755,root,root) %{_rpmlibdir}/rpmdiff*
1324
1325 %if %{with static}
1326 %files utils-static
1327 %defattr(644,root,root,755)
1328 %attr(755,root,root) %{_bindir}/rpm[ieu]
1329 %attr(755,root,root) %{_rpmlibdir}/rpm[ieu]
1330 %endif
1331
1332 %files build
1333 %defattr(644,root,root,755)
1334 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
1335 %attr(755,root,root) %{_rpmlibdir}/brp-*
1336 %attr(755,root,root) %{_rpmlibdir}/check-files
1337 # %attr(755,root,root) %{_rpmlibdir}/check-prereqs
1338 %attr(755,root,root) %{_rpmlibdir}/compress-doc
1339 %attr(755,root,root) %{_rpmlibdir}/cross-build
1340 %attr(755,root,root) %{_rpmlibdir}/find-spec-bcond
1341 %attr(755,root,root) %{_rpmlibdir}/getpo.sh
1342 %attr(755,root,root) %{_rpmlibdir}/install-build-tree
1343 #%attr(755,root,root) %{_rpmlibdir}/config.*
1344 #%attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
1345 %attr(755,root,root) %{_rpmlibdir}/u_pkg.sh
1346 %attr(755,root,root) %{_rpmlibdir}/executabledeps.sh
1347 %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
1348 %attr(755,root,root) %{_rpmlibdir}/mimetypedeps.sh
1349 # needs hacked pkg-config to return anything
1350 %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
1351 #%attr(755,root,root) %{_rpmlibdir}/rpmb
1352 #%attr(755,root,root) %{_rpmlibdir}/rpmt
1353 %{_rpmlibdir}/noarch-*
1354 %ifarch %{ix86}
1355 %{_rpmlibdir}/i?86*
1356 %{_rpmlibdir}/pentium*
1357 %{_rpmlibdir}/athlon*
1358 %endif
1359 %ifarch alpha
1360 %{_rpmlibdir}/alpha*
1361 %endif
1362 %ifarch ia64
1363 %{_rpmlibdir}/ia64*
1364 %endif
1365 %ifarch mips mipsel mips64 mips64el
1366 %{_rpmlibdir}/mips*
1367 %endif
1368 %ifarch %{ppc}
1369 %{_rpmlibdir}/ppc*
1370 %endif
1371 %ifarch sparc sparcv9 sparc64
1372 %{_rpmlibdir}/sparc*
1373 %endif
1374 %ifarch %{x8664}
1375 %{_rpmlibdir}/amd64*
1376 %{_rpmlibdir}/ia32e*
1377 %{_rpmlibdir}/x86_64*
1378 %endif
1379 %ifarch armv6l armv5tel armv4t armv3t armv5teb armv4b
1380 %{_rpmlibdir}/arm*
1381 %endif
1382 # must be here for "Requires: rpm-*prov" to work
1383 %{_rpmlibdir}/macros.gstreamer
1384 %{_rpmlibdir}/macros.java
1385 %{_rpmlibdir}/macros.mono
1386 %{_rpmlibdir}/macros.perl
1387 %{_rpmlibdir}/macros.php
1388 # not used yet ... these six depend on perl
1389 #%attr(755,root,root) %{_rpmlibdir}/http.req
1390 #%attr(755,root,root) %{_rpmlibdir}/magic.prov
1391 #%attr(755,root,root) %{_rpmlibdir}/magic.req
1392 #%{_rpmlibdir}/sql.prov
1393 #%{_rpmlibdir}/sql.req
1394 #%{_rpmlibdir}/tcl.req
1395
1396 %attr(755,root,root) %{_bindir}/gendiff
1397 %attr(755,root,root) %{_bindir}/rpmbuild
1398
1399 %{_mandir}/man1/gendiff.1*
1400 %{_mandir}/man8/rpmbuild.8*
1401 %lang(ja) %{_mandir}/ja/man8/rpmbuild.8*
1402 %lang(pl) %{_mandir}/pl/man1/gendiff.1*
1403 %lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
1404
1405 %files javaprov
1406 %defattr(644,root,root,755)
1407 %attr(755,root,root) %{_rpmlibdir}/java-find-requires
1408 # needs jar (any jdk), jcf-dump (gcc-java) to work
1409 %attr(755,root,root) %{_rpmlibdir}/javadeps.sh
1410
1411 %files perlprov
1412 %defattr(644,root,root,755)
1413 %attr(755,root,root) %{_rpmlibdir}/perl.*
1414 #%attr(755,root,root) %{_rpmlibdir}/perldeps.pl
1415 #%attr(755,root,root) %{_rpmlibdir}/find-perl-*
1416 #%attr(755,root,root) %{_rpmlibdir}/find-*.perl
1417 #%attr(755,root,root) %{_rpmlibdir}/find-prov.pl
1418 #%attr(755,root,root) %{_rpmlibdir}/find-req.pl
1419 #%attr(755,root,root) %{_rpmlibdir}/get_magic.pl
1420
1421 %files pythonprov
1422 %defattr(644,root,root,755)
1423 %{_rpmlibdir}/macros.python
1424 %attr(755,root,root) %{_rpmlibdir}/pythondeps.sh
1425
1426 %files php-pearprov
1427 %defattr(644,root,root,755)
1428 %attr(755,root,root) %{_rpmlibdir}/php*
1429
1430 %if %{with python}
1431 %files -n python-rpm
1432 %defattr(644,root,root,755)
1433 %dir %{py_sitedir}/rpm
1434 %attr(755,root,root) %{py_sitedir}/rpm/*.so
1435 %{py_sitedir}/rpm/*.py[co]
1436 %endif
1437
1438 %if %{with apidocs}
1439 %files apidocs
1440 %defattr(644,root,root,755)
1441 %doc apidocs
1442 %endif