1 |
tmb |
343 |
# Do not change this spec directly but in the svn |
2 |
|
|
# $Id: rpm.spec 134789 2007-03-27 15:13:43Z nanardon $ |
3 |
|
|
|
4 |
|
|
%define lib64arches x86_64 ppc64 sparc64 |
5 |
|
|
|
6 |
|
|
%ifarch %lib64arches |
7 |
|
|
%define _lib lib64 |
8 |
|
|
%else |
9 |
|
|
%define _lib lib |
10 |
|
|
%endif |
11 |
|
|
|
12 |
|
|
%define _prefix /usr |
13 |
|
|
%define _libdir %_prefix/%_lib |
14 |
|
|
%define _bindir %_prefix/bin |
15 |
|
|
%define _sysconfdir /etc |
16 |
|
|
%define _datadir /usr/share |
17 |
|
|
%define _defaultdocdir %_datadir/doc |
18 |
|
|
%define _localstatedir /var |
19 |
|
|
%define _infodir %_datadir/info |
20 |
|
|
|
21 |
|
|
%if %{?apply_patches:0}%{?!apply_patches:1} |
22 |
|
|
%define apply_patches %(for p in `grep '^Patch.*:' "%{_specdir}/rpm.spec" | cut -d':' -f2-`; do echo "patch -p1 -F0 -i %{_sourcedir}/$p"; done ) |
23 |
|
|
%endif |
24 |
|
|
|
25 |
|
|
# Define directory which holds rpm config files, and some binaries actually |
26 |
|
|
# NOTE: it remains */lib even on lib64 platforms as only one version |
27 |
|
|
# of rpm is supported anyway, per architecture |
28 |
|
|
%define rpmdir %{_prefix}/lib/rpm |
29 |
|
|
|
30 |
|
|
%if %{?mklibname:0}%{?!mklibname:1} |
31 |
|
|
%define mklibname(ds) %{_lib}%{1}%{?2:%{2}}%{?3:_%{3}}%{-s:-static}%{-d:-devel} |
32 |
|
|
%endif |
33 |
|
|
|
34 |
blino |
3615 |
#define lc_distro %(echo %{distribution} | tr "A-Z" "a-z") |
35 |
|
|
%define lc_distro mandriva |
36 |
|
|
|
37 |
tmb |
343 |
%if %{?distsuffix:0}%{?!distsuffix:1} |
38 |
tmb |
345 |
%define distsuffix .mga |
39 |
tmb |
343 |
%endif |
40 |
|
|
|
41 |
|
|
%if %{?mkrel:0}%{?!mkrel:1} |
42 |
tmb |
345 |
%define mkrel(c:) %{-c: 0.%{-c*}.}%{1}%{?distsuffix:%distsuffix}%{?!distsuffix:.mga}%{?mageia_release:%mageia_release}%{?subrel:.%subrel} |
43 |
tmb |
343 |
%endif |
44 |
|
|
|
45 |
|
|
%if %{?mips:0}%{?!mips:1} |
46 |
|
|
%define mips mips mipsel mips32 mips32el mips64 mips64el |
47 |
|
|
%endif |
48 |
|
|
|
49 |
|
|
%if %{?pyver:0}%{?!pyver:1} |
50 |
|
|
%define pyver %(python -V 2>&1 | cut -f2 -d" " | cut -f1,2 -d".") |
51 |
|
|
%endif |
52 |
|
|
|
53 |
blino |
3615 |
%define __find_requires %{rpmdir}/%{lc_distro}/find-requires %{?buildroot:%{buildroot}} %{?_target_cpu:%{_target_cpu}} |
54 |
|
|
%define __find_provides %{rpmdir}/%{lc_distro}/find-provides |
55 |
tmb |
343 |
|
56 |
|
|
%define rpmversion 4.6.1 |
57 |
|
|
%define srcver %rpmversion |
58 |
|
|
%define libver 4.6 |
59 |
tmb |
345 |
%define release %mkrel 6 |
60 |
|
|
%define librpmname %mklibname rpm %{libver} |
61 |
|
|
%define librpmnamedevel %mklibname -d rpm |
62 |
tmb |
343 |
|
63 |
|
|
%define buildpython 1 |
64 |
|
|
|
65 |
|
|
%define rpmsetup_version 1.34 |
66 |
|
|
|
67 |
|
|
%define builddebug 0 |
68 |
|
|
%{?_with_debug:%define builddebug 1} |
69 |
|
|
|
70 |
|
|
%{?_with_python:%define buildpython 1} |
71 |
|
|
%{?_without_python:%define buildpython 0} |
72 |
|
|
|
73 |
|
|
Summary: The RPM package management system |
74 |
|
|
Name: rpm |
75 |
|
|
Epoch: 1 |
76 |
|
|
Version: %{rpmversion} |
77 |
|
|
Release: %{release} |
78 |
|
|
Group: System/Configuration/Packaging |
79 |
|
|
|
80 |
|
|
Source: http://www.rpm.org/releases/rpm-%{libver}.x/rpm-%{srcver}.tar.bz2 |
81 |
|
|
|
82 |
|
|
# Add some undocumented feature to gendiff |
83 |
|
|
Patch17: rpm-4.4.2.2-gendiff-improved.patch |
84 |
|
|
|
85 |
|
|
# if %post of foo-2 fails, |
86 |
|
|
# or if %preun of foo-1 fails, |
87 |
|
|
# or if %postun of foo-1 fails, |
88 |
|
|
# => foo-1 is not removed, so we end up with both packages in rpmdb |
89 |
|
|
# this patch makes rpm ignore the error in those cases |
90 |
|
|
# failing %pre must still make the rpm install fail (#23677) |
91 |
|
|
# |
92 |
|
|
# (nb: the exit code for pretrans/posttrans & trigger/triggerun/triggerpostun |
93 |
|
|
# scripts is ignored with or without this patch) |
94 |
|
|
Patch22: rpm-4.6.0-rc1-non-pre-scripts-dont-fail.patch |
95 |
|
|
|
96 |
|
|
# (fredl) add loging facilities through syslog |
97 |
|
|
Patch31: rpm-4.6.0-rc1-syslog.patch |
98 |
|
|
|
99 |
|
|
# part of Backport from 4.2.1 provides becoming obsoletes bug (fpons) |
100 |
|
|
# (is it still needed?) |
101 |
|
|
Patch49: rpm-4.6.0-rc1-provides-obsoleted.patch |
102 |
|
|
|
103 |
|
|
# - force /usr/lib/rpm/manbo/rpmrc instead of /usr/lib/rpm/<vendor>/rpmrc |
104 |
|
|
# - read /usr/lib/rpm/manbo/rpmpopt (not only /usr/lib/rpm/rpmpopt) |
105 |
|
|
Patch64: rpm-4.6.0-rc2-manbo-rpmrc-rpmpopt.patch |
106 |
|
|
|
107 |
|
|
# In original rpm, -bb --short-circuit does not work and run all stage |
108 |
|
|
# From popular request, we allow to do this |
109 |
|
|
# http://qa.mandriva.com/show_bug.cgi?id=15896 |
110 |
|
|
Patch70: rpm-4.6.0-rc1-bb-shortcircuit.patch |
111 |
|
|
|
112 |
|
|
# http://www.redhat.com/archives/rpm-list/2005-April/msg00131.html |
113 |
|
|
# http://www.redhat.com/archives/rpm-list/2005-April/msg00132.html |
114 |
|
|
# is this useful? "at least erasure ordering is just as non-existent as it was in 4.4.x" says Panu |
115 |
|
|
Patch71: rpm-4.6.0-ordererase.patch |
116 |
|
|
|
117 |
|
|
# don't conflict for doc files |
118 |
|
|
# (to be able to install lib*-devel together with lib64*-devel even if they have conflicting manpages) |
119 |
|
|
Patch83: rpm-4.6.0-no-doc-conflicts.patch |
120 |
|
|
|
121 |
|
|
# Fix http://qa.mandriva.com/show_bug.cgi?id=19392 |
122 |
|
|
# (is this working??) |
123 |
|
|
Patch84: rpm-4.4.2.2-rpmqv-ghost.patch |
124 |
|
|
|
125 |
|
|
# Fix diff issue when buildroot contains some "//" |
126 |
|
|
Patch111: rpm-check-file-trim-double-slash-in-buildroot.patch |
127 |
|
|
|
128 |
|
|
# [Dec 2008] macrofiles from rpmrc does not overrides MACROFILES anymore |
129 |
|
|
Patch114: rpm-4.6.0-rc1-read-macros_d-dot-macros.patch |
130 |
|
|
|
131 |
|
|
# remove unused skipDir functionality that conflicts with patch124 below |
132 |
|
|
Patch1124: rpm-4.6.0-rc1-revert-unused-skipDir-functionality.patch |
133 |
|
|
|
134 |
|
|
# [pixel] without this patch, "rpm -e" or "rpm -U" will need to stat(2) every dirnames of |
135 |
|
|
# files from the package (eg COPYING) in the db. This is quite costly when not in cache |
136 |
|
|
# (eg on a test here: >300 stats, and so 3 seconds after a "echo 3 > /proc/sys/vm/drop_caches") |
137 |
|
|
# this breaks urpmi test case test_rpm_i_fail('gd') in superuser--file-conflicts.t, |
138 |
|
|
# but this is bad design anyway |
139 |
|
|
Patch124: rpm-4.6.0-rc1-speedup-by-not-checking-same-files-with-different-paths-through-symlink.patch |
140 |
|
|
|
141 |
|
|
# [from SuSE] handle "Suggests" via RPMTAG_SUGGESTSNAME |
142 |
|
|
Patch133: rpm-4.6.0-rc1-weakdeps.patch |
143 |
|
|
|
144 |
|
|
# convert data in the header to a specific encoding which used in the selected locale. |
145 |
|
|
Patch137: rpm-4.6.0-rc1-headerIconv.patch |
146 |
|
|
|
147 |
|
|
Patch140: rpm-russian-translation.patch |
148 |
|
|
|
149 |
|
|
# Mandriva does not need the (broken) ldconfig hack since it uses filetriggers |
150 |
|
|
Patch141: rpm-4.6.0-rc1-drop-skipping-ldconfig-hack.patch |
151 |
|
|
|
152 |
|
|
# without this patch, "#%define foo bar" is surprisingly equivalent to "%define foo bar" |
153 |
|
|
# with this patch, "#%define foo bar" is a fatal error |
154 |
|
|
Patch145: rpm-forbid-badly-commented-define-in-spec.patch |
155 |
|
|
|
156 |
|
|
# cf http://wiki.mandriva.com/en/Rpm_filetriggers |
157 |
|
|
Patch146: rpm-4.6.0-rc1-filetriggers.patch |
158 |
|
|
|
159 |
|
|
# add two fatal errors (during package build) |
160 |
|
|
Patch147: rpm-rpmbuild-check-useless-tags-in-non-existant-binary-packages.patch |
161 |
|
|
|
162 |
|
|
# (nb: see the patch for more info about this issue) |
163 |
|
|
Patch151: rpm-4.6.0-rc1-protect-against-non-robust-futex.patch |
164 |
|
|
|
165 |
|
|
Patch152: rpm-4.6.0-rc1-fix-nss-detection.patch |
166 |
|
|
|
167 |
|
|
Patch157: introduce-_after_setup-which-is-called-after-setup.patch |
168 |
|
|
Patch158: introduce-_patch-and-allow-easy-override-when-the-p.patch |
169 |
|
|
Patch159: introduce-apply_patches-and-lua-var-patches_num.patch |
170 |
|
|
|
171 |
|
|
# fixes backported from 4.7.1, see patch files for full changelog entries |
172 |
|
|
# fixes ignored Requires(pre) and (post) when they have a plain Requires counterpart |
173 |
|
|
Patch161: rpm-fix-corequisites.patch |
174 |
|
|
Patch162: rpm-fix-islegacyprereq.patch |
175 |
|
|
# map PreReq into Requires(pre,preun) at build |
176 |
|
|
Patch163: rpm-map-prereq.patch |
177 |
|
|
|
178 |
|
|
# avoid "canonicalization unexpectedly shrank by one character" error from |
179 |
|
|
# debugedit by adding '/' to the end of the string when the error would be |
180 |
|
|
# triggered |
181 |
|
|
# see https://bugzilla.redhat.com/show_bug.cgi?id=304121 and |
182 |
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=482903 |
183 |
|
|
|
184 |
|
|
Patch164: rpm-4.6.1-updated-debugedit-for-debug_pubtypes-section.patch |
185 |
|
|
Patch165: rpm-4.6.0-fix-debugedit-canonicalization-error.patch |
186 |
|
|
|
187 |
|
|
#Patch1001: rpm-4.6.0-rc1-new-liblzma.patch |
188 |
|
|
|
189 |
|
|
# default behaviour in rpm-jbj >= 4.4.6 |
190 |
|
|
Patch1005: rpm-allow-conflicting-ghost-files.patch |
191 |
|
|
|
192 |
|
|
# (nb: see the patch for more info about this issue) |
193 |
|
|
Patch1006: rpm-4.6.0-rc1-compat-PayloadIsLzma.patch |
194 |
|
|
|
195 |
|
|
Patch1007: rpm-4.6.0-rc3-xz-support.patch |
196 |
|
|
|
197 |
|
|
# Prevents $DOCDIR from being wiped out when using %%doc <fileinbuilddir>, |
198 |
|
|
# as this breaks stuff that installs files to $DOCDIR during %%install |
199 |
|
|
Patch1008: rpm-4.6.0-rc3-no_rm_-rf_DOCDIR.patch |
200 |
|
|
|
201 |
|
|
# Exposes packagecolor tag and adds new tags from rpm5 as it otherwise will |
202 |
|
|
# break when these unknown tags might be found in the rpmdb. Notice that this |
203 |
|
|
# will only make rpm recognize these, not implement actual support for them.. |
204 |
|
|
Patch1009: rpm-4.6.0-rpm5-tags.patch |
205 |
|
|
|
206 |
|
|
# Avoid adding Lua sources/patches twice when recursing. (backport from upstream git) |
207 |
|
|
Patch1010: rpm-4.6.0-lua-add-sources-and-patches-only-once.patch |
208 |
|
|
|
209 |
|
|
# Check chroot return code before running lua script |
210 |
|
|
Patch1011: rpm-4.6.0-do-not-run-lua-scripts-when-chroot-fails.patch |
211 |
|
|
|
212 |
|
|
# Check chroot return code before running external script |
213 |
|
|
Patch1012: rpm-4.6.0-do-not-run-scripts-when-chroot-fails.patch |
214 |
|
|
|
215 |
|
|
# Make sure files in debug packages have good default perms, fixes bug #57758 |
216 |
|
|
Patch1013: rpm-4.6.0-fix-debug-info-default-permissions.patch |
217 |
|
|
|
218 |
|
|
# Remove BDB XA support to fix compilation with db 4.8 (upstream) |
219 |
|
|
Patch1014: rpm-4.6.0-bdb-xa-removal.patch |
220 |
|
|
|
221 |
|
|
# Refuse to build a rpm with 2 identical triggers (#60699) |
222 |
|
|
#Patch1015: rpm-4.6.0-duplicate-triggers.patch |
223 |
|
|
|
224 |
|
|
# fix %exclude behaviour to only exclude files from a specific package, not |
225 |
|
|
# from adding the files to list of files that's not unpackaged. |
226 |
|
|
# Reintroduces past behaviour as with rpm 4.4.8 & enforces compatibility with |
227 |
|
|
# rpm5.org |
228 |
|
|
Patch1016: rpm-4.6.0-dont-add-excluded-files-to-check_fileList.patch |
229 |
|
|
|
230 |
|
|
# make rpmvercmp handle missing values and make versioned conflicts behave |
231 |
|
|
# consistently with requires. (#55810) |
232 |
|
|
Patch1017: rpm-4.6.0-rpmvercmp-handle-missing-values.patch |
233 |
|
|
|
234 |
|
|
# Automatically handle ruby gem extraction in %setup |
235 |
|
|
PAtch1018: rpm-4.6.1-setup-rubygems.patch |
236 |
|
|
|
237 |
|
|
# Turbolinux patches |
238 |
|
|
# add writeHeaderListTofile function into rpm-python (needed by "buildman" build system) (Toshihiro, 2003) |
239 |
|
|
Patch2002: rpm-4.6.0-rc1-python-writeHdlist.patch |
240 |
|
|
# Crusoe CPUs say that their CPU family is "5" but they have enough features for i686. |
241 |
|
|
Patch2003: rpm-4.4.2.3-rc1-transmeta-crusoe-is-686.patch |
242 |
|
|
|
243 |
|
|
# The following patch isn't needed for Mandriva, but Turbolinux has it and it can't hurt much |
244 |
|
|
# |
245 |
|
|
# This patch fixes the problem when the post-scripts launched by rpm-build. |
246 |
|
|
# The post-scripts launched by rpm-build works in LANG environment. If LANG is |
247 |
|
|
# other locale except C, then some commands launched by post-scripts will not |
248 |
|
|
# display characters which you expected. |
249 |
|
|
Patch2005: rpm-4.6.0-rc1-buildlang.patch |
250 |
|
|
|
251 |
|
|
Patch3000: mips_macros.patch |
252 |
|
|
Patch3001: fix_stack_protector_check.patch |
253 |
|
|
Patch3002: rpm-4.6.1-mips_define_isa_macros.patch |
254 |
|
|
Patch3003: rpm-4.6.1-arm_mips_isa_macros.patch |
255 |
|
|
Patch3004: rpm_add_armv5tl.patch |
256 |
|
|
|
257 |
|
|
License: GPL |
258 |
|
|
BuildRequires: autoconf >= 2.57 |
259 |
|
|
BuildRequires: zlib-devel |
260 |
|
|
BuildRequires: bzip2-devel |
261 |
|
|
BuildRequires: liblzma-devel >= 4.999.6-0.alpha.5 |
262 |
|
|
BuildRequires: automake >= 1.8 |
263 |
|
|
BuildRequires: elfutils-devel |
264 |
|
|
BuildRequires: sed >= 4.0.3 |
265 |
|
|
BuildRequires: libbeecrypt-devel |
266 |
|
|
BuildRequires: ed, gettext-devel |
267 |
|
|
BuildRequires: libsqlite3-devel |
268 |
|
|
BuildRequires: db4.8-devel |
269 |
|
|
BuildRequires: neon-devel |
270 |
|
|
BuildRequires: popt-devel |
271 |
|
|
BuildRequires: nss-devel |
272 |
|
|
BuildRequires: magic-devel |
273 |
blino |
3615 |
BuildRequires: rpm-%{lc_distro}-setup-build %{?rpmsetup_version:>= %{rpmsetup_version}} |
274 |
tmb |
343 |
BuildRequires: readline-devel |
275 |
|
|
BuildRequires: ncurses-devel |
276 |
|
|
BuildRequires: openssl-devel >= 0.9.8 |
277 |
|
|
BuildRequires: lua-devel |
278 |
|
|
# Need for doc |
279 |
|
|
#BuildRequires: graphviz |
280 |
|
|
BuildRequires: tetex |
281 |
|
|
%if %buildpython |
282 |
|
|
BuildRequires: python-devel |
283 |
|
|
%endif |
284 |
|
|
|
285 |
|
|
Requires: bzip2 >= 0.9.0c-2 |
286 |
|
|
Requires: lzma |
287 |
|
|
Requires: cpio |
288 |
|
|
Requires: gawk |
289 |
|
|
Requires: glibc >= 2.1.92 |
290 |
|
|
Requires: mktemp |
291 |
tmb |
345 |
Requires: setup >= 2.2.0-8 |
292 |
blino |
3615 |
Requires: rpm-%{lc_distro}-setup >= 1.85 |
293 |
tmb |
343 |
Requires: update-alternatives |
294 |
|
|
Requires: %librpmname = %epoch:%version-%release |
295 |
|
|
Conflicts: patch < 2.5 |
296 |
tmb |
345 |
Conflicts: menu < 2.1.5-29 |
297 |
tmb |
343 |
Conflicts: locales < 2.3.1.1 |
298 |
tmb |
345 |
Conflicts: man-pages-fr < 0.9.7-16 |
299 |
|
|
Conflicts: man-pages-pl < 0.4-9 |
300 |
|
|
Conflicts: perl-URPM < 1.63-3 |
301 |
tmb |
343 |
# rpm 4.6.0 dropped support for --repackage, so urpmi-recover can not work anymore: |
302 |
|
|
Conflicts: urpmi-recover |
303 |
|
|
URL: http://rpm.org/ |
304 |
|
|
%define git_url http://rpm.org/git/rpm.git |
305 |
|
|
Requires(pre): rpm-helper >= 0.8 |
306 |
|
|
Requires(pre): coreutils |
307 |
|
|
Requires(postun): rpm-helper >= 0.8 |
308 |
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot |
309 |
|
|
|
310 |
|
|
%description |
311 |
|
|
RPM is a powerful command line driven package management system capable of |
312 |
|
|
installing, uninstalling, verifying, querying, and updating software packages. |
313 |
|
|
Each software package consists of an archive of files along with information |
314 |
|
|
about the package like its version, a description, etc. |
315 |
|
|
|
316 |
|
|
%package -n %librpmname |
317 |
tmb |
345 |
Summary: Library used by rpm |
318 |
|
|
Group: System/Libraries |
319 |
|
|
Provides: librpm = %version-%release |
320 |
tmb |
343 |
|
321 |
|
|
%description -n %librpmname |
322 |
|
|
RPM is a powerful command line driven package management system capable of |
323 |
|
|
installing, uninstalling, verifying, querying, and updating software packages. |
324 |
|
|
This package contains common files to all applications based on rpm. |
325 |
|
|
|
326 |
|
|
%package -n %librpmnamedevel |
327 |
|
|
Summary: Development files for applications which will manipulate RPM packages |
328 |
|
|
Group: Development/C |
329 |
|
|
Requires: rpm = %epoch:%{version}-%{release} |
330 |
|
|
Provides: librpm-devel = %version-%release |
331 |
|
|
Provides: rpm-devel = %version-%release |
332 |
|
|
Obsoletes: rpm-devel < 4.4.1 |
333 |
|
|
Obsoletes: %{_lib}rpm4.4-devel |
334 |
|
|
Obsoletes: %{_lib}rpm4.2-devel |
335 |
|
|
|
336 |
|
|
%description -n %librpmnamedevel |
337 |
|
|
This package contains the RPM C library and header files. These |
338 |
|
|
development files will simplify the process of writing programs |
339 |
|
|
which manipulate RPM packages and databases and are intended to make |
340 |
|
|
it easier to create graphical package managers or any other tools |
341 |
|
|
that need an intimate knowledge of RPM packages in order to function. |
342 |
|
|
|
343 |
|
|
This package should be installed if you want to develop programs that |
344 |
|
|
will manipulate RPM packages and databases. |
345 |
|
|
|
346 |
|
|
%package build |
347 |
|
|
Summary: Scripts and executable programs used to build packages |
348 |
|
|
Group: System/Configuration/Packaging |
349 |
|
|
Requires: autoconf |
350 |
|
|
Requires: automake |
351 |
|
|
Requires: file |
352 |
|
|
Requires: gcc-c++ |
353 |
|
|
# We need cputoolize & amd64-* alias to x86_64-* in config.sub |
354 |
tmb |
345 |
Requires: libtool-base >= 1.4.3-5 |
355 |
|
|
Requires: patch >= 2.5.9-7 |
356 |
tmb |
343 |
Requires: make |
357 |
|
|
Requires: tar |
358 |
|
|
Requires: unzip |
359 |
|
|
Requires: elfutils |
360 |
|
|
Requires: rpm = %epoch:%{version}-%{release} |
361 |
blino |
3615 |
Requires: rpm-%{lc_distro}-setup-build %{?rpmsetup_version:>= %{rpmsetup_version}} |
362 |
tmb |
343 |
|
363 |
|
|
%description build |
364 |
|
|
This package contains scripts and executable programs that are used to |
365 |
|
|
build packages using RPM. |
366 |
|
|
|
367 |
|
|
%if %buildpython |
368 |
|
|
%package -n python-rpm |
369 |
|
|
Summary: Python bindings for apps which will manipulate RPM packages |
370 |
|
|
Group: Development/Python |
371 |
|
|
Requires: python >= %{pyver} |
372 |
|
|
Requires: rpm = %epoch:%{version}-%{release} |
373 |
tmb |
345 |
Obsoletes: rpm-python < %epoch:%version-%release |
374 |
|
|
Provides: rpm-python = %version-%release |
375 |
tmb |
343 |
|
376 |
|
|
%description -n python-rpm |
377 |
|
|
The rpm-python package contains a module which permits applications |
378 |
|
|
written in the Python programming language to use the interface |
379 |
|
|
supplied by RPM (RPM Package Manager) libraries. |
380 |
|
|
|
381 |
|
|
This package should be installed if you want to develop Python |
382 |
|
|
programs that will manipulate RPM packages and databases. |
383 |
|
|
%endif |
384 |
|
|
|
385 |
|
|
%prep |
386 |
|
|
%setup -q -n %name-%srcver |
387 |
|
|
%apply_patches |
388 |
|
|
|
389 |
|
|
%build |
390 |
|
|
|
391 |
|
|
autoreconf |
392 |
|
|
|
393 |
|
|
%if %builddebug |
394 |
|
|
RPM_OPT_FLAGS=-g |
395 |
|
|
%endif |
396 |
|
|
CFLAGS="$RPM_OPT_FLAGS -fPIC" CXXFLAGS="$RPM_OPT_FLAGS -fPIC" \ |
397 |
|
|
%configure \ |
398 |
|
|
--enable-nls \ |
399 |
|
|
--enable-python \ |
400 |
|
|
--enable-sqlite3 \ |
401 |
|
|
--without-javaglue \ |
402 |
|
|
%if %builddebug |
403 |
|
|
--enable-debug \ |
404 |
|
|
%endif |
405 |
|
|
--with-external-db \ |
406 |
|
|
%if %buildpython |
407 |
|
|
--with-python=%{pyver} \ |
408 |
|
|
%else |
409 |
|
|
--without-python \ |
410 |
|
|
%endif |
411 |
|
|
--with-glob \ |
412 |
|
|
--without-selinux \ |
413 |
|
|
--without-apidocs |
414 |
|
|
|
415 |
|
|
%make |
416 |
|
|
|
417 |
|
|
%install |
418 |
|
|
rm -rf $RPM_BUILD_ROOT |
419 |
|
|
|
420 |
|
|
make DESTDIR=%buildroot install |
421 |
|
|
|
422 |
|
|
%ifarch ppc powerpc |
423 |
blino |
3615 |
ln -sf ppc-%{lc_distro}-linux $RPM_BUILD_ROOT%{rpmdir}/powerpc-%{lc_distro}-linux |
424 |
tmb |
343 |
%endif |
425 |
|
|
|
426 |
|
|
#mv -f $RPM_BUILD_ROOT/%{rpmdir}/rpmdiff $RPM_BUILD_ROOT/%{_bindir} |
427 |
|
|
|
428 |
|
|
# Save list of packages through cron |
429 |
|
|
mkdir -p ${RPM_BUILD_ROOT}/etc/cron.daily |
430 |
|
|
install -m 755 scripts/rpm.daily ${RPM_BUILD_ROOT}/etc/cron.daily/rpm |
431 |
|
|
|
432 |
|
|
mkdir -p ${RPM_BUILD_ROOT}/etc/logrotate.d |
433 |
|
|
install -m 644 scripts/rpm.log ${RPM_BUILD_ROOT}/etc/logrotate.d/rpm |
434 |
|
|
|
435 |
|
|
mkdir -p $RPM_BUILD_ROOT/var/lib/rpm |
436 |
|
|
for dbi in \ |
437 |
|
|
Basenames Conflictname Dirnames Group Installtid Name Providename \ |
438 |
|
|
Provideversion Removetid Requirename Requireversion Triggername \ |
439 |
|
|
Packages __db.001 __db.002 __db.003 __db.004 |
440 |
|
|
do |
441 |
|
|
touch $RPM_BUILD_ROOT/var/lib/rpm/$dbi |
442 |
|
|
done |
443 |
|
|
|
444 |
|
|
test -d doc-copy || mkdir doc-copy |
445 |
|
|
rm -rf doc-copy/* |
446 |
|
|
ln -f doc/manual/* doc-copy/ |
447 |
|
|
rm -f doc-copy/Makefile* |
448 |
|
|
|
449 |
|
|
mkdir -p $RPM_BUILD_ROOT/var/spool/repackage |
450 |
|
|
|
451 |
|
|
mkdir -p %buildroot%_sysconfdir/rpm/macros.d |
452 |
|
|
cat > %buildroot%_sysconfdir/rpm/macros <<EOF |
453 |
|
|
# Put your own system macros here |
454 |
|
|
# usually contains |
455 |
|
|
|
456 |
|
|
# Set this one according your locales |
457 |
|
|
# %%_install_langs |
458 |
|
|
|
459 |
|
|
EOF |
460 |
|
|
|
461 |
|
|
# Get rid of unpackaged files |
462 |
|
|
(cd $RPM_BUILD_ROOT; |
463 |
|
|
rm -rf .%{_includedir}/beecrypt/ |
464 |
|
|
rm -f .%{_libdir}/libbeecrypt.{a,la,so*} |
465 |
|
|
rm -f .%{_libdir}/python*/site-packages/rpmmodule.{a,la} |
466 |
|
|
rm -f .%{rpmdir}/{Specfile.pm,cpanflute2,cpanflute,sql.prov,sql.req,tcl.req} |
467 |
|
|
rm -f .%{rpmdir}/{config.site,cross-build,rpmdiff.cgi} |
468 |
|
|
rm -f .%{rpmdir}/trpm |
469 |
|
|
rm -f .%{_bindir}/rpmdiff |
470 |
|
|
) |
471 |
|
|
|
472 |
|
|
%{rpmdir}/%{_host_vendor}/find-lang.pl $RPM_BUILD_ROOT %{name} |
473 |
|
|
|
474 |
|
|
%clean |
475 |
|
|
rm -rf $RPM_BUILD_ROOT |
476 |
|
|
|
477 |
|
|
%pre |
478 |
|
|
if [ -f /var/lib/rpm/Packages -a -f /var/lib/rpm/packages.rpm ]; then |
479 |
|
|
echo " |
480 |
|
|
You have both |
481 |
|
|
/var/lib/rpm/packages.rpm db1 format installed package headers |
482 |
|
|
/var/lib/rpm/Packages db3 format installed package headers |
483 |
|
|
Please remove (or at least rename) one of those files, and re-install. |
484 |
|
|
" |
485 |
|
|
exit 1 |
486 |
|
|
fi |
487 |
|
|
|
488 |
|
|
/usr/share/rpm-helper/add-user rpm $1 rpm /var/lib/rpm /bin/false |
489 |
|
|
|
490 |
|
|
rm -rf /usr/lib/rpm/*-mandrake-* |
491 |
blino |
3615 |
rm -rf /usr/lib/rpm/*-%{lc_distro}-* |
492 |
tmb |
343 |
|
493 |
tmb |
345 |
|
494 |
tmb |
343 |
%post |
495 |
|
|
# nuke __db.00? when updating to this rpm |
496 |
|
|
rm -f /var/lib/rpm/__db.00? |
497 |
|
|
|
498 |
|
|
if [ ! -e /etc/rpm/macros -a -e /etc/rpmrc -a -f %{rpmdir}/convertrpmrc.sh ] |
499 |
|
|
then |
500 |
|
|
sh %{rpmdir}/convertrpmrc.sh 2>&1 > /dev/null |
501 |
|
|
fi |
502 |
|
|
|
503 |
|
|
if [ -f /var/lib/rpm/packages.rpm ]; then |
504 |
|
|
/bin/chown rpm.rpm /var/lib/rpm/*.rpm |
505 |
|
|
elif [ ! -f /var/lib/rpm/Packages ]; then |
506 |
|
|
/bin/rpm --initdb |
507 |
|
|
fi |
508 |
|
|
|
509 |
|
|
%postun |
510 |
|
|
/usr/share/rpm-helper/del-user rpm $1 rpm |
511 |
|
|
|
512 |
|
|
%triggerpostun -- rpm < 1:4.4.2.3-11 |
513 |
|
|
if [ -f /etc/rpm/macros.cdb.rpmsave ]; then |
514 |
|
|
echo "warning: restoring /etc/rpm/macros.cdb from macros.cdb.rpmsave, please check you really need the changes" |
515 |
|
|
mv /etc/rpm/macros.cdb.rpmsave /etc/rpm/macros.cdb |
516 |
|
|
fi |
517 |
|
|
|
518 |
|
|
%define rpmattr %attr(0755, rpm, rpm) |
519 |
|
|
|
520 |
|
|
%files -f %{name}.lang |
521 |
|
|
%defattr(-,root,root) |
522 |
|
|
%doc GROUPS CHANGES doc/manual/[a-z]* |
523 |
|
|
%attr(0755,rpm,rpm) /bin/rpm |
524 |
|
|
%attr(0755, rpm, rpm) %{_bindir}/rpm2cpio |
525 |
|
|
%attr(0755, rpm, rpm) %{_bindir}/gendiff |
526 |
|
|
%attr(0755, rpm, rpm) %{_bindir}/rpmdb |
527 |
|
|
%attr(0755, rpm, rpm) %{_bindir}/rpmgraph |
528 |
|
|
%attr(0755, rpm, rpm) %{_bindir}/rpmsign |
529 |
|
|
%attr(0755, rpm, rpm) %{_bindir}/rpmquery |
530 |
|
|
%attr(0755, rpm, rpm) %{_bindir}/rpmverify |
531 |
|
|
|
532 |
|
|
%dir %{_localstatedir}/spool/repackage |
533 |
|
|
%dir %{rpmdir} |
534 |
|
|
%dir /etc/rpm |
535 |
|
|
%config(noreplace) /etc/rpm/macros |
536 |
|
|
%dir /etc/rpm/macros.d |
537 |
|
|
%attr(0755, rpm, rpm) %{rpmdir}/config.guess |
538 |
|
|
%attr(0755, rpm, rpm) %{rpmdir}/config.sub |
539 |
|
|
#%attr(0755, rpm, rpm) %{rpmdir}/convertrpmrc.sh |
540 |
|
|
%attr(0755, rpm, rpm) %{rpmdir}/rpmdb_* |
541 |
|
|
%attr(0644, rpm, rpm) %{rpmdir}/macros |
542 |
|
|
%attr(0755, rpm, rpm) %{rpmdir}/mkinstalldirs |
543 |
|
|
%attr(0755, rpm, rpm) %{rpmdir}/rpm.* |
544 |
|
|
%attr(0644, rpm, rpm) %{rpmdir}/rpmpopt* |
545 |
|
|
%attr(0644, rpm, rpm) %{rpmdir}/rpmrc |
546 |
|
|
|
547 |
|
|
%rpmattr %{rpmdir}/rpm2cpio.sh |
548 |
|
|
%rpmattr %{rpmdir}/tgpg |
549 |
|
|
|
550 |
|
|
%dir %attr( -, rpm, rpm) %{rpmdir}/platform/ |
551 |
|
|
%ifarch %{ix86} x86_64 |
552 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/i*86-* |
553 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/athlon-* |
554 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/pentium*-* |
555 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/geode-* |
556 |
|
|
%endif |
557 |
|
|
%ifarch alpha |
558 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/alpha* |
559 |
|
|
%endif |
560 |
|
|
%ifarch %{sunsparc} |
561 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/sparc* |
562 |
|
|
%endif |
563 |
|
|
%ifarch ppc powerpc |
564 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/ppc-* |
565 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/ppc32-* |
566 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/ppc64-* |
567 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/powerpc-* |
568 |
|
|
%endif |
569 |
|
|
%ifarch ppc powerpc ppc64 |
570 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/ppc*series-* |
571 |
|
|
%endif |
572 |
|
|
%ifarch ppc64 |
573 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/ppc-* |
574 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/ppc32-* |
575 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/ppc64-* |
576 |
|
|
%endif |
577 |
|
|
%ifarch ia64 |
578 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/ia64-* |
579 |
|
|
%endif |
580 |
|
|
%ifarch x86_64 |
581 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/amd64-* |
582 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/x86_64-* |
583 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/ia32e-* |
584 |
|
|
%endif |
585 |
|
|
%ifarch %arm |
586 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/armv* |
587 |
|
|
%endif |
588 |
|
|
%ifarch %mips |
589 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/mips* |
590 |
|
|
%endif |
591 |
|
|
%attr( -, rpm, rpm) %{rpmdir}/platform/noarch* |
592 |
|
|
|
593 |
|
|
%{_mandir}/man[18]/*.[18]* |
594 |
|
|
%lang(pl) %{_mandir}/pl/man[18]/*.[18]* |
595 |
|
|
%lang(ru) %{_mandir}/ru/man[18]/*.[18]* |
596 |
|
|
%lang(ja) %{_mandir}/ja/man[18]/*.[18]* |
597 |
|
|
%lang(sk) %{_mandir}/sk/man[18]/*.[18]* |
598 |
|
|
%lang(fr) %{_mandir}/fr/man[18]/*.[18]* |
599 |
|
|
%lang(ko) %{_mandir}/ko/man[18]/*.[18]* |
600 |
|
|
|
601 |
|
|
%config(noreplace,missingok) /etc/cron.daily/rpm |
602 |
|
|
%config(noreplace,missingok) /etc/logrotate.d/rpm |
603 |
|
|
|
604 |
|
|
%attr(0755, rpm, rpm) %dir %_localstatedir/lib/rpm |
605 |
|
|
|
606 |
|
|
%define rpmdbattr %attr(0644, rpm, rpm) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) |
607 |
|
|
|
608 |
|
|
%rpmdbattr /var/lib/rpm/Basenames |
609 |
|
|
%rpmdbattr /var/lib/rpm/Conflictname |
610 |
|
|
%rpmdbattr /var/lib/rpm/__db.0* |
611 |
|
|
%rpmdbattr /var/lib/rpm/Dirnames |
612 |
|
|
%rpmdbattr /var/lib/rpm/Group |
613 |
|
|
%rpmdbattr /var/lib/rpm/Installtid |
614 |
|
|
%rpmdbattr /var/lib/rpm/Name |
615 |
|
|
%rpmdbattr /var/lib/rpm/Packages |
616 |
|
|
%rpmdbattr /var/lib/rpm/Providename |
617 |
|
|
%rpmdbattr /var/lib/rpm/Provideversion |
618 |
|
|
%rpmdbattr /var/lib/rpm/Removetid |
619 |
|
|
%rpmdbattr /var/lib/rpm/Requirename |
620 |
|
|
%rpmdbattr /var/lib/rpm/Requireversion |
621 |
|
|
%rpmdbattr /var/lib/rpm/Triggername |
622 |
|
|
|
623 |
|
|
%files build |
624 |
|
|
%defattr(-,root,root) |
625 |
|
|
%doc CHANGES |
626 |
|
|
%doc doc-copy/* |
627 |
|
|
%rpmattr %{_bindir}/rpmbuild |
628 |
|
|
%rpmattr %{_prefix}/lib/rpm/brp-* |
629 |
|
|
%rpmattr %{_prefix}/lib/rpm/check-files |
630 |
|
|
%rpmattr %{_prefix}/lib/rpm/debugedit |
631 |
|
|
%rpmattr %{_prefix}/lib/rpm/find-debuginfo.sh |
632 |
|
|
%rpmattr %{_prefix}/lib/rpm/find-lang.sh |
633 |
|
|
%rpmattr %{_prefix}/lib/rpm/find-provides |
634 |
|
|
%rpmattr %{_prefix}/lib/rpm/find-requires |
635 |
|
|
%rpmattr %{_prefix}/lib/rpm/perldeps.pl |
636 |
|
|
%rpmattr %{_prefix}/lib/rpm/perl.prov |
637 |
|
|
%rpmattr %{_prefix}/lib/rpm/perl.req |
638 |
|
|
|
639 |
|
|
%rpmattr %{_prefix}/lib/rpm/check-buildroot |
640 |
|
|
%rpmattr %{_prefix}/lib/rpm/check-prereqs |
641 |
|
|
%rpmattr %{_prefix}/lib/rpm/check-rpaths |
642 |
|
|
%rpmattr %{_prefix}/lib/rpm/check-rpaths-worker |
643 |
|
|
%rpmattr %{_prefix}/lib/rpm/javadeps |
644 |
|
|
%rpmattr %{_prefix}/lib/rpm/libtooldeps.sh |
645 |
|
|
%rpmattr %{_prefix}/lib/rpm/macros.perl |
646 |
|
|
%rpmattr %{_prefix}/lib/rpm/macros.php |
647 |
|
|
%rpmattr %{_prefix}/lib/rpm/macros.python |
648 |
|
|
%rpmattr %{_prefix}/lib/rpm/mono-find-provides |
649 |
|
|
%rpmattr %{_prefix}/lib/rpm/mono-find-requires |
650 |
|
|
%rpmattr %{_prefix}/lib/rpm/osgideps.pl |
651 |
|
|
%rpmattr %{_prefix}/lib/rpm/pkgconfigdeps.sh |
652 |
|
|
%rpmattr %{_prefix}/lib/rpm/rpmdiff |
653 |
|
|
|
654 |
|
|
%rpmattr %{_prefix}/lib/rpm/rpmdeps |
655 |
|
|
#%rpmattr %{_prefix}/lib/rpm/trpm |
656 |
|
|
%rpmattr %{_prefix}/lib/rpm/pythondeps.sh |
657 |
|
|
|
658 |
|
|
%{_mandir}/man8/rpmbuild.8* |
659 |
|
|
%{_mandir}/man8/rpmdeps.8* |
660 |
|
|
|
661 |
|
|
%if %buildpython |
662 |
|
|
%files -n python-rpm |
663 |
|
|
%defattr(-,root,root) |
664 |
|
|
%{_libdir}/python*/site-packages/rpm |
665 |
|
|
%endif |
666 |
|
|
|
667 |
|
|
%files -n %librpmname |
668 |
|
|
%defattr(-,root,root) |
669 |
|
|
%{_libdir}/librpm-%{libver}.so |
670 |
|
|
%{_libdir}/librpmio-%{libver}.so |
671 |
|
|
%{_libdir}/librpmbuild-%{libver}.so |
672 |
|
|
|
673 |
|
|
%files -n %librpmnamedevel |
674 |
|
|
%defattr(-,root,root) |
675 |
|
|
%{_includedir}/rpm |
676 |
|
|
%{_libdir}/librpm.la |
677 |
|
|
%{_libdir}/librpm.so |
678 |
|
|
%{_libdir}/librpmio.la |
679 |
|
|
%{_libdir}/librpmio.so |
680 |
|
|
%{_libdir}/librpmbuild.la |
681 |
|
|
%{_libdir}/librpmbuild.so |
682 |
|
|
%{_libdir}/pkgconfig/rpm.pc |