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