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