1 |
# WARNING: This package is synced with FC |
2 |
|
3 |
%define lib64arches x86_64 |
4 |
|
5 |
%ifarch %lib64arches |
6 |
%define _lib lib64 |
7 |
%else |
8 |
%define _lib lib |
9 |
%endif |
10 |
|
11 |
%define _prefix /usr |
12 |
%define _libdir %_prefix/%_lib |
13 |
%define _bindir %_prefix/bin |
14 |
%define _sysconfdir /etc |
15 |
%define _datadir /usr/share |
16 |
%define _defaultdocdir %_datadir/doc |
17 |
%define _localstatedir /var |
18 |
%define _infodir %_datadir/info |
19 |
|
20 |
%if %{?mklibname:0}%{?!mklibname:1} |
21 |
%define mklibname(ds) %{_lib}%{1}%{?2:%{2}}%{?3:_%{3}}%{-s:-static}%{-d:-devel} |
22 |
%endif |
23 |
|
24 |
%if %{?distsuffix:0}%{?!distsuffix:1} |
25 |
%define distsuffix .mga |
26 |
%endif |
27 |
|
28 |
%if %{?_real_vendor:0}%{?!_real_vendor:1} |
29 |
%define _real_vendor mageia |
30 |
%endif |
31 |
|
32 |
%if %{?mkrel:0}%{?!mkrel:1} |
33 |
%define mkrel(c:) %{-c: 0.%{-c*}.}%{1}%{?distsuffix:%distsuffix}%{?!distsuffix:.mga}%{?mageia_release:%mageia_release}%{?subrel:.%subrel} |
34 |
%endif |
35 |
|
36 |
%if %{?pyver:0}%{?!pyver:1} |
37 |
%define pyver %(python -V 2>&1 | cut -f2 -d" " | cut -f1,2 -d".") |
38 |
%endif |
39 |
|
40 |
%define __find_requires %{rpmhome}/%{_real_vendor}/find-requires %{?buildroot:%{buildroot}} %{?_target_cpu:%{_target_cpu}} |
41 |
%define __find_provides %{rpmhome}/%{_real_vendor}/find-provides |
42 |
|
43 |
# run internal testsuite? |
44 |
%bcond_without check |
45 |
# build with new db format |
46 |
%bcond_with ndb |
47 |
%bcond_with debug |
48 |
|
49 |
# Define directory which holds rpm config files, and some binaries actually |
50 |
# NOTE: it remains */lib even on lib64 platforms as only one version |
51 |
# of rpm is supported anyway, per architecture |
52 |
%define rpmhome /usr/lib/rpm |
53 |
|
54 |
%global rpmver 4.13.0.1 |
55 |
#global snapver rc2 |
56 |
%global srcver %{version}%{?snapver:-%{snapver}} |
57 |
%global srcdir %{?snapver:testing}%{!?snapver:%{name}-%(v=%{version}; echo ${v%.*}.x)} |
58 |
%global libmajor 7 |
59 |
%global librpmname %mklibname rpm %{libmajor} |
60 |
%global librpmnamedevel %mklibname -d rpm |
61 |
%global librpmsign %mklibname rpmsign %{libmajor} |
62 |
%global librpmbuild %mklibname rpmbuild %{libmajor} |
63 |
|
64 |
%global rpmsetup_version 1.34 |
65 |
|
66 |
Summary: The RPM package management system |
67 |
Name: rpm |
68 |
Epoch: 1 |
69 |
Version: %{rpmver} |
70 |
Release: %mkrel %{?snapver:0.%{snapver}.}3.1 |
71 |
Group: System/Packaging |
72 |
#Source: http://www.rpm.org/releases/rpm-%{libver}.x/rpm-%{srcver}.tar.bz2 |
73 |
Source0: http://rpm.org/releases/%{srcdir}/%{name}-%{srcver}.tar.bz2 |
74 |
# extracted from http://pkgs.fedoraproject.org/cgit/redhat-rpm-config.git/plain/macros: |
75 |
Source1: macros.filter |
76 |
|
77 |
# |
78 |
# Fedora patches |
79 |
# |
80 |
|
81 |
# gnupg2 comes installed by default, avoid need to drag in gnupg too |
82 |
Patch4: rpm-4.8.1-use-gpg2.patch |
83 |
|
84 |
# Patches already upstream: |
85 |
Patch100: rpm-4.13.0-python-rpmsign.patch |
86 |
Patch101: rpm-4.13.0-unknown-sigtags.patch |
87 |
Patch102: rpm-4.13.0-testsuite-nss.patch |
88 |
|
89 |
Patch133: rpm-4.13.x-pythondistdeps.patch |
90 |
Patch134: rpm-4.13.x-pythondistdeps-Makefile.patch |
91 |
#Patch135: rpm-4.13.x-pythondistdeps-fileattr.patch |
92 |
Patch136: rpm-4.13.x-pythondistdeps.py-skip-distribution-metadata-if-ther.patch |
93 |
Patch137: rpm-4.13.x-pythondistdeps.py-show-warning-if-version-is-not-fou.patch |
94 |
Patch138: rpm-4.13.x-pythondistdeps.py-skip-.egg-link-files.patch |
95 |
Patch139: rpm-4.13.x-pythondistdeps.py-add-forgotten-import.patch |
96 |
Patch140: rpm-4.13.x-brp-python-bytecompile-Python3-only.patch |
97 |
# Upstream PR: https://github.com/rpm-software-management/rpm/pull/154 |
98 |
# rhbz#1421776 |
99 |
Patch141: rpm-4.13.x-pythondistdeps.py-fix-processing-wheels.patch |
100 |
Patch142: rpm-4.13.x-fix-refcount-for-spec_type.patch |
101 |
|
102 |
|
103 |
# World writable empty (tmp) dirs in debuginfo packages (#641022) |
104 |
Patch280: rpm-4.13.x-writable-tmp-dir.patch |
105 |
|
106 |
# These are not yet upstream |
107 |
Patch302: rpm-4.7.1-geode-i686.patch |
108 |
# Probably to be upstreamed in slightly different form |
109 |
Patch304: rpm-4.9.1.1-ld-flags.patch |
110 |
|
111 |
# |
112 |
# End of FC patches |
113 |
# |
114 |
|
115 |
# |
116 |
# Upstream patches not carried by FC: |
117 |
# |
118 |
Patch501: 0001-rpm2cpio.sh-refactoring-to-reduce-extra-dependencies.patch |
119 |
# Automatically handle ruby gem extraction in %%setup: |
120 |
Patch502: 0001-Add-RubyGems-support.patch |
121 |
# fix testsuite: |
122 |
Patch503: 0001-Fix-error-handling-in-rpmio-Python-binding-test-case.patch |
123 |
Patch505: 0001-fix-testsuite-adjust-pkg-list.patch |
124 |
# file triggers fixes: |
125 |
Patch600: 0001-Require-whitespace-around-trigger-separators-RhBug-1.patch |
126 |
Patch601: 0002-Revise-trigger-separator-checking-a-bit-to-pave-way-.patch |
127 |
Patch602: 0003-Ensure-that-a-trigger-condition-actually-exists.patch |
128 |
Patch603: 0004-Ensure-that-file-trigger-conditions-are-paths.patch |
129 |
Patch604: 0005-Make-package-exists-does-not-exist-error-more-inform.patch |
130 |
|
131 |
# |
132 |
# Mageia patches |
133 |
# |
134 |
|
135 |
# In original rpm, -bb --short-circuit does not work and run all stage |
136 |
# From popular request, we allow to do this |
137 |
# http://qa.mandriva.com/show_bug.cgi?id=15896 |
138 |
Patch70: rpm-4.12.90-bb-shortcircuit.patch |
139 |
|
140 |
# don't conflict for doc files |
141 |
# (to be able to install lib*-devel together with lib64*-devel even if they have conflicting manpages) |
142 |
Patch83: rpm-4.12.0-no-doc-conflicts.patch |
143 |
|
144 |
# Fix http://qa.mandriva.com/show_bug.cgi?id=19392 |
145 |
# (is this working??) |
146 |
Patch84: rpm-4.4.2.2-rpmqv-ghost.patch |
147 |
|
148 |
# [Dec 2008] macrofiles from rpmrc does not overrides MACROFILES anymore |
149 |
# Upstream 4.11 will have /usr/lib/rpm/macros.d: |
150 |
Patch144: rpm-4.9.0-read-macros_d-dot-macros.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 |
# Bug still valid => Send upstream for review. |
155 |
Patch145: rpm-forbid-badly-commented-define-in-spec.patch |
156 |
|
157 |
# (nb: see the patch for more info about this issue) |
158 |
#Patch151: rpm-4.6.0-rc1-protect-against-non-robust-futex.patch |
159 |
|
160 |
# Introduce (deprecated) %%apply_patches: |
161 |
# (To be dropped once all pkgs are converted to %%auto_setup) |
162 |
Patch157: rpm-4.10.1-introduce-_after_setup-which-is-called-after-setup.patch |
163 |
Patch159: introduce-apply_patches-and-lua-var-patches_num.patch |
164 |
|
165 |
# (pterjan) For some reason filetriggers that match files from the current |
166 |
# transaction, do not match when searched again so do not run |
167 |
# This patch is ugly but should fix the problem until the root cause is |
168 |
# understood. See mga#18797 |
169 |
Patch160: rpm-4.13.0.1-always-run-matching-file-triggers.patch |
170 |
|
171 |
# |
172 |
# Merge mageia's perl.prov improvements back into upstream: |
173 |
# |
174 |
# making sure automatic provides & requires for perl package are using the new |
175 |
# macro %%perl_convert_version: |
176 |
Patch162: use_perl_convert_version.diff |
177 |
|
178 |
# |
179 |
# Merge mageia's find-requires.sh improvements back into upstream: |
180 |
# |
181 |
# (tv) output perl-base requires instead of /usr/bin/perl with internal generator: |
182 |
# (ngompa) This patch can be dropped once we switch fully over to dnf |
183 |
Patch170: script-perl-base.diff |
184 |
# (tv) do not emit requires for /bin/sh (required by glibc) or interpreters for which |
185 |
# we have custom |
186 |
Patch172: script-filtering.diff |
187 |
# (tv) "resolve" /bin/env foo interpreter to actual path, rather than generating |
188 |
# dependencies on coreutils, should trim off ~800 dependencies more |
189 |
Patch173: script-env.diff |
190 |
# (tv) output pkgconfig requires instead of /usr/bin/pkgconfig with internal generator: |
191 |
# (ngompa) This patch can be dropped once we switch fully over to dnf |
192 |
Patch174: pkgconfig.diff |
193 |
# (tv) no not emit "rtld(GNU_HASH)" requires as we've support for it since mga1: |
194 |
# (saves ~5K packages' dependency in synthesis) |
195 |
Patch175: no-rtld_GNU_HASH_req.diff |
196 |
# (tv) replace file deps by requires on packages (when interp is installed): |
197 |
# (ngompa) This patch can be dropped once we switch fully over to dnf |
198 |
Patch176: script-no-file-deps.diff |
199 |
# (tv) replace file deps by requires on packages (common cases for !BRed interp): |
200 |
# (ngompa) This patch can be dropped once we switch fully over to dnf |
201 |
Patch177: script-no-file-deps2.diff |
202 |
# (pt) generate ELF provides for libraries, not only for executables |
203 |
Patch180: elf_libs_req.diff |
204 |
# [Suse]add --assumeexec option for previous patch: |
205 |
Patch181: assumeexec.diff |
206 |
# (Martin Whitaker) disable the systemd-inhibit plugin when systemd-logind is not running (mga#20016): |
207 |
Patch182: systemd-inhibit-requires-logind.patch |
208 |
|
209 |
# Various arch enabling: |
210 |
Patch3003: rpm_arm_mips_isa_macros.patch |
211 |
Patch3004: rpm_add_armv5tl.patch |
212 |
|
213 |
|
214 |
# Mageia patches that are easier to rediff on top of FC patches: |
215 |
#--------------------------------------------------------------- |
216 |
# (tv) merge mga stuff from rpm-setup: |
217 |
# (for spec-helper) |
218 |
Patch4000: rpm-4.10.0-find-debuginfo__mga-cfg.diff |
219 |
|
220 |
# 2 patches to drop in mga7: |
221 |
# (tv) make old suggests be equivalent to recommends (RECOMMENDNAME -> OLDSUGGEST): |
222 |
Patch4010: rpm-4.12.0-oldsuggest_equals_recommends.patch |
223 |
# (tv) uneeeded: maps RECOMMENDNEVR to OLDSUGGEST instead of OLDRECOMMEND |
224 |
Patch4012: rpm-mga-suggests.diff |
225 |
|
226 |
# (Debian): avoid useless) linking (&dependency) on all supported python versions: |
227 |
Patch6001: do-not-link-libpython.patch |
228 |
|
229 |
# Partially GPL/LGPL dual-licensed and some bits with BSD |
230 |
# SourceLicense: (GPLv2+ and LGPLv2+ with exceptions) and BSD |
231 |
License: GPLv2+ |
232 |
|
233 |
BuildRequires: autoconf |
234 |
BuildRequires: pkgconfig(zlib) |
235 |
BuildRequires: bzip2-devel |
236 |
BuildRequires: pkgconfig(liblzma) >= 5 |
237 |
BuildRequires: automake |
238 |
BuildRequires: doxygen |
239 |
BuildRequires: elfutils-devel |
240 |
BuildRequires: libbeecrypt-devel |
241 |
BuildRequires: binutils-devel |
242 |
BuildRequires: ed |
243 |
BuildRequires: gettext-devel |
244 |
BuildRequires: db5.3-devel |
245 |
BuildRequires: pkgconfig(dbus-1) |
246 |
BuildRequires: pkgconfig(neon) |
247 |
BuildRequires: pkgconfig(popt) |
248 |
BuildRequires: pkgconfig(nss) |
249 |
BuildRequires: magic-devel |
250 |
BuildRequires: rpm-%{_real_vendor}-setup-build %{?rpmsetup_version:>= %{rpmsetup_version}} |
251 |
BuildRequires: readline-devel |
252 |
BuildRequires: pkgconfig(ncurses) |
253 |
BuildRequires: pkgconfig(libssl) |
254 |
BuildRequires: pkgconfig(lua) >= 5.2.3-3.mga5 |
255 |
BuildRequires: pkgconfig(libcap) |
256 |
BuildRequires: libacl-devel |
257 |
BuildRequires: pkgconfig(libarchive) |
258 |
BuildRequires: pkgconfig(python) |
259 |
BuildRequires: pkgconfig(python-3.5) |
260 |
# for testsuite: |
261 |
BuildRequires: eatmydata |
262 |
%if %{with check} |
263 |
BuildRequires: fakechroot |
264 |
%endif |
265 |
|
266 |
Requires: bzip2 >= 0.9.0c-2 |
267 |
Requires: xz |
268 |
Requires: cpio |
269 |
Requires: gawk |
270 |
Requires: mktemp |
271 |
Requires: setup >= 2.2.0-8 |
272 |
Requires: rpm-%{_real_vendor}-setup >= 1.85 |
273 |
Requires: update-alternatives |
274 |
Requires: %librpmname = %epoch:%version-%release |
275 |
URL: http://rpm.org/ |
276 |
%define git_url http://rpm.org/git/rpm.git |
277 |
Requires(pre): rpm-helper |
278 |
Requires(pre): coreutils |
279 |
Requires(postun): rpm-helper |
280 |
|
281 |
# fix for plugins conflict: |
282 |
Conflicts: %{_lib}rpm3 < 1:4.12.0.1-20.3 |
283 |
|
284 |
%description |
285 |
The RPM Package Manager (RPM) is a powerful command line driven |
286 |
package management system capable of installing, uninstalling, |
287 |
verifying, querying, and updating software packages. Each software |
288 |
package consists of an archive of files along with information about |
289 |
the package like its version, a description, etc. |
290 |
|
291 |
%package -n %librpmname |
292 |
Summary: Libraries for manipulating RPM packages |
293 |
Group: System/Libraries |
294 |
License: GPLv2+ and LGPLv2+ with exceptions |
295 |
Provides: librpm = %version-%release |
296 |
Provides: rpm-libs = %version-%release |
297 |
|
298 |
%description -n %librpmname |
299 |
This package contains the RPM shared libraries. |
300 |
|
301 |
%package -n %librpmbuild |
302 |
Summary: Libraries for building and signing RPM packages |
303 |
Group: System/Libraries |
304 |
License: GPLv2+ and LGPLv2+ with exceptions |
305 |
Obsoletes: rpm-build-libs%{_isa} < %{version}-%{release} |
306 |
Provides: rpm-build-libs%{_isa} = %{version}-%{release} |
307 |
|
308 |
%description -n %librpmbuild |
309 |
This package contains the RPM shared libraries for building and signing |
310 |
packages. |
311 |
|
312 |
%package -n %librpmnamedevel |
313 |
Summary: Development files for applications which will manipulate RPM packages |
314 |
Group: Development/C |
315 |
License: GPLv2+ and LGPLv2+ with exceptions |
316 |
Requires: rpm = %epoch:%{version}-%{release} |
317 |
Provides: librpm-devel = %version-%release |
318 |
Provides: rpm-devel = %version-%release |
319 |
Requires: %librpmname = %epoch:%version-%release |
320 |
Requires: %librpmbuild = %epoch:%version-%release |
321 |
Requires: %librpmsign = %epoch:%version-%release |
322 |
|
323 |
%description -n %librpmnamedevel |
324 |
This package contains the RPM C library and header files. These |
325 |
development files will simplify the process of writing programs that |
326 |
manipulate RPM packages and databases. These files are intended to |
327 |
simplify the process of creating graphical package managers or any |
328 |
other tools that need an intimate knowledge of RPM packages in order |
329 |
to function. |
330 |
|
331 |
This package should be installed if you want to develop programs that |
332 |
will manipulate RPM packages and databases. |
333 |
|
334 |
%package -n %librpmsign |
335 |
Summary: Libraries for building and signing RPM packages |
336 |
Group: System/Libraries |
337 |
License: GPLv2+ and LGPLv2+ with exceptions |
338 |
|
339 |
%description -n %librpmsign |
340 |
This package contains the RPM shared libraries for building and signing |
341 |
packages. |
342 |
|
343 |
%package build |
344 |
Summary: Scripts and executable programs used to build packages |
345 |
Group: System/Packaging |
346 |
Requires: autoconf |
347 |
Requires: automake |
348 |
Requires: file |
349 |
Requires: gcc-c++ |
350 |
# We need cputoolize & amd64-* alias to x86_64-* in config.sub |
351 |
Requires: libtool-base |
352 |
Requires: patch |
353 |
Requires: make |
354 |
Requires: tar |
355 |
Requires: unzip |
356 |
# Versioned requirement for Patch 400 |
357 |
Requires: elfutils >= 0.167-2 |
358 |
Requires: perl(CPAN::Meta) >= 2.112.150 |
359 |
Requires: perl(ExtUtils::MakeMaker) >= 6.570_700 |
360 |
Requires: perl(YAML::Tiny) |
361 |
Requires: rpm = %epoch:%{version}-%{release} |
362 |
Requires: rpm-%{_real_vendor}-setup-build %{?rpmsetup_version:>= %{rpmsetup_version}} |
363 |
Requires: %librpmbuild = %epoch:%version |
364 |
|
365 |
%description build |
366 |
The rpm-build package contains the scripts and executable programs |
367 |
that are used to build packages using the RPM Package Manager. |
368 |
|
369 |
%package sign |
370 |
Summary: Package signing support |
371 |
Group: System/Base |
372 |
|
373 |
%description sign |
374 |
This package contains support for digitally signing RPM packages. |
375 |
|
376 |
%package -n python2-%{name} |
377 |
Summary: Python 2 bindings for apps which will manipulate RPM packages |
378 |
Group: Development/Python |
379 |
Requires: rpm = %epoch:%{version}-%{release} |
380 |
Provides: python-%{name} = %epoch:%{version}-%{release} |
381 |
Obsoletes: python-%{name} <= 1:4.13.0-3 |
382 |
|
383 |
%description -n python2-%{name} |
384 |
The python2-rpm package contains a module that permits applications |
385 |
written in the Python programming language to use the interface |
386 |
supplied by RPM Package Manager libraries. |
387 |
|
388 |
This package should be installed if you want to develop Python 2 |
389 |
programs that will manipulate RPM packages and databases. |
390 |
|
391 |
%package -n python3-%{name} |
392 |
Summary: Python 3 bindings for apps which will manipulate RPM packages |
393 |
Group: Development/Python |
394 |
Requires: rpm = %epoch:%{version}-%{release} |
395 |
|
396 |
%description -n python3-%{name} |
397 |
The python3-rpm package contains a module that permits applications |
398 |
written in the Python programming language to use the interface |
399 |
supplied by RPM Package Manager libraries. |
400 |
|
401 |
This package should be installed if you want to develop Python 3 |
402 |
programs that will manipulate RPM packages and databases. |
403 |
|
404 |
%package apidocs |
405 |
Summary: API documentation for RPM libraries |
406 |
Group: Documentation |
407 |
BuildArch: noarch |
408 |
# temporary cauldron rename: |
409 |
%rename rpm-doc |
410 |
|
411 |
%description apidocs |
412 |
This package contains API documentation for developing applications |
413 |
that will manipulate RPM packages and databases. |
414 |
|
415 |
%prep |
416 |
%autosetup -n %{name}-%{srcver} 1} -p1 |
417 |
|
418 |
%build |
419 |
%define _disable_ld_no_undefined 1 |
420 |
aclocal |
421 |
automake-1.14 --add-missing |
422 |
automake |
423 |
autoreconf |
424 |
|
425 |
%if %with debug |
426 |
RPM_OPT_FLAGS=-g |
427 |
%endif |
428 |
export CPPFLAGS="$CPPFLAGS `pkg-config --cflags nss`" |
429 |
CFLAGS="$RPM_OPT_FLAGS -fPIC" CXXFLAGS="$RPM_OPT_FLAGS -fPIC" \ |
430 |
%configure2_5x \ |
431 |
--localstatedir=%{_var} \ |
432 |
--sharedstatedir=%{_var}/lib \ |
433 |
%{?_with_debug} \ |
434 |
--with-external-db \ |
435 |
--with-lua \ |
436 |
--without-selinux \ |
437 |
--with-cap \ |
438 |
--with-acl \ |
439 |
%{?with_ndb: --with-ndb} \ |
440 |
--enable-python |
441 |
|
442 |
%make_build |
443 |
pushd python |
444 |
%{__python2} setup.py build |
445 |
%{__python3} setup.py build |
446 |
popd |
447 |
|
448 |
%install |
449 |
%make_install |
450 |
|
451 |
# We need to build with --enable-python for the self-test suite, but we |
452 |
# actually package the bindings built with setup.py (#531543#c26) |
453 |
rm -rf $RPM_BUILD_ROOT/%{python_sitearch} |
454 |
pushd python |
455 |
%{__python2} setup.py install --skip-build --root $RPM_BUILD_ROOT |
456 |
%{__python3} setup.py install --skip-build --root $RPM_BUILD_ROOT |
457 |
popd |
458 |
|
459 |
# Save list of packages through cron |
460 |
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily |
461 |
install -m 755 scripts/rpm.daily ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily/rpm |
462 |
|
463 |
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d |
464 |
install -m 644 scripts/rpm.log ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/rpm |
465 |
|
466 |
mkdir -p $RPM_BUILD_ROOT/var/lib/rpm |
467 |
for dbi in \ |
468 |
Basenames Conflictname Dirnames Group Installtid Name Obsoletename \ |
469 |
Packages Providename Requirename Triggername Sha1header Sigmd5 \ |
470 |
__db.001 __db.002 __db.003 __db.004 __db.005 __db.006 __db.007 \ |
471 |
__db.008 __db.009 |
472 |
do |
473 |
touch $RPM_BUILD_ROOT/var/lib/rpm/$dbi |
474 |
done |
475 |
|
476 |
test -d doc-copy || mkdir doc-copy |
477 |
rm -rf doc-copy/* |
478 |
ln -f doc/manual/* doc-copy/ |
479 |
rm -f doc-copy/Makefile* |
480 |
|
481 |
mkdir -p $RPM_BUILD_ROOT/var/spool/repackage |
482 |
|
483 |
mkdir -p %buildroot%rpmhome/macros.d |
484 |
install %SOURCE1 %buildroot%rpmhome/macros.d |
485 |
mkdir -p %buildroot%_sysconfdir/rpm/macros.d |
486 |
cat > %buildroot%_sysconfdir/rpm/macros <<EOF |
487 |
# Put your own system macros here |
488 |
# usually contains |
489 |
|
490 |
# Set this one according your locales |
491 |
# %%_install_langs |
492 |
|
493 |
EOF |
494 |
|
495 |
%{rpmhome}/%{_host_vendor}/find-lang.pl $RPM_BUILD_ROOT %{name} |
496 |
|
497 |
find $RPM_BUILD_ROOT -name "*.la"|xargs rm -f |
498 |
|
499 |
%if %{with check} |
500 |
%check |
501 |
eatmydata make check |
502 |
[ "$(ls -A tests/rpmtests.dir)" ] && cat tests/rpmtests.log |
503 |
%endif |
504 |
|
505 |
%pre |
506 |
/usr/share/rpm-helper/add-user rpm $1 rpm /var/lib/rpm /bin/false |
507 |
|
508 |
rm -rf /usr/lib/rpm/*-mandrake-* |
509 |
rm -rf /usr/lib/rpm/*-%{_real_vendor}-* |
510 |
|
511 |
|
512 |
%post |
513 |
# nuke __db.00? when updating to this rpm |
514 |
rm -f /var/lib/rpm/__db.00? |
515 |
|
516 |
if [ ! -f /var/lib/rpm/Packages ]; then |
517 |
/bin/rpm --initdb |
518 |
fi |
519 |
|
520 |
%postun |
521 |
/usr/share/rpm-helper/del-user rpm $1 rpm |
522 |
|
523 |
%define rpmattr %attr(0755, rpm, rpm) |
524 |
|
525 |
%files -f %{name}.lang |
526 |
%license COPYING |
527 |
%doc CHANGES doc/manual/[a-z]* |
528 |
%attr(0755,rpm,rpm) /bin/rpm |
529 |
%attr(0755, rpm, rpm) %{_bindir}/rpm2cpio |
530 |
%attr(0755, rpm, rpm) %{_bindir}/rpm2archive |
531 |
%attr(0755, rpm, rpm) %{_bindir}/gendiff |
532 |
%attr(0755, rpm, rpm) %{_bindir}/rpmdb |
533 |
%attr(0755, rpm, rpm) %{_bindir}/rpmkeys |
534 |
%attr(0755, rpm, rpm) %{_bindir}/rpmgraph |
535 |
%{_bindir}/rpmquery |
536 |
%{_bindir}/rpmverify |
537 |
%{_libdir}/rpm-plugins |
538 |
|
539 |
%dir %{_localstatedir}/spool/repackage |
540 |
%dir %{rpmhome} |
541 |
%dir /etc/rpm |
542 |
%config(noreplace) /etc/rpm/macros |
543 |
%dir /etc/rpm/macros.d |
544 |
%attr(0755, rpm, rpm) %{rpmhome}/config.guess |
545 |
%attr(0755, rpm, rpm) %{rpmhome}/config.sub |
546 |
%attr(0755, rpm, rpm) %{rpmhome}/rpmdb_* |
547 |
%attr(0644, rpm, rpm) %{rpmhome}/macros |
548 |
%rpmhome/macros.d |
549 |
%attr(0755, rpm, rpm) %{rpmhome}/mkinstalldirs |
550 |
%attr(0755, rpm, rpm) %{rpmhome}/rpm.* |
551 |
%attr(0644, rpm, rpm) %{rpmhome}/rpmpopt* |
552 |
%attr(0644, rpm, rpm) %{rpmhome}/rpmrc |
553 |
%attr(0755, rpm, rpm) %{rpmhome}/elfdeps |
554 |
%attr(0755, rpm, rpm) %{rpmhome}/script.req |
555 |
|
556 |
%rpmattr %{rpmhome}/rpm2cpio.sh |
557 |
%rpmattr %{rpmhome}/tgpg |
558 |
|
559 |
%dir %attr( -, rpm, rpm) %{rpmhome}/fileattrs |
560 |
%attr(0644, rpm, rpm) %{rpmhome}/fileattrs/*.attr |
561 |
|
562 |
%dir %attr( -, rpm, rpm) %{rpmhome}/platform/ |
563 |
%exclude %{rpmhome}/platform/m68k-linux/macros |
564 |
%exclude %{rpmhome}/platform/riscv64-linux/macros |
565 |
%ifarch %{ix86} x86_64 |
566 |
%attr( -, rpm, rpm) %{rpmhome}/platform/i*86-* |
567 |
%attr( -, rpm, rpm) %{rpmhome}/platform/athlon-* |
568 |
%attr( -, rpm, rpm) %{rpmhome}/platform/pentium*-* |
569 |
%attr( -, rpm, rpm) %{rpmhome}/platform/geode-* |
570 |
%else |
571 |
%exclude %{rpmhome}/platform/i*86-linux/macros |
572 |
%exclude %{rpmhome}/platform/athlon-linux/macros |
573 |
%exclude %{rpmhome}/platform/pentium*-linux/macros |
574 |
%exclude %{rpmhome}/platform/geode-linux/macros |
575 |
%endif |
576 |
%ifarch x86_64 |
577 |
%attr( -, rpm, rpm) %{rpmhome}/platform/amd64-* |
578 |
%attr( -, rpm, rpm) %{rpmhome}/platform/x86_64-* |
579 |
%attr( -, rpm, rpm) %{rpmhome}/platform/ia32e-* |
580 |
%else |
581 |
%exclude %{rpmhome}/platform/amd64-linux/macros |
582 |
%exclude %{rpmhome}/platform/ia32e-linux/macros |
583 |
%exclude %{rpmhome}/platform/x86_64-linux/macros |
584 |
%endif |
585 |
%ifarch %arm |
586 |
%attr( -, rpm, rpm) %{rpmhome}/platform/arm* |
587 |
%attr( -, rpm, rpm) %{rpmhome}/platform/aarch64*/macros |
588 |
%else |
589 |
%exclude %{rpmhome}/platform/arm*/macros |
590 |
%exclude %{rpmhome}/platform/aarch64*/macros |
591 |
%endif |
592 |
%attr( -, rpm, rpm) %{rpmhome}/platform/noarch* |
593 |
# new in 4.10.0: |
594 |
%exclude %{rpmhome}/platform/alpha*-linux/macros |
595 |
%exclude %{rpmhome}/platform/sparc*-linux/macros |
596 |
%exclude %{rpmhome}/platform/ia64*-linux/macros |
597 |
%exclude %{rpmhome}/platform/m68k*-linux/macros |
598 |
%exclude %{rpmhome}/platform/mips*-linux/macros |
599 |
%exclude %{rpmhome}/platform/ppc*-linux/macros |
600 |
%exclude %{rpmhome}/platform/s390*-linux/macros |
601 |
%exclude %{rpmhome}/platform/sh*-linux/macros |
602 |
|
603 |
|
604 |
|
605 |
%{_mandir}/man8/rpm.8* |
606 |
%{_mandir}/man8/rpmdb.8* |
607 |
%{_mandir}/man8/rpmgraph.8* |
608 |
%{_mandir}/man8/rpmkeys.8* |
609 |
%{_mandir}/man8/rpm2cpio.8* |
610 |
%{_mandir}/man1/*.1* |
611 |
%lang(fr) %{_mandir}/fr/man[18]/*.[18]* |
612 |
%lang(ja) %{_mandir}/ja/man[18]/*.[18]* |
613 |
%lang(ko) %{_mandir}/ko/man[18]/*.[18]* |
614 |
%lang(pl) %{_mandir}/pl/man[18]/*.[18]* |
615 |
%lang(ru) %{_mandir}/ru/man[18]/*.[18]* |
616 |
%lang(sk) %{_mandir}/sk/man[18]/*.[18]* |
617 |
|
618 |
%config(noreplace,missingok) /etc/cron.daily/rpm |
619 |
%config(noreplace,missingok) /etc/logrotate.d/rpm |
620 |
|
621 |
%attr(0755, rpm, rpm) %dir %_localstatedir/lib/rpm |
622 |
|
623 |
%define rpmdbattr %attr(0644, rpm, rpm) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) |
624 |
|
625 |
%rpmdbattr /var/lib/rpm/Basenames |
626 |
%rpmdbattr /var/lib/rpm/Conflictname |
627 |
%rpmdbattr /var/lib/rpm/__db.0* |
628 |
%rpmdbattr /var/lib/rpm/Dirnames |
629 |
%rpmdbattr /var/lib/rpm/Group |
630 |
%rpmdbattr /var/lib/rpm/Installtid |
631 |
%rpmdbattr /var/lib/rpm/Name |
632 |
%rpmdbattr /var/lib/rpm/Obsoletename |
633 |
%rpmdbattr /var/lib/rpm/Packages |
634 |
%rpmdbattr /var/lib/rpm/Providename |
635 |
%rpmdbattr /var/lib/rpm/Provideversion |
636 |
%rpmdbattr /var/lib/rpm/Removetid |
637 |
%rpmdbattr /var/lib/rpm/Requirename |
638 |
%rpmdbattr /var/lib/rpm/Requireversion |
639 |
%rpmdbattr /var/lib/rpm/Sha1header |
640 |
%rpmdbattr /var/lib/rpm/Sigmd5 |
641 |
%rpmdbattr /var/lib/rpm/Triggername |
642 |
|
643 |
%files -n %librpmname |
644 |
%{_libdir}/librpm.so.%{libmajor}* |
645 |
%{_libdir}/librpmio.so.%{libmajor}* |
646 |
|
647 |
%files -n %librpmbuild |
648 |
%{_libdir}/librpmbuild.so.%{libmajor}* |
649 |
|
650 |
%files -n %librpmsign |
651 |
%{_libdir}/librpmsign.so.%{libmajor}* |
652 |
|
653 |
%files build |
654 |
%doc CHANGES |
655 |
%doc doc-copy/* |
656 |
%rpmattr %{_bindir}/rpmbuild |
657 |
%rpmattr %{_bindir}/rpmspec |
658 |
%rpmattr %{_prefix}/lib/rpm/brp-* |
659 |
%rpmattr %{_prefix}/lib/rpm/check-files |
660 |
%rpmattr %{_prefix}/lib/rpm/debugedit |
661 |
%rpmattr %{_prefix}/lib/rpm/sepdebugcrcfix |
662 |
%rpmattr %{_prefix}/lib/rpm/*.prov |
663 |
%rpmattr %{_prefix}/lib/rpm/find-debuginfo.sh |
664 |
%rpmattr %{_prefix}/lib/rpm/find-lang.sh |
665 |
%rpmattr %{_prefix}/lib/rpm/find-provides |
666 |
%rpmattr %{_prefix}/lib/rpm/find-requires |
667 |
%rpmattr %{_prefix}/lib/rpm/perl.req |
668 |
|
669 |
%rpmattr %{_prefix}/lib/rpm/check-buildroot |
670 |
%rpmattr %{_prefix}/lib/rpm/check-prereqs |
671 |
%rpmattr %{_prefix}/lib/rpm/check-rpaths |
672 |
%rpmattr %{_prefix}/lib/rpm/check-rpaths-worker |
673 |
%rpmattr %{_prefix}/lib/rpm/libtooldeps.sh |
674 |
%rpmattr %{_prefix}/lib/rpm/macros.perl |
675 |
%rpmattr %{_prefix}/lib/rpm/macros.php |
676 |
%rpmattr %{_prefix}/lib/rpm/macros.python |
677 |
%rpmattr %{_prefix}/lib/rpm/mono-find-provides |
678 |
%rpmattr %{_prefix}/lib/rpm/mono-find-requires |
679 |
%rpmattr %{_prefix}/lib/rpm/ocaml-find-provides.sh |
680 |
%rpmattr %{_prefix}/lib/rpm/ocaml-find-requires.sh |
681 |
%rpmattr %{_prefix}/lib/rpm/pkgconfigdeps.sh |
682 |
|
683 |
%rpmattr %{_prefix}/lib/rpm/rpmdeps |
684 |
%rpmattr %{_prefix}/lib/rpm/pythondeps.sh |
685 |
%rpmattr %{_prefix}/lib/rpm/pythondistdeps.py* |
686 |
|
687 |
|
688 |
%{_mandir}/man8/rpmbuild.8* |
689 |
%{_mandir}/man8/rpmdeps.8* |
690 |
%{_mandir}/man8/rpmspec.8* |
691 |
|
692 |
%files sign |
693 |
%{_bindir}/rpmsign |
694 |
%{_mandir}/man8/rpmsign.8* |
695 |
|
696 |
%files -n python2-%{name} |
697 |
%{python_sitearch}/%{name}/ |
698 |
%{python_sitearch}/%{name}_python-*.egg-info |
699 |
|
700 |
%files -n python3-%{name} |
701 |
%defattr(-,root,root) |
702 |
%{python3_sitearch}/%{name}/ |
703 |
%{python3_sitearch}/%{name}_python-*.egg-info |
704 |
|
705 |
%files -n %librpmnamedevel |
706 |
%{_libdir}/librp*[a-z].so |
707 |
%{_libdir}/pkgconfig/%{name}.pc |
708 |
%{_includedir}/%{name}/ |
709 |
|
710 |
%files apidocs |
711 |
%license COPYING |
712 |
%doc doc/librpm/html/* |