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