1 %define with_python_subpackage @WITH_PYTHON_SUBPACKAGE@%{nil}
2 %define with_python_version @WITH_PYTHON_VERSION@%{nil}
3 %define with_bzip2 @WITH_BZIP2@%{nil}
4 %define with_apidocs @WITH_APIDOCS@%{nil}
6 # XXX legacy requires './' payload prefix to be omitted from rpm packages.
7 %define _noPayloadPrefix 1
10 %{?!_lib: %define _lib lib}
11 %{expand: %%define __share %(if [ -d %{__prefix}/share/man ]; then echo /share ; else echo %%{nil} ; fi)}
13 %define __bindir %{__prefix}/bin
14 %define __includedir %{__prefix}/include
15 %define __libdir %{__prefix}/%{_lib}
16 %define __mandir %{__prefix}%{__share}/man
18 Summary: The RPM package management system.
20 %define version @VERSION@
22 %{expand: %%define rpm_version %{version}}
24 Group: System Environment/Base
25 Source: ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.0.x/rpm-%{rpm_version}.tar.gz
27 Conflicts: patch < 2.5
29 Prereq: fileutils shadow-utils
32 Obsoletes: rpm-perl < %{version}
34 # XXX necessary only to drag in /usr/lib/libelf.a, otherwise internal elfutils.
35 BuildRequires: elfutils-libelf
37 BuildRequires: zlib-devel
39 BuildRequires: beecrypt-devel >= 3.0.1
40 Requires: beecrypt-devel >= 3.0.1
42 # XXX Red Hat 5.2 has not bzip2 or python
44 BuildRequires: bzip2 >= 0.9.0c-2
46 %if %{with_python_subpackage}
47 BuildRequires: python-devel >= %{with_python_version}
50 BuildRoot: %{_tmppath}/%{name}-root
53 The RPM Package Manager (RPM) is a powerful command line driven
54 package management system capable of installing, uninstalling,
55 verifying, querying, and updating software packages. Each software
56 package consists of an archive of files along with information about
57 the package like its version, a description, etc.
60 Summary: Development files for manipulating RPM packages.
61 Group: Development/Libraries
62 Requires: rpm = %{rpm_version}
65 This package contains the RPM C library and header files. These
66 development files will simplify the process of writing programs that
67 manipulate RPM packages and databases. These files are intended to
68 simplify the process of creating graphical package managers or any
69 other tools that need an intimate knowledge of RPM packages in order
72 This package should be installed if you want to develop programs that
73 will manipulate RPM packages and databases.
76 Summary: Scripts and executable programs used to build packages.
77 Group: Development/Tools
78 Requires: rpm = %{rpm_version}, patch >= 2.5, file
79 Provides: rpmbuild(VendorConfig) = 4.1-1
82 The rpm-build package contains the scripts and executable programs
83 that are used to build packages using the RPM Package Manager.
85 %if %{with_python_subpackage}
87 Summary: Python bindings for apps which will manipulate RPM packages.
88 Group: Development/Libraries
89 Requires: rpm = %{rpm_version}
90 Requires: python >= %{with_python_version}
91 Requires: elfutils >= 0.55
94 The rpm-python package contains a module that permits applications
95 written in the Python programming language to use the interface
96 supplied by RPM Package Manager libraries.
98 This package should be installed if you want to develop Python
99 programs that will manipulate RPM packages and databases.
103 Summary: A C library for parsing command line parameters.
104 Group: Development/Libraries
108 Popt is a C library for parsing command line parameters. Popt was
109 heavily influenced by the getopt() and getopt_long() functions, but it
110 improves on them by allowing more powerful argument expansion. Popt
111 can parse arbitrary argv[] style arrays and automatically set
112 variables based on command line arguments. Popt allows command line
113 arguments to be aliased via configuration files and includes utility
114 functions for parsing arbitrary strings into argv[] arrays using
122 # XXX rpm needs functioning nptl for configure tests
123 unset LD_ASSUME_KERNEL || :
125 %if %{with_python_subpackage}
126 WITH_PYTHON="--with-python=%{with_python_version}"
128 WITH_PYTHON="--without-python"
132 %ifarch x86_64 s390 s390x
133 CFLAGS="$RPM_OPT_FLAGS -fPIC"; export CFLAGS
135 CFLAGS="$RPM_OPT_FLAGS"; export CFLAGS
137 ./configure --prefix=%{__prefix} --sysconfdir=/etc \
138 --localstatedir=/var --infodir='${prefix}%{__share}/info' \
139 --mandir='${prefix}%{__share}/man' \
140 $WITH_PYTHON --without-javaglue
142 CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{__prefix} $WITH_PYTHON \
146 # XXX hack out O_DIRECT support in db4 for now.
147 perl -pi -e 's/#define HAVE_O_DIRECT 1/#undef HAVE_O_DIRECT/' db3/db_config.h
152 # XXX rpm needs functioning nptl for configure tests
153 unset LD_ASSUME_KERNEL || :
155 rm -rf $RPM_BUILD_ROOT
157 make DESTDIR="$RPM_BUILD_ROOT" install
161 # Save list of packages through cron
162 mkdir -p ${RPM_BUILD_ROOT}/etc/cron.daily
163 install -m 755 scripts/rpm.daily ${RPM_BUILD_ROOT}/etc/cron.daily/rpm
165 mkdir -p ${RPM_BUILD_ROOT}/etc/logrotate.d
166 install -m 644 scripts/rpm.log ${RPM_BUILD_ROOT}/etc/logrotate.d/rpm
168 mkdir -p $RPM_BUILD_ROOT/etc/rpm
170 mkdir -p $RPM_BUILD_ROOT/var/spool/repackage
171 mkdir -p $RPM_BUILD_ROOT/var/lib/rpm
173 Basenames Conflictname Dirnames Group Installtid Name Packages \
174 Providename Provideversion Requirename Requireversion Triggername \
175 Filemd5s Pubkeys Sha1header Sigmd5 \
176 __db.001 __db.002 __db.003 __db.004 __db.005 __db.006 __db.007 \
179 touch $RPM_BUILD_ROOT/var/lib/rpm/$dbi
185 gzip -9n apidocs/man/man*/* || :
188 # Get rid of unpackaged files
190 rm -rf .%{__includedir}/beecrypt
191 rm -f .%{__libdir}/libbeecrypt.{a,la,so.2.2.0}
192 rm -f .%{__prefix}/lib/rpm/{Specfile.pm,cpanflute,cpanflute2,rpmdiff,rpmdiff.cgi,sql.prov,sql.req,tcl.req}
193 rm -rf .%{__mandir}/{fr,ko}
197 rm -rf $RPM_BUILD_ROOT
201 if [ -f /var/lib/rpm/packages.rpm ]; then
203 You have (unsupported)
204 /var/lib/rpm/packages.rpm db1 format installed package headers
205 Please install rpm-4.0.4 first, and do
207 to convert your database from db1 to db3 format.
211 /usr/sbin/groupadd -g 37 @RPMGROUP@ > /dev/null 2>&1
212 /usr/sbin/useradd -r -d /var/lib/rpm -u 37 -g 37 @RPMUSER@ -s /sbin/nologin > /dev/null 2>&1
219 /bin/chown @RPMUSER@.@RPMGROUP@ /var/lib/rpm/[A-Z]*
227 /usr/sbin/userdel @RPMUSER@
228 /usr/sbin/groupdel @RPMGROUP@
232 %post devel -p /sbin/ldconfig
233 %postun devel -p /sbin/ldconfig
235 %post -n popt -p /sbin/ldconfig
236 %postun -n popt -p /sbin/ldconfig
239 %if %{with_python_subpackage}
240 %post python -p /sbin/ldconfig
241 %postun python -p /sbin/ldconfig
244 %define rpmattr %attr(0755, @RPMUSER@, @RPMGROUP@)
247 %defattr(-,root,root)
248 %doc RPM-PGP-KEY RPM-GPG-KEY BETA-GPG-KEY CHANGES GROUPS doc/manual/[a-z]*
249 # XXX comment these lines out if building with rpm that knows not %pubkey attr
253 %attr(0755, @RPMUSER@, @RPMGROUP@) /bin/rpm
256 %config(noreplace,missingok) /etc/cron.daily/rpm
257 %config(noreplace,missingok) /etc/logrotate.d/rpm
259 #%config(noreplace,missingok) /etc/rpm/macros.*
260 %attr(0755, @RPMUSER@, @RPMGROUP@) %dir /var/lib/rpm
261 %attr(0755, @RPMUSER@, @RPMGROUP@) %dir /var/spool/repackage
263 %define rpmdbattr %attr(0644, @RPMUSER@, @RPMGROUP@) %verify(not md5 size mtime) %ghost %config(missingok,noreplace)
264 %rpmdbattr /var/lib/rpm/*
267 %rpmattr %{__bindir}/rpm2cpio
268 %rpmattr %{__bindir}/gendiff
269 %rpmattr %{__bindir}/rpmdb
270 #%rpmattr %{__bindir}/rpm[eiu]
271 %rpmattr %{__bindir}/rpmsign
272 %rpmattr %{__bindir}/rpmquery
273 %rpmattr %{__bindir}/rpmverify
275 %{__libdir}/librpm-@VERSION@.so
276 %{__libdir}/librpmdb-@VERSION@.so
277 %{__libdir}/librpmio-@VERSION@.so
278 %{__libdir}/librpmbuild-@VERSION@.so
280 %attr(0755, @RPMUSER@, @RPMGROUP@) %dir %{__prefix}/lib/rpm
281 %rpmattr %{__prefix}/lib/rpm/config.guess
282 %rpmattr %{__prefix}/lib/rpm/config.sub
283 %rpmattr %{__prefix}/lib/rpm/convertrpmrc.sh
284 %attr(0644, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/macros
285 %rpmattr %{__prefix}/lib/rpm/mkinstalldirs
286 %rpmattr %{__prefix}/lib/rpm/rpm.*
287 %rpmattr %{__prefix}/lib/rpm/rpm2cpio.sh
288 %rpmattr %{__prefix}/lib/rpm/rpm[deiukqv]
289 %rpmattr %{__prefix}/lib/rpm/tgpg
290 %attr(0644, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/rpmpopt*
291 %attr(0644, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/rpmrc
293 %ifarch i386 i486 i586 i686 athlon
294 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/i[3456]86*
295 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/athlon*
297 %ifarch alpha alphaev5 alphaev56 alphapca56 alphaev6 alphaev67
298 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/alpha*
300 %ifarch sparc sparcv9 sparc64
301 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/sparc*
304 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/ia64*
306 %ifarch powerpc ppc ppciseries ppcpseries ppcmac ppc64
307 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/ppc*
310 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/s390*
312 %ifarch armv3l armv4l
313 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/armv[34][lb]*
316 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/mips*
319 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/x86_64*
321 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/noarch*
323 %lang(cs) %{__prefix}/*/locale/cs/LC_MESSAGES/rpm.mo
324 %lang(da) %{__prefix}/*/locale/da/LC_MESSAGES/rpm.mo
325 %lang(de) %{__prefix}/*/locale/de/LC_MESSAGES/rpm.mo
326 %lang(fi) %{__prefix}/*/locale/fi/LC_MESSAGES/rpm.mo
327 %lang(fr) %{__prefix}/*/locale/fr/LC_MESSAGES/rpm.mo
328 %lang(gl) %{__prefix}/*/locale/gl/LC_MESSAGES/rpm.mo
329 %lang(is) %{__prefix}/*/locale/is/LC_MESSAGES/rpm.mo
330 %lang(ja) %{__prefix}/*/locale/ja/LC_MESSAGES/rpm.mo
331 %lang(ko) %{__prefix}/*/locale/ko/LC_MESSAGES/rpm.mo
332 %lang(no) %{__prefix}/*/locale/no/LC_MESSAGES/rpm.mo
333 %lang(pl) %{__prefix}/*/locale/pl/LC_MESSAGES/rpm.mo
334 %lang(pt) %{__prefix}/*/locale/pt/LC_MESSAGES/rpm.mo
335 %lang(pt_BR) %{__prefix}/*/locale/pt_BR/LC_MESSAGES/rpm.mo
336 %lang(ro) %{__prefix}/*/locale/ro/LC_MESSAGES/rpm.mo
337 %lang(ru) %{__prefix}/*/locale/ru/LC_MESSAGES/rpm.mo
338 %lang(sk) %{__prefix}/*/locale/sk/LC_MESSAGES/rpm.mo
339 %lang(sl) %{__prefix}/*/locale/sl/LC_MESSAGES/rpm.mo
340 %lang(sr) %{__prefix}/*/locale/sr/LC_MESSAGES/rpm.mo
341 %lang(sv) %{__prefix}/*/locale/sv/LC_MESSAGES/rpm.mo
342 %lang(tr) %{__prefix}/*/locale/tr/LC_MESSAGES/rpm.mo
344 %{__mandir}/man1/gendiff.1*
345 %{__mandir}/man8/rpm.8*
346 %{__mandir}/man8/rpm2cpio.8*
347 %lang(ja) %{__mandir}/ja/man[18]/*.[18]*
348 %lang(pl) %{__mandir}/pl/man[18]/*.[18]*
349 %lang(ru) %{__mandir}/ru/man[18]/*.[18]*
350 %lang(sk) %{__mandir}/sk/man[18]/*.[18]*
353 %defattr(-,root,root)
354 %dir %{__prefix}/src/@RPMCANONVENDOR@
355 %dir %{__prefix}/src/@RPMCANONVENDOR@/BUILD
356 %dir %{__prefix}/src/@RPMCANONVENDOR@/SPECS
357 %dir %{__prefix}/src/@RPMCANONVENDOR@/SOURCES
358 %dir %{__prefix}/src/@RPMCANONVENDOR@/SRPMS
359 %dir %{__prefix}/src/@RPMCANONVENDOR@/RPMS
360 %{__prefix}/src/@RPMCANONVENDOR@/RPMS/*
361 %rpmattr %{__bindir}/rpmbuild
362 %rpmattr %{__prefix}/lib/rpm/brp-*
363 %rpmattr %{__prefix}/lib/rpm/check-files
364 %rpmattr %{__prefix}/lib/rpm/check-prereqs
365 %rpmattr %{__prefix}/lib/rpm/config.site
366 %rpmattr %{__prefix}/lib/rpm/cross-build
367 %rpmattr %{__prefix}/lib/rpm/debugedit
368 %rpmattr %{__prefix}/lib/rpm/find-debuginfo.sh
369 %rpmattr %{__prefix}/lib/rpm/find-lang.sh
370 %rpmattr %{__prefix}/lib/rpm/find-prov.pl
371 %rpmattr %{__prefix}/lib/rpm/find-provides
372 %rpmattr %{__prefix}/lib/rpm/find-provides.perl
373 %rpmattr %{__prefix}/lib/rpm/find-req.pl
374 %rpmattr %{__prefix}/lib/rpm/find-requires
375 %rpmattr %{__prefix}/lib/rpm/find-requires.perl
376 %rpmattr %{__prefix}/lib/rpm/get_magic.pl
377 %rpmattr %{__prefix}/lib/rpm/getpo.sh
378 %rpmattr %{__prefix}/lib/rpm/http.req
379 %rpmattr %{__prefix}/lib/rpm/javadeps
380 %rpmattr %{__prefix}/lib/rpm/magic
381 %rpmattr %{__prefix}/lib/rpm/magic.mgc
382 %rpmattr %{__prefix}/lib/rpm/magic.mime
383 %rpmattr %{__prefix}/lib/rpm/magic.mime.mgc
384 %rpmattr %{__prefix}/lib/rpm/magic.prov
385 %rpmattr %{__prefix}/lib/rpm/magic.req
386 %rpmattr %{__prefix}/lib/rpm/perldeps.pl
387 %rpmattr %{__prefix}/lib/rpm/perl.prov
388 %rpmattr %{__prefix}/lib/rpm/perl.req
390 %rpmattr %{__prefix}/lib/rpm/rpm[bt]
391 %rpmattr %{__prefix}/lib/rpm/rpmdeps
392 %rpmattr %{__prefix}/lib/rpm/trpm
393 %rpmattr %{__prefix}/lib/rpm/u_pkg.sh
394 %rpmattr %{__prefix}/lib/rpm/vpkg-provides.sh
395 %rpmattr %{__prefix}/lib/rpm/vpkg-provides2.sh
397 %{__mandir}/man8/rpmbuild.8*
398 %{__mandir}/man8/rpmdeps.8*
400 %if %{with_python_subpackage}
402 %defattr(-,root,root)
403 %{__libdir}/python%{with_python_version}/site-packages/rpmmodule.so
404 %{__libdir}/python%{with_python_version}/site-packages/rpmdb
408 %defattr(-,root,root)
410 %doc @WITH_APIDOCS_TARGET@
414 %{__libdir}/librpm.la
415 %{__libdir}/librpm.so
416 %{__libdir}/librpmdb.a
417 %{__libdir}/librpmdb.la
418 %{__libdir}/librpmdb.so
419 %{__libdir}/librpmio.a
420 %{__libdir}/librpmio.la
421 %{__libdir}/librpmio.so
422 %{__libdir}/librpmbuild.a
423 %{__libdir}/librpmbuild.la
424 %{__libdir}/librpmbuild.so
425 %{__mandir}/man8/rpmcache.8*
426 %{__mandir}/man8/rpmgraph.8*
427 %rpmattr %{__prefix}/lib/rpm/rpmcache
428 %rpmattr %{__prefix}/lib/rpm/rpmdb_deadlock
429 %rpmattr %{__prefix}/lib/rpm/rpmdb_dump
430 %rpmattr %{__prefix}/lib/rpm/rpmdb_load
431 %rpmattr %{__prefix}/lib/rpm/rpmdb_loadcvt
432 %rpmattr %{__prefix}/lib/rpm/rpmdb_svc
433 %rpmattr %{__prefix}/lib/rpm/rpmdb_stat
434 %rpmattr %{__prefix}/lib/rpm/rpmdb_verify
435 %rpmattr %{__prefix}/lib/rpm/rpmfile
436 %rpmattr %{__bindir}/rpmgraph
439 %defattr(-,root,root)
440 %{__libdir}/libpopt.so.*
441 %{__mandir}/man3/popt.3*
442 %lang(cs) %{__prefix}/*/locale/cs/LC_MESSAGES/popt.mo
443 %lang(da) %{__prefix}/*/locale/da/LC_MESSAGES/popt.mo
444 %lang(de) %{__prefix}/*/locale/de/LC_MESSAGES/popt.mo
445 %lang(es) %{__prefix}/*/locale/es/LC_MESSAGES/popt.mo
446 %lang(eu_ES) %{__prefix}/*/locale/eu_ES/LC_MESSAGES/popt.mo
447 %lang(fi) %{__prefix}/*/locale/fi/LC_MESSAGES/popt.mo
448 %lang(fr) %{__prefix}/*/locale/fr/LC_MESSAGES/popt.mo
449 %lang(gl) %{__prefix}/*/locale/gl/LC_MESSAGES/popt.mo
450 %lang(hu) %{__prefix}/*/locale/hu/LC_MESSAGES/popt.mo
451 %lang(id) %{__prefix}/*/locale/id/LC_MESSAGES/popt.mo
452 %lang(is) %{__prefix}/*/locale/is/LC_MESSAGES/popt.mo
453 %lang(it) %{__prefix}/*/locale/it/LC_MESSAGES/popt.mo
454 %lang(ja) %{__prefix}/*/locale/ja/LC_MESSAGES/popt.mo
455 %lang(ko) %{__prefix}/*/locale/ko/LC_MESSAGES/popt.mo
456 %lang(no) %{__prefix}/*/locale/no/LC_MESSAGES/popt.mo
457 %lang(pl) %{__prefix}/*/locale/pl/LC_MESSAGES/popt.mo
458 %lang(pt) %{__prefix}/*/locale/pt/LC_MESSAGES/popt.mo
459 %lang(pt_BR) %{__prefix}/*/locale/pt_BR/LC_MESSAGES/popt.mo
460 %lang(ro) %{__prefix}/*/locale/ro/LC_MESSAGES/popt.mo
461 %lang(ru) %{__prefix}/*/locale/ru/LC_MESSAGES/popt.mo
462 %lang(sk) %{__prefix}/*/locale/sk/LC_MESSAGES/popt.mo
463 %lang(sl) %{__prefix}/*/locale/sl/LC_MESSAGES/popt.mo
464 %lang(sr) %{__prefix}/*/locale/sr/LC_MESSAGES/popt.mo
465 %lang(sv) %{__prefix}/*/locale/sv/LC_MESSAGES/popt.mo
466 %lang(tr) %{__prefix}/*/locale/tr/LC_MESSAGES/popt.mo
467 %lang(uk) %{__prefix}/*/locale/uk/LC_MESSAGES/popt.mo
468 %lang(wa) %{__prefix}/*/locale/wa/LC_MESSAGES/popt.mo
469 %lang(zh) %{__prefix}/*/locale/zh/LC_MESSAGES/popt.mo
470 %lang(zh_CN) %{__prefix}/*/locale/zh_CN.GB2312/LC_MESSAGES/popt.mo
472 # XXX These may end up in popt-devel but it hardly seems worth the effort.
473 %{__libdir}/libpopt.a
474 %{__libdir}/libpopt.la
475 %{__libdir}/libpopt.so
476 %{__includedir}/popt.h
479 * Sun Dec 7 2003 Jeff Johnson <jbj@jbj.org> 4.3-0.2
480 - only internal Berkeley db from now on.
481 - revive "make dist".
483 * Wed Mar 19 2003 Jeff Johnson <jbj@redhat.com> 4.3-0.1
484 - upgrade to zlib-1.2.beta7.
485 - pass structure pointer, not args, through headerSprintf call chain.
486 - add ":xml" tag format modifier.
487 - --queryformat '[%%{*:xml}\n]' to dump header content in XML.
488 - fix: short option help missing string terminator.
489 - unify signal handling in librpmio, use condvar to deliver signal.