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