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