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