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