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