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