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