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