[packages/rpm] - fix missing type definitions in public header files

baggins baggins at pld-linux.org
Sun Sep 9 16:03:25 CEST 2012


commit fa563337237db6101bcfd2ea2461bf591d1ed655
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sun Sep 9 16:00:40 2012 +0200

    - fix missing type definitions in public header files
    
    Some of rpm's headers use types defined outside of them, yet do not
    include required files with appriopriate typedefs. Add missing includes
    to avoid guesswork when using rpm headers in external applications.

 rpm-fix-missing-types-in-headers.patch | 341 +++++++++++++++++++++++++++++++++
 rpm.spec                               |   2 +
 2 files changed, 343 insertions(+)
---
diff --git a/rpm.spec b/rpm.spec
index a1136d2..c99f7b6 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -140,6 +140,7 @@ Patch83:	%{name}-namespace-probe.patch
 Patch84:	%{name}-popt-coreutils.patch
 Patch85:	%{name}-postun-nofail.patch
 Patch86:	%{name}-silence-RPM_CHAR_TYPE.patch
+Patch87:	%{name}-fix-missing-types-in-headers.patch
 
 # Patches imported from Mandriva
 
@@ -804,6 +805,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch84 -p1
 %patch85 -p1
 %patch86 -p1
+%patch87 -p1
 
 %patch1000 -p1
 %patch1001 -p1
