RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  j...@rpm5.org
  Module: rpm                              Date:   01-Jun-2009 22:35:03
  Branch: HEAD                             Handle: 2009060120350200

  Modified files:
    rpm                     CHANGES
    rpm/rpmdb               header.c header_internal.h librpmdb.vers rpmtag.h

  Log:
    - header: add getter/setter for header parent.

  Summary:
    Revision    Changes     Path
    1.3011      +1  -0      rpm/CHANGES
    1.192       +22 -0      rpm/rpmdb/header.c
    1.55        +2  -0      rpm/rpmdb/header_internal.h
    1.68        +2  -0      rpm/rpmdb/librpmdb.vers
    1.64        +18 -0      rpm/rpmdb/rpmtag.h
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.3010 -r1.3011 CHANGES
  --- rpm/CHANGES       1 Jun 2009 17:52:44 -0000       1.3010
  +++ rpm/CHANGES       1 Jun 2009 20:35:02 -0000       1.3011
  @@ -1,5 +1,6 @@
   
   5.2b1 -> 5.3a1
  +    - jbj: header: add getter/setter for header parent.
       - jbj: add RPMSIGTAG_PADDING to force metadata header alignment in file.
       - jbj: save %pre/%post scriptlet's exit code and duration.
       - jbj: add header to rpmdb after, not before, %post is run.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/header.c
  ============================================================================
  $ cvs diff -u -r1.191 -r1.192 header.c
  --- rpm/rpmdb/header.c        27 May 2009 18:14:38 -0000      1.191
  +++ rpm/rpmdb/header.c        1 Jun 2009 20:35:02 -0000       1.192
  @@ -133,6 +133,7 @@
       h->origin = _free(h->origin);
       h->baseurl = _free(h->baseurl);
       h->digest = _free(h->digest);
  +    h->parent = _free(h->parent);
   
   /*...@-nullstate@*/
       if (_hdr_stats) {
  @@ -172,6 +173,7 @@
       h->origin = NULL;
       h->baseurl = NULL;
       h->digest = NULL;
  +    h->parent = NULL;
       h->rpmdb = NULL;
       memset(&h->sb, 0, sizeof(h->sb));
       h->instance = 0;
  @@ -981,6 +983,7 @@
       h->origin = NULL;
       h->baseurl = NULL;
       h->digest = NULL;
  +    h->parent = NULL;
       h->rpmdb = NULL;
       memset(&h->sb, 0, sizeof(h->sb));
       h->instance = 0;
  @@ -1158,6 +1161,20 @@
       return 0;
   }
   
  +const char * headerGetParent(Header h)
  +{
  +    return (h != NULL ? h->parent : NULL);
  +}
  +
  +int headerSetParent(Header h, const char * parent)
  +{
  +    if (h != NULL) {
  +     h->parent = _free(h->parent);
  +     h->parent = xstrdup(parent);
  +    }
  +    return 0;
  +}
  +
   const char * headerGetBaseURL(Header h)
   {
   /*...@-retexpose@*/
  @@ -1261,6 +1278,7 @@
       Header nh;
       void * uh;
       const char * origin = (h->origin != NULL ? xstrdup(h->origin) : NULL);
  +    const char * parent = (h->parent != NULL ? xstrdup(h->parent) : NULL);
       const char * baseurl = (h->baseurl != NULL ? xstrdup(h->baseurl) : NULL);
       const char * digest = (h->digest != NULL ? xstrdup(h->digest) : NULL);
       struct stat sb = h->sb;  /* structure assignment */
  @@ -1290,6 +1308,10 @@
        xx = headerSetOrigin(nh, origin);
        origin = _free(origin);
       }
  +    if (parent != NULL) {
  +     xx = headerSetParent(nh, parent);
  +     parent = _free(parent);
  +    }
       if (baseurl != NULL) {
        xx = headerSetBaseURL(nh, baseurl);
        baseurl = _free(baseurl);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/header_internal.h
  ============================================================================
  $ cvs diff -u -r1.54 -r1.55 header_internal.h
  --- rpm/rpmdb/header_internal.h       24 May 2009 23:30:27 -0000      1.54
  +++ rpm/rpmdb/header_internal.h       1 Jun 2009 20:35:02 -0000       1.55
  @@ -94,6 +94,8 @@
       const char * baseurl;    /*!< Header base URL (e.g. path or URL). */
   /*...@only@*/ /*...@null@*/
       const char * digest;     /*!< Header digest (from origin *.rpm file) */
  +/*...@only@*/ /*...@null@*/
  +    const char * parent;     /*!< Parent package (e.g. parent NVRA) */
   /*...@null@*/
       void * rpmdb;            /*!< rpmdb pointer (or NULL). */
       struct stat sb;          /*!< Header stat(2) (from origin *.rpm file) */
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/librpmdb.vers
  ============================================================================
  $ cvs diff -u -r1.67 -r1.68 librpmdb.vers
  --- rpm/rpmdb/librpmdb.vers   24 May 2009 23:30:27 -0000      1.67
  +++ rpm/rpmdb/librpmdb.vers   1 Jun 2009 20:35:02 -0000       1.68
  @@ -52,6 +52,8 @@
       headerGetMagic;
       headerGetOrigin;
       headerSetOrigin;
  +    headerGetParent;
  +    headerSetParent;
       headerGetEndOff;
       headerSetEndOff;
       headerGetStartOff;
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/rpmtag.h
  ============================================================================
  $ cvs diff -u -r1.63 -r1.64 rpmtag.h
  --- rpm/rpmdb/rpmtag.h        1 Jun 2009 17:52:44 -0000       1.63
  +++ rpm/rpmdb/rpmtag.h        1 Jun 2009 20:35:02 -0000       1.64
  @@ -1005,6 +1005,24 @@
        /*...@modifies h @*/;
   
   /** \ingroup header
  + * Return header parent identifier (e.g parent's NVRA).
  + * @param h          header
  + * @return           header parent
  + */
  +/*...@observer@*/ /*...@null@*/
  +const char * headerGetParent(/*...@null@*/ Header h)
  +     /*...@*/;
  +
  +/** \ingroup header
  + * Store header parent (e.g parent's NVRA).
  + * @param h          header
  + * @param parent     new header parent
  + * @return           0 always
  + */
  +int headerSetParent(/*...@null@*/ Header h, const char * parent)
  +     /*...@modifies h @*/;
  +
  +/** \ingroup header
    * Return header base URL (e.g path or URL).
    * @param h          header
    * @return           header origin
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to