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