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