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