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