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