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