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