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