diff --git a/rpm-fix-missing-types-in-headers.patch b/rpm-fix-missing-types-in-headers.patch
new file mode 100644
index 0000000..a84bd99
--- /dev/null
+++ b/rpm-fix-missing-types-in-headers.patch
@@ -0,0 +1,341 @@
+diff -ur rpm-5.4.10.orig/rpmio/argv.h rpm-5.4.10/rpmio/argv.h
+--- rpm-5.4.10.orig/rpmio/argv.h	2012-09-09 13:54:22.000000000 +0200
++++ rpm-5.4.10/rpmio/argv.h	2012-09-09 14:43:55.765933246 +0200
+@@ -1,6 +1,8 @@
+ #ifndef _H_ARGV_
+ #define	_H_ARGV_
+ 
++#include <stdio.h>	/* XXX FILE * typedef */
++
+ /** \ingroup rpmio
+  * \file rpmio/argv.h
+  */
+diff -ur rpm-5.4.10.orig/rpmdb/pkgio.h rpm-5.4.10/rpmdb/pkgio.h
+--- rpm-5.4.10.orig/rpmdb/pkgio.h	2012-09-09 13:54:22.000000000 +0200
++++ rpm-5.4.10/rpmdb/pkgio.h	2012-09-09 14:49:38.112587836 +0200
+@@ -6,6 +6,8 @@
+  * Methods to handle package elements.
+  */
+ 
++#include <stdint.h>	/* XXX unint32_t typedef */
++#include <rpmtypes.h>
+ #include <rpmio.h>	/* XXX FD_t typedef */
+ #include <rpmpgp.h>	/* XXX pgpDig typedef */
+ #include <rpmtag.h>	/* XXX Header typedef */
+diff -ur rpm-5.4.10.orig/lib/rpm46compat.h rpm-5.4.10/lib/rpm46compat.h
+--- rpm-5.4.10.orig/lib/rpm46compat.h	2012-09-09 13:54:23.000000000 +0200
++++ rpm-5.4.10/lib/rpm46compat.h	2012-09-09 14:25:02.645973220 +0200
+@@ -7,6 +7,7 @@
+ #ifndef	H_RPM46COMPAT
+ #define	H_RPM46COMPAT		1
+ 
++#include <stdint.h>	/* XXX unint32_t typedef */
+ #include <rpm/rpm4compat.h>
+ #include <rpmbuild.h>
+ 
+diff -ur rpm-5.4.10.orig/lib/rpm4compat.h rpm-5.4.10/lib/rpm4compat.h
+--- rpm-5.4.10.orig/lib/rpm4compat.h	2012-09-09 13:54:23.000000000 +0200
++++ rpm-5.4.10/lib/rpm4compat.h	2012-09-09 14:25:12.069306220 +0200
+@@ -42,6 +42,7 @@
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <errno.h>
++#include <stdint.h>	/* XXX unint32_t typedef */
+ 
+ #define WITH_DB
+ #define	_RPMDB_INTERNAL
+diff -ur rpm-5.4.10.orig/rpmio/rpmbf.h rpm-5.4.10/rpmio/rpmbf.h
+--- rpm-5.4.10.orig/rpmio/rpmbf.h	2012-09-09 13:54:22.000000000 +0200
++++ rpm-5.4.10/rpmio/rpmbf.h	2012-09-09 14:27:36.982634442 +0200
+@@ -1,6 +1,8 @@
+ #ifndef	H_RPMBF
+ #define	H_RPMBF
+ 
++#include <sys/types.h>	/* XXX size_t typedef */
++
+ /** \ingroup rpmio
+  * \file rpmio/rpmbf.h
+  */
+diff -ur rpm-5.4.10.orig/build/rpmbuild.h rpm-5.4.10/build/rpmbuild.h
+--- rpm-5.4.10.orig/build/rpmbuild.h	2012-09-09 13:54:23.000000000 +0200
++++ rpm-5.4.10/build/rpmbuild.h	2012-09-09 14:38:45.262610867 +0200
+@@ -7,6 +7,7 @@
+  */
+ 
+ #include <rpmiotypes.h>
++#include <rpmio.h>	/* XXX FD_t typedef */
+ #include <rpmmacro.h>
+ #include <rpmtypes.h>
+ #include <rpmtag.h>
+diff -ur rpm-5.4.10.orig/lib/rpmcli.h rpm-5.4.10/lib/rpmcli.h
+--- rpm-5.4.10.orig/lib/rpmcli.h	2012-09-09 13:54:23.000000000 +0200
++++ rpm-5.4.10/lib/rpmcli.h	2012-09-09 14:25:48.149304946 +0200
+@@ -5,6 +5,7 @@
+  * \file lib/rpmcli.h
+  */
+ 
++#include <stdint.h>	/* XXX unint32_t typedef */
+ #include <popt.h>
+ #include <rpmmacro.h>
+ #include <rpmtypes.h>
+diff -ur rpm-5.4.10.orig/rpmconstant/rpmconstant.h rpm-5.4.10/rpmconstant/rpmconstant.h
+--- rpm-5.4.10.orig/rpmconstant/rpmconstant.h	2012-09-09 13:54:24.000000000 +0200
++++ rpm-5.4.10/rpmconstant/rpmconstant.h	2012-09-09 14:25:56.589304650 +0200
+@@ -18,6 +18,8 @@
+  *
+  */
+ 
++#include <stdint.h>	/* XXX unint32_t typedef */
++
+ #include <rpmio.h>
+ #include <rpmiotypes.h>		/* XXX fnpyKey */
+ #include <rpmpgp.h>
+diff -ur rpm-5.4.10.orig/rpmdb/rpmdb.h rpm-5.4.10/rpmdb/rpmdb.h
+--- rpm-5.4.10.orig/rpmdb/rpmdb.h	2012-09-09 13:54:22.000000000 +0200
++++ rpm-5.4.10/rpmdb/rpmdb.h	2012-09-09 14:26:05.802637657 +0200
+@@ -7,6 +7,7 @@
+  * Access RPM indices using Berkeley DB interface(s).
+  */
+ 
++#include <stdint.h>	/* XXX unint32_t typedef */
+ #include <assert.h>
+ #include <mire.h>
+ 
+diff -ur rpm-5.4.10.orig/lib/rpmds.h rpm-5.4.10/lib/rpmds.h
+--- rpm-5.4.10.orig/lib/rpmds.h	2012-09-09 13:54:23.000000000 +0200
++++ rpm-5.4.10/lib/rpmds.h	2012-09-09 15:30:02.718364975 +0200
+@@ -6,7 +6,12 @@
+  * Structure(s) used for dependency tag sets.
+  */
+ 
++#include <stdio.h>	/* XXX FILE * typedef */
++#include <sys/types.h>	/* XXX size_t typedef */
++#include <rpmtypes.h>
++#include <rpmiotypes.h>
+ #include <rpmevr.h>
++#include <rpmtag.h>
+ #define	_RPMNS_INTERNAL
+ #include <rpmns.h>
+ #include <rpmps.h>
+diff -ur rpm-5.4.10.orig/rpmdb/rpmevr.h rpm-5.4.10/rpmdb/rpmevr.h
+--- rpm-5.4.10.orig/rpmdb/rpmevr.h	2012-09-09 13:54:22.000000000 +0200
++++ rpm-5.4.10/rpmdb/rpmevr.h	2012-09-09 14:39:25.295942787 +0200
+@@ -1,6 +1,8 @@
+ #ifndef H_RPMEVR
+ #define H_RPMEVR
+ 
++#include <stdint.h>	/* XXX unint32_t typedef */
++
+ /** \ingroup rpmds
+  * \file lib/rpmevr.h
+  * Structure(s) and routine(s) used for EVR parsing and comparison.
+diff -ur rpm-5.4.10.orig/lib/rpmfi.h rpm-5.4.10/lib/rpmfi.h
+--- rpm-5.4.10.orig/lib/rpmfi.h	2012-09-09 13:54:23.000000000 +0200
++++ rpm-5.4.10/lib/rpmfi.h	2012-09-09 15:32:47.761692486 +0200
+@@ -1,6 +1,11 @@
+ #ifndef H_RPMFI
+ #define H_RPMFI
+ 
++#include <sys/types.h>	/* XXX size_t typedef */
++#include <rpmtypes.h>
++#include <rpmiotypes.h>
++#include <rpmtag.h>
++
+ /** \ingroup rpmfi
+  * \file lib/rpmfi.h
+  * Structure(s) used for file info tag sets.
+diff -ur rpm-5.4.10.orig/lib/rpmgi.h rpm-5.4.10/lib/rpmgi.h
+--- rpm-5.4.10.orig/lib/rpmgi.h	2012-09-09 13:54:23.000000000 +0200
++++ rpm-5.4.10/lib/rpmgi.h	2012-09-09 15:31:45.738361341 +0200
+@@ -8,9 +8,12 @@
+ #include <fts.h>
+ #include <argv.h>
+ #include <rpmtypes.h>
++#include <rpmiotypes.h>
+ #include <rpmds.h>
+ #include <rpmte.h>
+ #include <rpmts.h>
++#include <rpmtag.h>
++#include <rpmio.h>	/* XXX FD_t typedef */
+ 
+ /**
+  */
+diff -ur rpm-5.4.10.orig/rpmio/rpmiotypes.h rpm-5.4.10/rpmio/rpmiotypes.h
+--- rpm-5.4.10.orig/rpmio/rpmiotypes.h	2012-09-09 13:54:22.000000000 +0200
++++ rpm-5.4.10/rpmio/rpmiotypes.h	2012-09-09 14:27:26.585968142 +0200
+@@ -1,6 +1,9 @@
+ #ifndef _H_RPMIOTYPES_
+ #define	_H_RPMIOTYPES_
+ 
++#include <stdlib.h>	/* XXX NULL typedef */
++#include <sys/types.h>	/* XXX size_t typedef */
++
+ /** \ingroup rpmio
+  * \file rpmio/rpmiotypes.h
+  */
+diff -ur rpm-5.4.10.orig/rpmio/rpmmacro.h rpm-5.4.10/rpmio/rpmmacro.h
+--- rpm-5.4.10.orig/rpmio/rpmmacro.h	2012-09-09 13:54:22.000000000 +0200
++++ rpm-5.4.10/rpmio/rpmmacro.h	2012-09-09 14:29:08.622631207 +0200
+@@ -1,6 +1,9 @@
+ #ifndef _H_MACRO_
+ #define	_H_MACRO_
+ 
++#include <stdio.h>	/* XXX FILE * typedef */
++#include <sys/types.h>	/* XXX size_t typedef */
++
+ /** \ingroup rpmio
+  * \file rpmio/rpmmacro.h
+  */
+diff -ur rpm-5.4.10.orig/rpmdb/rpmns.h rpm-5.4.10/rpmdb/rpmns.h
+--- rpm-5.4.10.orig/rpmdb/rpmns.h	2012-09-09 13:54:22.000000000 +0200
++++ rpm-5.4.10/rpmdb/rpmns.h	2012-09-09 15:33:08.021691772 +0200
+@@ -1,6 +1,9 @@
+ #ifndef H_RPMNS
+ #define H_RPMNS
+ 
++#include <sys/types.h>	/* XXX size_t typedef */
++#include <rpmiotypes.h>
++
+ /** \ingroup rpmds
+  * \file lib/rpmns.h
+  * Structure(s) and routine(s) used for classifying and parsing names.
+diff -ur rpm-5.4.10.orig/lib/rpmps.h rpm-5.4.10/lib/rpmps.h
+--- rpm-5.4.10.orig/lib/rpmps.h	2012-09-09 13:54:23.000000000 +0200
++++ rpm-5.4.10/lib/rpmps.h	2012-09-09 14:47:02.782593316 +0200
+@@ -1,6 +1,9 @@
+ #ifndef H_RPMPS
+ #define H_RPMPS
+ 
++#include <stdio.h>	/* XXX FILE * typedef */
++#include <rpmiotypes.h>
++
+ /** \ingroup rpmps
+  * \file lib/rpmps.h
+  * Structures and prototypes used for an "rpmps" problem set.
+diff -ur rpm-5.4.10.orig/lib/rpmrc.h rpm-5.4.10/lib/rpmrc.h
+--- rpm-5.4.10.orig/lib/rpmrc.h	2012-09-09 13:54:23.000000000 +0200
++++ rpm-5.4.10/lib/rpmrc.h	2012-09-09 14:28:54.559298370 +0200
+@@ -1,6 +1,8 @@
+ #ifndef H_RPMRC
+ #define	H_RPMRC
+ 
++#include <stdio.h>	/* XXX FILE * typedef */
++
+ /**
+  * \file lib/rpmrc.h
+  */
+diff -ur rpm-5.4.10.orig/build/rpmspec.h rpm-5.4.10/build/rpmspec.h
+--- rpm-5.4.10.orig/build/rpmspec.h	2012-09-09 13:54:23.000000000 +0200
++++ rpm-5.4.10/build/rpmspec.h	2012-09-09 15:33:14.861691530 +0200
+@@ -6,9 +6,14 @@
+  *  The Spec and Package data structures used during build.
+  */
+ 
++#include <sys/types.h>	/* XXX size_t typedef */
++#include <rpmtypes.h>
++#include <rpmiotypes.h>
+ #include <rpmevr.h>
+ #include <rpmfi.h>	/* XXX rpmfi typedef */
+ #include <rpmcli.h>	/* XXX QVA_t typedef */
++#include <rpmtag.h>
++#include <rpmio.h>	/* XXX FD_t typedef */
+ 
+ /** \ingroup rpmbuild
+  */
+diff -ur rpm-5.4.10.orig/rpmio/rpmsw.h rpm-5.4.10/rpmio/rpmsw.h
+--- rpm-5.4.10.orig/rpmio/rpmsw.h	2012-09-09 13:54:22.000000000 +0200
++++ rpm-5.4.10/rpmio/rpmsw.h	2012-09-09 15:35:35.208353246 +0200
+@@ -1,6 +1,9 @@
+ #ifndef	H_RPMSW
+ #define	H_RPMSW
+ 
++#include <stdio.h>	/* XXX FILE * typedef */
++#include <sys/time.h>	/* XXX struct timeval typedef */
++
+ /** \ingroup rpmio
+  * \file rpmio/rpmsw.h
+  */
+diff -ur rpm-5.4.10.orig/rpmdb/rpmtag.h rpm-5.4.10/rpmdb/rpmtag.h
+--- rpm-5.4.10.orig/rpmdb/rpmtag.h	2012-09-09 13:54:22.000000000 +0200
++++ rpm-5.4.10/rpmdb/rpmtag.h	2012-09-09 14:26:15.429303984 +0200
+@@ -5,6 +5,7 @@
+  * \file rpmdb/rpmtag.h
+  */
+ 
++#include <stdint.h>	/* XXX unint32_t typedef */
+ #include <rpmiotypes.h>
+ #include <rpmsw.h>
+ 
+diff -ur rpm-5.4.10.orig/lib/rpmte.h rpm-5.4.10/lib/rpmte.h
+--- rpm-5.4.10.orig/lib/rpmte.h	2012-09-09 13:54:23.000000000 +0200
++++ rpm-5.4.10/lib/rpmte.h	2012-09-09 15:32:00.408360824 +0200
+@@ -5,7 +5,13 @@
+  * \file lib/rpmte.h
+  * Structures used for an "rpmte" transaction element.
+  */
++#include <stdint.h>	/* XXX unint32_t typedef */
++#include <sys/types.h>	/* XXX size_t typedef */
++#include <rpmtypes.h>
++#include <rpmiotypes.h>
+ #include <rpmfi.h>
++#include <rpmtag.h>
++#include <rpmio.h>	/* XXX FD_t typedef */
+ 
+ /**
+  */
+diff -ur rpm-5.4.10.orig/lib/rpmts.h rpm-5.4.10/lib/rpmts.h
+--- rpm-5.4.10.orig/lib/rpmts.h	2012-09-09 13:54:23.000000000 +0200
++++ rpm-5.4.10/lib/rpmts.h	2012-09-09 15:30:53.381696521 +0200
+@@ -6,9 +6,14 @@
+  * Structures and prototypes used for an "rpmts" transaction set.
+  */
+ 
+-#include "rpmps.h"
+-#include "rpmsw.h"
++#include <stdio.h>	/* XXX FILE * typedef */
++#include <stdint.h>	/* XXX unint32_t typedef */
++#include <rpmtypes.h>
++#include <rpmiotypes.h>
++#include <rpmps.h>
++#include <rpmsw.h>
+ #include <rpmpgp.h>		/* XXX pgpVSFlags */
++#include <rpmtag.h>
+ #if defined(_RPMTS_INTERNAL)
+ #include <rpmbag.h>
+ #endif
+diff -ur rpm-5.4.10.orig/lib/rpmversion.h rpm-5.4.10/lib/rpmversion.h
+--- rpm-5.4.10.orig/lib/rpmversion.h	2012-09-09 13:54:23.000000000 +0200
++++ rpm-5.4.10/lib/rpmversion.h	2012-09-09 14:29:18.352630865 +0200
+@@ -1,6 +1,8 @@
+ #ifndef __RPMVERSION_H__
+ #define __RPMVERSION_H__
+ 
++#include <stdint.h>	/* XXX unint32_t typedef */
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+diff -ur rpm-5.4.10.orig/rpmio/rpmzlog.h rpm-5.4.10/rpmio/rpmzlog.h
+--- rpm-5.4.10.orig/rpmio/rpmzlog.h	2012-09-09 13:54:22.000000000 +0200
++++ rpm-5.4.10/rpmio/rpmzlog.h	2012-09-09 14:29:32.625963694 +0200
+@@ -4,6 +4,7 @@
+ /** \ingroup rpmio
+  * \file rpmio/rpmzlog.h
+  */
++#include <stdio.h>	/* XXX FILE * typedef */
+ #include <sys/time.h>
+ 
+ /** trace log pointer */
+diff -ur rpm-5.4.10.orig/rpmio/yarn.h rpm-5.4.10/rpmio/yarn.h
+--- rpm-5.4.10.orig/rpmio/yarn.h	2012-09-09 13:54:22.000000000 +0200
++++ rpm-5.4.10/rpmio/yarn.h	2012-09-09 15:37:09.928349906 +0200
+@@ -111,6 +111,9 @@
+         handler will exit (set to NULL by default for no action)
+  */
+ 
++#include <sys/types.h>	/* XXX size_t typedef */
++#include <rpmiotypes.h>	/* XXX yarnLock typedef */
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/rpm.git/commitdiff/fa563337237db6101bcfd2ea2461bf591d1ed655



More information about the pld-cvs-commit mailing list