1 |
%define lib64arches x86_64 |
2 |
%define lib64oses linux |
3 |
|
4 |
%ifarch %lib64arches |
5 |
%ifos %lib64oses |
6 |
%define _lib lib64 |
7 |
%else |
8 |
%define _lib lib |
9 |
%endif |
10 |
%else |
11 |
%define _lib lib |
12 |
%endif |
13 |
|
14 |
%define _prefix /usr |
15 |
%define _libdir %_prefix/%_lib |
16 |
%define _bindir %_prefix/bin |
17 |
%define _sysconfdir /etc |
18 |
%define _datadir /usr/share |
19 |
%define _defaultdocdir %_datadir/doc |
20 |
%define _localstatedir /var |
21 |
%define _infodir %_datadir/info |
22 |
|
23 |
%if %{?apply_patches:0}%{?!apply_patches:1} |
24 |
%define apply_patches %(for p in `grep '^Patch.*:' "%{_specdir}/rpm.spec" | cut -d':' -f2-`; do echo "patch -p1 -F0 -i %{_sourcedir}/$p"; done ) |
25 |
%endif |
26 |
|
27 |
# Define directory which holds rpm config files, and some binaries actually |
28 |
# NOTE: it remains */lib even on lib64 platforms as only one version |
29 |
# of rpm is supported anyway, per architecture |
30 |
%define rpmdir %{_prefix}/lib/rpm |
31 |
|
32 |
%if %{?mklibname:0}%{?!mklibname:1} |
33 |
%define mklibname(ds) %{_lib}%{1}%{?2:%{2}}%{?3:_%{3}}%{-s:-static}%{-d:-devel} |
34 |
%endif |
35 |
|
36 |
%if %{?distsuffix:0}%{?!distsuffix:1} |
37 |
%define distsuffix .mga |
38 |
%endif |
39 |
|
40 |
%if %{?mkrel:0}%{?!mkrel:1} |
41 |
%define mkrel(c:) %{-c: 0.%{-c*}.}%{1}%{?distsuffix:%distsuffix}%{?!distsuffix:.mga}%{?mageia_release:%mageia_release}%{?subrel:.%subrel} |
42 |
%endif |
43 |
|
44 |
%if %{?mips:0}%{?!mips:1} |
45 |
%define mips mips mipsel mips32 mips32el mips64 mips64el |
46 |
%endif |
47 |
|
48 |
%if %{?pyver:0}%{?!pyver:1} |
49 |
%define pyver %(python -V 2>&1 | cut -f2 -d" " | cut -f1,2 -d".") |
50 |
%endif |
51 |
|
52 |
%define __find_requires %{rpmdir}/%{_real_vendor}/find-requires %{?buildroot:%{buildroot}} %{?_target_cpu:%{_target_cpu}} |
53 |
%define __find_provides %{rpmdir}/%{_real_vendor}/find-provides |
54 |
|
55 |
%define snapver rc1 |
56 |
%define rpmversion 4.12.0 |
57 |
%define srcver %{rpmversion}%{?snapver:-%{snapver}} |
58 |
%define libver 4.10 |
59 |
%define libmajor 3 |
60 |
%define librpmname %mklibname rpm %{libmajor} |
61 |
%define librpmnamedevel %mklibname -d rpm |
62 |
%define librpmsign %mklibname rpmsign %{libmajor} |
63 |
%define librpmbuild %mklibname rpmbuild %{libmajor} |
64 |
|
65 |
%define buildpython 1 |
66 |
%define rpmsetup_version 1.34 |
67 |
|
68 |
%define builddebug 0 |
69 |
%{?_with_debug:%define builddebug 1} |
70 |
|
71 |
%{?_with_python:%define buildpython 1} |
72 |
%{?_without_python:%define buildpython 0} |
73 |
|
74 |
# disable plugins initially |
75 |
%define buildplugins 1 |
76 |
%{?_with_plugins:%define buildplugins 1} |
77 |
|
78 |
Summary: The RPM package management system |
79 |
Name: rpm |
80 |
Epoch: 1 |
81 |
Version: %{rpmversion} |
82 |
Release: %mkrel %{?snapver:0.%{snapver}.}3 |
83 |
Group: System/Packaging |
84 |
Source: http://www.rpm.org/releases/rpm-%{libver}.x/rpm-%{srcver}.tar.bz2 |
85 |
# Add some undocumented feature to gendiff |
86 |
# Send upstream ? drop ? |
87 |
Patch17: rpm-4.4.2.2-gendiff-improved.patch |
88 |
|
89 |
# if %post of foo-2 fails, |
90 |
# or if %preun of foo-1 fails, |
91 |
# or if %postun of foo-1 fails, |
92 |
# => foo-1 is not removed, so we end up with both packages in rpmdb |
93 |
# this patch makes rpm ignore the error in those cases |
94 |
# failing %pre must still make the rpm install fail (mdv #23677) |
95 |
# |
96 |
# (nb: the exit code for pretrans/posttrans & trigger/triggerun/triggerpostun |
97 |
# scripts is ignored with or without this patch) |
98 |
# Needed for urpmi testsuite: |
99 |
Patch22: rpm-4.12.0-non-pre-scripts-dont-fail.patch |
100 |
|
101 |
# (fredl) add loging facilities through syslog (pushed upstream, might be replaced by a rpm plugin in 4.12): |
102 |
#Patch31: rpm-4.9.0-syslog.patch |
103 |
|
104 |
# - force /usr/lib/rpm/mageia/rpmrc instead of /usr/lib/rpm/<vendor>/rpmrc |
105 |
# - read /usr/lib/rpm/mageia/rpmpopt (not only /usr/lib/rpm/rpmpopt) |
106 |
# if we deprecated the use of rpm -ba , ..., we can get rid of this patch |
107 |
Patch64: rpm-4.9.1.1-mageia-rpmrc-rpmpopt.patch |
108 |
|
109 |
# In original rpm, -bb --short-circuit does not work and run all stage |
110 |
# From popular request, we allow to do this |
111 |
# http://qa.mandriva.com/show_bug.cgi?id=15896 |
112 |
Patch70: rpm-4.9.1-bb-shortcircuit.patch |
113 |
|
114 |
# don't conflict for doc files |
115 |
# (to be able to install lib*-devel together with lib64*-devel even if they have conflicting manpages) |
116 |
Patch83: rpm-4.12.0-no-doc-conflicts.patch |
117 |
|
118 |
# Fix http://qa.mandriva.com/show_bug.cgi?id=19392 |
119 |
# (is this working??) |
120 |
Patch84: rpm-4.4.2.2-rpmqv-ghost.patch |
121 |
|
122 |
# Fix diff issue when buildroot contains some "//" |
123 |
Patch111: rpm-check-file-trim-double-slash-in-buildroot.patch |
124 |
|
125 |
# [Dec 2008] macrofiles from rpmrc does not overrides MACROFILES anymore |
126 |
# Upstream 4.11 will have /usr/lib/rpm/macros.d: |
127 |
Patch114: rpm-4.9.0-read-macros_d-dot-macros.patch |
128 |
|
129 |
# [pixel] without this patch, "rpm -e" or "rpm -U" will need to stat(2) every dirnames of |
130 |
# files from the package (eg COPYING) in the db. This is quite costly when not in cache |
131 |
# (eg on a test here: >300 stats, and so 3 seconds after a "echo 3 > /proc/sys/vm/drop_caches") |
132 |
# this breaks urpmi test case test_rpm_i_fail('gd') in superuser--file-conflicts.t, |
133 |
# but this is bad design anyway |
134 |
#Patch124: rpm-4.6.0-rc1-speedup-by-not-checking-same-files-with-different-paths-through-symlink.patch |
135 |
|
136 |
# (from Turbolinux) remove a wrong check in case %_topdir is /RPM (ie when it is short) |
137 |
# Panu said: "To my knowledge this is a true technical limitation of the |
138 |
# implementation: as long as debugedit can just overwrite data in the elf |
139 |
# sections things keep relatively easy, but if dest_dir is longer than the |
140 |
# original directory, debugedit would have to expand the whole elf file. Which |
141 |
# might be technically possible but debugedit currently does not even try to." |
142 |
Patch135: rpm-4.12.0-fix-debugedit.patch |
143 |
|
144 |
# without this patch, "#%define foo bar" is surprisingly equivalent to "%define foo bar" |
145 |
# with this patch, "#%define foo bar" is a fatal error |
146 |
# Bug still valid => Send upstream for review. |
147 |
Patch145: rpm-forbid-badly-commented-define-in-spec.patch |
148 |
|
149 |
# cf http://wiki.mandriva.com/en/Rpm_filetriggers |
150 |
Patch146: rpm-4.12.0-filetriggers.patch |
151 |
Patch147: rpm-4.11.1-filetriggers-priority.patch |
152 |
Patch148: rpm-4.11.1-filetriggers-warnings.patch |
153 |
|
154 |
# (nb: see the patch for more info about this issue) |
155 |
#Patch151: rpm-4.6.0-rc1-protect-against-non-robust-futex.patch |
156 |
|
157 |
Patch157: rpm-4.10.1-introduce-_after_setup-which-is-called-after-setup.patch |
158 |
#Patch158: introduce-_patch-and-allow-easy-override-when-the-p.patch |
159 |
Patch159: introduce-apply_patches-and-lua-var-patches_num.patch |
160 |
|
161 |
# |
162 |
# Merge mageia's perl.prov improvements back into upstream: |
163 |
# |
164 |
# ignore .pm files for perl provides |
165 |
Patch160: ignore-non-perl-modules.diff |
166 |
# making sure automatic provides & requires for perl package are using the new |
167 |
# macro %perl_convert_version: |
168 |
Patch162: use_perl_convert_version.diff |
169 |
# skip plain, regular comments: |
170 |
Patch163: skip-plain-regular-comments.diff |
171 |
# support for _ in perl module version: |
172 |
Patch164: support-for-_-in-perl-module-version.diff |
173 |
|
174 |
# |
175 |
# Merge mageia's find-requires.sh improvements back into upstream: |
176 |
# |
177 |
# (tv) output perl-base requires instead of /usr/bin/perl with internal generator: |
178 |
Patch170: script-perl-base.diff |
179 |
# (tv) do not emit requires for /bin/sh (required by glibc) or interpreters for which |
180 |
# we have custom |
181 |
Patch172: script-filtering.diff |
182 |
# (tv) "resolve" /bin/env foo interpreter to actual path, rather than generating |
183 |
# dependencies on coreutils, should trim off ~800 dependencies more |
184 |
Patch173: script-env.diff |
185 |
# (tv) output pkgconfig requires instead of /usr/bin/pkgconfig.diff with internal generator: |
186 |
Patch174: pkgconfig.diff |
187 |
# (tv) no not emit "rtld(GNU_HASH)" requires as we've support for it since mga1: |
188 |
# (saves ~5K packages' dependency in synthesis) |
189 |
Patch175: no-rtld_GNU_HASH_req.diff |
190 |
|
191 |
Patch1007: rpm-4.12.0-xz-support.patch |
192 |
|
193 |
# Prevents $DOCDIR from being wiped out when using %%doc <fileinbuilddir>, |
194 |
# as this breaks stuff that installs files to $DOCDIR during %%install |
195 |
#Patch1008: rpm-4.6.0-rc3-no_rm_-rf_DOCDIR.patch |
196 |
|
197 |
# Turbolinux patches |
198 |
# Crusoe CPUs say that their CPU family is "5" but they have enough features for i686. |
199 |
Patch2003: rpm-4.4.2.3-rc1-transmeta-crusoe-is-686.patch |
200 |
|
201 |
Patch2006: rpm-4.10.0-setup-rubygems.patch |
202 |
|
203 |
# (tv) fix tests: |
204 |
Patch2100: rpm-4.11.1-fix-testsuite.diff |
205 |
|
206 |
Patch3000: mips_macros.patch |
207 |
Patch3002: mips_define_isa_macros.patch |
208 |
Patch3003: rpm_arm_mips_isa_macros.patch |
209 |
Patch3004: rpm_add_armv5tl.patch |
210 |
|
211 |
# when using fakechroot, make sure that testsuite pathes are against / |
212 |
# and not full path |
213 |
Patch3005: rpm-4.12.0-fix-testsuite-pathes.patch |
214 |
|
215 |
# |
216 |
# Fedora patches |
217 |
# Patches 41xx are already in upstream and are 1xx in FC |
218 |
# |
219 |
# (tv) Temporary Patch to provide support for updates (FC): |
220 |
Patch3500: rpm-4.10.90-rpmlib-filesystem-check.patch |
221 |
# (tv) Compressed debuginfo support (UPSTREAM): |
222 |
Patch3501: rpm-4.10.0-dwz-debuginfo.patch |
223 |
# (tv) Mini debuginfo support (UPSTREAM): |
224 |
Patch3502: rpm-4.10.0-minidebuginfo.patch |
225 |
|
226 |
# Mageia patches that are easier to rediff on top of FC patches: |
227 |
#--------------------------------------------------------------- |
228 |
# (tv) merge mga stuff from rpm-setup: |
229 |
Patch4000: rpm-4.10.0-find-debuginfo__mga-cfg.diff |
230 |
# (cg) fix debuginfo extraction. Sometimes, depending on local setup, the |
231 |
# extraction of debuginfo can fail. This happens if you have a shared build dir |
232 |
# which contains lots of subfolders for different packages (i.e. the default |
233 |
# you would get if you rpm -i lots of srpms and build a whole bunch of them) |
234 |
# This fix simply uses the real build dir passed in as an argument to the script |
235 |
# rather than the top level %_builddir definition (aka $RPM_BUILD_DIR). |
236 |
# (cg) This messes up the debuginfo packages themselves due to bad paths. |
237 |
# I suspect the real problem lies in the debugedit binary which I will debug further. |
238 |
# Leaving this here so I don't forget (aka it annoys tv enough to bug me if it's |
239 |
# still here after any reasonable length of time!) |
240 |
#Patch4007: rpm-4.11.1-fix-debuginfo-extraction.patch |
241 |
# (lm) Don't uselessly bytecompile .py in docdir |
242 |
Patch4008: rpm-4.11.1-dont-bytecompile-python-in-docdir.patch |
243 |
|
244 |
Patch4009: rpm-4.11.2-double-separator-warning.patch |
245 |
# (tv) make old suggests be equivalent to recommends: |
246 |
Patch4010: rpm-4.12.0-oldsuggest_equals_recommends.patch |
247 |
Patch4012: rpm-mga-suggests.diff |
248 |
|
249 |
# Upstream: fix regression: |
250 |
Patch4011: rpm-4.12.0-fix-missing-rpmlib-requires.patch |
251 |
Patch4013: fix-self-provides.diff |
252 |
|
253 |
|
254 |
License: GPLv2+ |
255 |
BuildRequires: autoconf |
256 |
BuildRequires: zlib-devel |
257 |
BuildRequires: bzip2-devel |
258 |
BuildRequires: liblzma-devel >= 5 |
259 |
BuildRequires: automake |
260 |
BuildRequires: elfutils-devel |
261 |
BuildRequires: libbeecrypt-devel |
262 |
BuildRequires: ed |
263 |
BuildRequires: gettext-devel |
264 |
BuildRequires: libsqlite3-devel |
265 |
BuildRequires: db5.3-devel |
266 |
BuildRequires: neon-devel |
267 |
BuildRequires: popt-devel |
268 |
BuildRequires: nss-devel |
269 |
BuildRequires: magic-devel |
270 |
BuildRequires: rpm-%{_real_vendor}-setup-build %{?rpmsetup_version:>= %{rpmsetup_version}} |
271 |
BuildRequires: readline-devel |
272 |
BuildRequires: ncurses-devel |
273 |
BuildRequires: openssl-devel |
274 |
BuildRequires: lua5.2-devel >= 5.2.3-3.mga5 |
275 |
BuildRequires: libcap-devel |
276 |
BuildRequires: pkgconfig(libarchive) |
277 |
# Needed for doc |
278 |
#BuildRequires: graphviz |
279 |
BuildRequires: tetex |
280 |
%if %buildpython |
281 |
BuildRequires: python-devel |
282 |
%endif |
283 |
# for testsuite: |
284 |
BuildRequires: eatmydata |
285 |
BuildRequires: fakechroot |
286 |
|
287 |
Requires: bzip2 >= 0.9.0c-2 |
288 |
Requires: xz |
289 |
Requires: cpio |
290 |
Requires: gawk |
291 |
Requires: mktemp |
292 |
Requires: setup >= 2.2.0-8 |
293 |
Requires: rpm-%{_real_vendor}-setup >= 1.85 |
294 |
Requires: update-alternatives |
295 |
Requires: %librpmname = %epoch:%version-%release |
296 |
URL: http://rpm.org/ |
297 |
%define git_url http://rpm.org/git/rpm.git |
298 |
Requires(pre): rpm-helper |
299 |
Requires(pre): coreutils |
300 |
Requires(postun): rpm-helper |
301 |
|
302 |
Conflicts: perl-URPM < 4.0-2.mga3 |
303 |
Conflicts: jpackage-utils < 1:1.7.5-17 |
304 |
|
305 |
%description |
306 |
RPM is a powerful command line driven package management system capable of |
307 |
installing, uninstalling, verifying, querying, and updating software packages. |
308 |
Each software package consists of an archive of files along with information |
309 |
about the package like its version, a description, etc. |
310 |
|
311 |
%package -n %librpmbuild |
312 |
Summary: Libraries for building and signing RPM packages |
313 |
Group: System/Libraries |
314 |
Obsoletes: rpm-build-libs%{_isa} < %{version}-%{release} |
315 |
Provides: rpm-build-libs%{_isa} = %{version}-%{release} |
316 |
|
317 |
%description -n %librpmbuild |
318 |
This package contains the RPM shared libraries for building and signing |
319 |
packages. |
320 |
|
321 |
%package -n %librpmsign |
322 |
Summary: Libraries for building and signing RPM packages |
323 |
Group: System/Libraries |
324 |
|
325 |
%description -n %librpmsign |
326 |
This package contains the RPM shared libraries for building and signing |
327 |
packages. |
328 |
|
329 |
%package -n %librpmname |
330 |
Summary: Library used by rpm |
331 |
Group: System/Libraries |
332 |
Provides: librpm = %version-%release |
333 |
# for fixed lua: |
334 |
Requires: %{mklibname lua 5.2} >= 5.2.3-3.mga5 |
335 |
|
336 |
%description -n %librpmname |
337 |
RPM is a powerful command line driven package management system capable of |
338 |
installing, uninstalling, verifying, querying, and updating software packages. |
339 |
This package contains common files to all applications based on rpm. |
340 |
|
341 |
%package -n %librpmnamedevel |
342 |
Summary: Development files for applications which will manipulate RPM packages |
343 |
Group: Development/C |
344 |
Requires: rpm = %epoch:%{version}-%{release} |
345 |
Provides: librpm-devel = %version-%release |
346 |
Provides: rpm-devel = %version-%release |
347 |
Requires: %librpmname = %epoch:%version-%release |
348 |
Requires: %librpmbuild = %epoch:%version-%release |
349 |
Requires: %librpmsign = %epoch:%version-%release |
350 |
|
351 |
%description -n %librpmnamedevel |
352 |
This package contains the RPM C library and header files. These |
353 |
development files will simplify the process of writing programs |
354 |
which manipulate RPM packages and databases and are intended to make |
355 |
it easier to create graphical package managers or any other tools |
356 |
that need an intimate knowledge of RPM packages in order to function. |
357 |
|
358 |
This package should be installed if you want to develop programs that |
359 |
will manipulate RPM packages and databases. |
360 |
|
361 |
%package build |
362 |
Summary: Scripts and executable programs used to build packages |
363 |
Group: System/Packaging |
364 |
Requires: autoconf |
365 |
Requires: automake |
366 |
Requires: file |
367 |
Requires: gcc-c++ |
368 |
# We need cputoolize & amd64-* alias to x86_64-* in config.sub |
369 |
Requires: libtool-base |
370 |
Requires: patch |
371 |
Requires: make |
372 |
Requires: tar |
373 |
Requires: unzip |
374 |
Requires: elfutils |
375 |
Requires: perl(CPAN::Meta) >= 2.112.150 |
376 |
Requires: perl(ExtUtils::MakeMaker) >= 6.570_700 |
377 |
Requires: perl(YAML::Tiny) |
378 |
Requires: rpm = %epoch:%{version}-%{release} |
379 |
Requires: rpm-%{_real_vendor}-setup-build %{?rpmsetup_version:>= %{rpmsetup_version}} |
380 |
Requires: %librpmbuild = %version |
381 |
|
382 |
%description build |
383 |
This package contains scripts and executable programs that are used to |
384 |
build packages using RPM. |
385 |
|
386 |
%package sign |
387 |
Summary: Package signing support |
388 |
Group: System/Base |
389 |
|
390 |
%description sign |
391 |
This package contains support for digitally signing RPM packages. |
392 |
|
393 |
%if %buildpython |
394 |
%package -n python-rpm |
395 |
Summary: Python bindings for apps which will manipulate RPM packages |
396 |
Group: Development/Python |
397 |
Requires: rpm = %epoch:%{version}-%{release} |
398 |
|
399 |
%description -n python-rpm |
400 |
The rpm-python package contains a module which permits applications |
401 |
written in the Python programming language to use the interface |
402 |
supplied by RPM (RPM Package Manager) libraries. |
403 |
|
404 |
This package should be installed if you want to develop Python |
405 |
programs that will manipulate RPM packages and databases. |
406 |
%endif |
407 |
|
408 |
%prep |
409 |
%setup -q -n %name-%srcver |
410 |
%apply_patches |
411 |
|
412 |
%build |
413 |
aclocal |
414 |
automake-1.14 --add-missing |
415 |
automake |
416 |
autoreconf |
417 |
|
418 |
%if %builddebug |
419 |
RPM_OPT_FLAGS=-g |
420 |
%endif |
421 |
export CPPFLAGS="$CPPFLAGS `pkg-config --cflags nss`" |
422 |
CFLAGS="$RPM_OPT_FLAGS -fPIC" CXXFLAGS="$RPM_OPT_FLAGS -fPIC" \ |
423 |
%configure2_5x \ |
424 |
--enable-nls \ |
425 |
--enable-python \ |
426 |
--enable-sqlite3 \ |
427 |
--without-javaglue \ |
428 |
%if %builddebug |
429 |
--enable-debug \ |
430 |
%endif |
431 |
--with-external-db \ |
432 |
%if %buildpython |
433 |
--with-python=%{pyver} \ |
434 |
%else |
435 |
--without-python \ |
436 |
%endif |
437 |
%if ! %buildplugins |
438 |
--disable-plugins \ |
439 |
%endif |
440 |
--with-glob \ |
441 |
--without-selinux \ |
442 |
--without-apidocs \ |
443 |
--with-cap |
444 |
|
445 |
%make |
446 |
|
447 |
%install |
448 |
%makeinstall_std |
449 |
|
450 |
find $RPM_BUILD_ROOT -name "*.la"|xargs rm -f |
451 |
|
452 |
# Save list of packages through cron |
453 |
mkdir -p ${RPM_BUILD_ROOT}/etc/cron.daily |
454 |
install -m 755 scripts/rpm.daily ${RPM_BUILD_ROOT}/etc/cron.daily/rpm |
455 |
|
456 |
mkdir -p ${RPM_BUILD_ROOT}/etc/logrotate.d |
457 |
install -m 644 scripts/rpm.log ${RPM_BUILD_ROOT}/etc/logrotate.d/rpm |
458 |
|
459 |
mkdir -p $RPM_BUILD_ROOT/var/lib/rpm |
460 |
for dbi in \ |
461 |
Basenames Conflictname Dirnames Group Installtid Name Providename \ |
462 |
Provideversion Removetid Requirename Requireversion Triggername \ |
463 |
Obsoletename Packages Sha1header Sigmd5 __db.001 __db.002 \ |
464 |
__db.003 __db.004 __db.005 __db.006 __db.007 __db.008 __db.009 |
465 |
do |
466 |
touch $RPM_BUILD_ROOT/var/lib/rpm/$dbi |
467 |
done |
468 |
|
469 |
test -d doc-copy || mkdir doc-copy |
470 |
rm -rf doc-copy/* |
471 |
ln -f doc/manual/* doc-copy/ |
472 |
rm -f doc-copy/Makefile* |
473 |
|
474 |
mkdir -p $RPM_BUILD_ROOT/var/spool/repackage |
475 |
|
476 |
mkdir -p %buildroot%_sysconfdir/rpm/macros.d |
477 |
cat > %buildroot%_sysconfdir/rpm/macros <<EOF |
478 |
# Put your own system macros here |
479 |
# usually contains |
480 |
|
481 |
# Set this one according your locales |
482 |
# %%_install_langs |
483 |
|
484 |
EOF |
485 |
|
486 |
%{rpmdir}/%{_host_vendor}/find-lang.pl $RPM_BUILD_ROOT %{name} |
487 |
|
488 |
%check |
489 |
eatmydata make check |
490 |
[ "$(ls -A tests/rpmtests.dir)" ] && cat tests/rpmtests.log |
491 |
|
492 |
%pre |
493 |
/usr/share/rpm-helper/add-user rpm $1 rpm /var/lib/rpm /bin/false |
494 |
|
495 |
rm -rf /usr/lib/rpm/*-mandrake-* |
496 |
rm -rf /usr/lib/rpm/*-%{_real_vendor}-* |
497 |
|
498 |
|
499 |
%post |
500 |
# nuke __db.00? when updating to this rpm |
501 |
rm -f /var/lib/rpm/__db.00? |
502 |
|
503 |
if [ ! -f /var/lib/rpm/Packages ]; then |
504 |
/bin/rpm --initdb |
505 |
fi |
506 |
|
507 |
%postun |
508 |
/usr/share/rpm-helper/del-user rpm $1 rpm |
509 |
|
510 |
%define rpmattr %attr(0755, rpm, rpm) |
511 |
|
512 |
%files -f %{name}.lang |
513 |
%doc GROUPS CHANGES doc/manual/[a-z]* |
514 |
%attr(0755,rpm,rpm) /bin/rpm |
515 |
%attr(0755, rpm, rpm) %{_bindir}/rpm2cpio |
516 |
%attr(0755, rpm, rpm) %{_bindir}/rpm2archive |
517 |
%attr(0755, rpm, rpm) %{_bindir}/gendiff |
518 |
%attr(0755, rpm, rpm) %{_bindir}/rpmdb |
519 |
%attr(0755, rpm, rpm) %{_bindir}/rpmkeys |
520 |
%attr(0755, rpm, rpm) %{_bindir}/rpmgraph |
521 |
%{_bindir}/rpmquery |
522 |
%{_bindir}/rpmverify |
523 |
|
524 |
%dir %{_localstatedir}/spool/repackage |
525 |
%dir %{rpmdir} |
526 |
%dir /etc/rpm |
527 |
%config(noreplace) /etc/rpm/macros |
528 |
%dir /etc/rpm/macros.d |
529 |
%attr(0755, rpm, rpm) %{rpmdir}/config.guess |
530 |
%attr(0755, rpm, rpm) %{rpmdir}/config.sub |
531 |
%attr(0755, rpm, rpm) %{rpmdir}/rpmdb_* |
532 |
%attr(0644, rpm, rpm) %{rpmdir}/macros |
533 |
%attr(0755, rpm, rpm) %{rpmdir}/mkinstalldirs |
534 |
%attr(0755, rpm, rpm) %{rpmdir}/rpm.* |
535 |
%attr(0644, rpm, rpm) %{rpmdir}/rpmpopt* |
536 |
%attr(0644, rpm, rpm) %{rpmdir}/rpmrc |
537 |
%attr(0755, rpm, rpm) %{rpmdir}/elfdeps |
538 |
%attr(0755, rpm, rpm) %{rpmdir}/script.req |
539 |
%exclude %{rpmdir}/tcl.req |
540 |
|
541 |
%rpmattr %{rpmdir}/rpm2cpio.sh |
542 |
%rpmattr %{rpmdir}/tgpg |
543 |
|
544 |
%dir %attr( -, rpm, rpm) %{rpmdir}/fileattrs |
545 |
%attr(0644, rpm, rpm) %{rpmdir}/fileattrs/*.attr |
546 |
|
547 |
%dir %attr( -, rpm, rpm) %{rpmdir}/platform/ |
548 |
%exclude %{rpmdir}/platform/m68k-linux/macros |
549 |
%ifarch %{ix86} x86_64 |
550 |
%attr( -, rpm, rpm) %{rpmdir}/platform/i*86-* |
551 |
%attr( -, rpm, rpm) %{rpmdir}/platform/athlon-* |
552 |
%attr( -, rpm, rpm) %{rpmdir}/platform/pentium*-* |
553 |
%attr( -, rpm, rpm) %{rpmdir}/platform/geode-* |
554 |
%else |
555 |
%exclude %{rpmdir}/platform/i*86-%{_os}/macros |
556 |
%exclude %{rpmdir}/platform/athlon-%{_os}/macros |
557 |
%exclude %{rpmdir}/platform/pentium*-%{_os}/macros |
558 |
%exclude %{rpmdir}/platform/geode-%{_os}/macros |
559 |
%endif |
560 |
%ifarch x86_64 |
561 |
%attr( -, rpm, rpm) %{rpmdir}/platform/amd64-* |
562 |
%attr( -, rpm, rpm) %{rpmdir}/platform/x86_64-* |
563 |
%attr( -, rpm, rpm) %{rpmdir}/platform/ia32e-* |
564 |
%else |
565 |
%exclude %{rpmdir}/platform/amd64-%{_os}/macros |
566 |
%exclude %{rpmdir}/platform/ia32e-%{_os}/macros |
567 |
%exclude %{rpmdir}/platform/x86_64-%{_os}/macros |
568 |
%endif |
569 |
%ifarch %arm |
570 |
%attr( -, rpm, rpm) %{rpmdir}/platform/arm* |
571 |
%attr( -, rpm, rpm) %{rpmdir}/platform/aarch64*/macros |
572 |
%else |
573 |
%exclude %{rpmdir}/platform/arm*/macros |
574 |
%exclude %{rpmdir}/platform/aarch64*/macros |
575 |
%endif |
576 |
%ifarch %mips |
577 |
%attr( -, rpm, rpm) %{rpmdir}/platform/mips* |
578 |
%endif |
579 |
%attr( -, rpm, rpm) %{rpmdir}/platform/noarch* |
580 |
# new in 4.10.0: |
581 |
%exclude %{rpmdir}/platform/alpha*-%{_os}/macros |
582 |
%exclude %{rpmdir}/platform/sparc*-%{_os}/macros |
583 |
%exclude %{rpmdir}/platform/ia64*-%{_os}/macros |
584 |
%exclude %{rpmdir}/platform/m68k*-%{_os}/macros |
585 |
%exclude %{rpmdir}/platform/ppc*-%{_os}/macros |
586 |
%exclude %{rpmdir}/platform/s390*-%{_os}/macros |
587 |
%exclude %{rpmdir}/platform/sh*-%{_os}/macros |
588 |
|
589 |
|
590 |
|
591 |
%{_mandir}/man[18]/*.[18]* |
592 |
%lang(pl) %{_mandir}/pl/man[18]/*.[18]* |
593 |
%lang(ru) %{_mandir}/ru/man[18]/*.[18]* |
594 |
%lang(ja) %{_mandir}/ja/man[18]/*.[18]* |
595 |
%lang(sk) %{_mandir}/sk/man[18]/*.[18]* |
596 |
%lang(fr) %{_mandir}/fr/man[18]/*.[18]* |
597 |
%lang(ko) %{_mandir}/ko/man[18]/*.[18]* |
598 |
|
599 |
%config(noreplace,missingok) /etc/cron.daily/rpm |
600 |
%config(noreplace,missingok) /etc/logrotate.d/rpm |
601 |
|
602 |
%attr(0755, rpm, rpm) %dir %_localstatedir/lib/rpm |
603 |
|
604 |
%define rpmdbattr %attr(0644, rpm, rpm) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) |
605 |
|
606 |
%rpmdbattr /var/lib/rpm/Basenames |
607 |
%rpmdbattr /var/lib/rpm/Conflictname |
608 |
%rpmdbattr /var/lib/rpm/__db.0* |
609 |
%rpmdbattr /var/lib/rpm/Dirnames |
610 |
%rpmdbattr /var/lib/rpm/Group |
611 |
%rpmdbattr /var/lib/rpm/Installtid |
612 |
%rpmdbattr /var/lib/rpm/Name |
613 |
%rpmdbattr /var/lib/rpm/Obsoletename |
614 |
%rpmdbattr /var/lib/rpm/Packages |
615 |
%rpmdbattr /var/lib/rpm/Providename |
616 |
%rpmdbattr /var/lib/rpm/Provideversion |
617 |
%rpmdbattr /var/lib/rpm/Removetid |
618 |
%rpmdbattr /var/lib/rpm/Requirename |
619 |
%rpmdbattr /var/lib/rpm/Requireversion |
620 |
%rpmdbattr /var/lib/rpm/Sha1header |
621 |
%rpmdbattr /var/lib/rpm/Sigmd5 |
622 |
%rpmdbattr /var/lib/rpm/Triggername |
623 |
|
624 |
%files build |
625 |
%doc CHANGES |
626 |
%doc doc-copy/* |
627 |
%rpmattr %{_bindir}/rpmbuild |
628 |
%rpmattr %{_bindir}/rpmspec |
629 |
%rpmattr %{_prefix}/lib/rpm/appdata.prov |
630 |
%rpmattr %{_prefix}/lib/rpm/brp-* |
631 |
%rpmattr %{_prefix}/lib/rpm/check-files |
632 |
%rpmattr %{_prefix}/lib/rpm/debugedit |
633 |
%rpmattr %{_prefix}/lib/rpm/*.prov |
634 |
%rpmattr %{_prefix}/lib/rpm/find-debuginfo.sh |
635 |
%rpmattr %{_prefix}/lib/rpm/find-lang.sh |
636 |
%rpmattr %{_prefix}/lib/rpm/find-provides |
637 |
%rpmattr %{_prefix}/lib/rpm/find-requires |
638 |
%rpmattr %{_prefix}/lib/rpm/perldeps.pl |
639 |
%rpmattr %{_prefix}/lib/rpm/perl.req |
640 |
|
641 |
%rpmattr %{_prefix}/lib/rpm/check-buildroot |
642 |
%rpmattr %{_prefix}/lib/rpm/check-prereqs |
643 |
%rpmattr %{_prefix}/lib/rpm/check-rpaths |
644 |
%rpmattr %{_prefix}/lib/rpm/check-rpaths-worker |
645 |
%rpmattr %{_prefix}/lib/rpm/libtooldeps.sh |
646 |
%rpmattr %{_prefix}/lib/rpm/macros.perl |
647 |
%rpmattr %{_prefix}/lib/rpm/macros.php |
648 |
%rpmattr %{_prefix}/lib/rpm/macros.python |
649 |
%rpmattr %{_prefix}/lib/rpm/mono-find-provides |
650 |
%rpmattr %{_prefix}/lib/rpm/mono-find-requires |
651 |
%rpmattr %{_prefix}/lib/rpm/ocaml-find-provides.sh |
652 |
%rpmattr %{_prefix}/lib/rpm/ocaml-find-requires.sh |
653 |
%rpmattr %{_prefix}/lib/rpm/osgideps.pl |
654 |
%rpmattr %{_prefix}/lib/rpm/pkgconfigdeps.sh |
655 |
|
656 |
%rpmattr %{_prefix}/lib/rpm/rpmdeps |
657 |
%rpmattr %{_prefix}/lib/rpm/pythondeps.sh |
658 |
|
659 |
|
660 |
%{_mandir}/man8/rpmbuild.8* |
661 |
%{_mandir}/man8/rpmdeps.8* |
662 |
|
663 |
%if %buildpython |
664 |
%files -n python-rpm |
665 |
%{_libdir}/python*/site-packages/rpm |
666 |
%endif |
667 |
|
668 |
%files -n %librpmname |
669 |
%{_libdir}/librpm.so.%{libmajor}* |
670 |
%{_libdir}/librpmio.so.%{libmajor}* |
671 |
%if %buildplugins |
672 |
%{_libdir}/rpm-plugins |
673 |
%endif |
674 |
|
675 |
%files -n %librpmbuild |
676 |
%{_libdir}/librpmbuild.so.%{libmajor}* |
677 |
|
678 |
%files -n %librpmsign |
679 |
%{_libdir}/librpmsign.so.%{libmajor}* |
680 |
|
681 |
%files sign |
682 |
%{_bindir}/rpmsign |
683 |
%{_mandir}/man8/rpmsign.8* |
684 |
|
685 |
%files -n %librpmnamedevel |
686 |
%{_includedir}/rpm |
687 |
%{_libdir}/librpm.so |
688 |
%{_libdir}/librpmio.so |
689 |
%{_libdir}/librpmbuild.so |
690 |
%{_libdir}/librpmsign.so |
691 |
%{_libdir}/pkgconfig/rpm.pc |
692 |
|