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

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  [EMAIL PROTECTED]
  Module: rpm                              Date:   22-Sep-2008 04:35:58
  Branch: HEAD                             Handle: 2008092202355701

  Modified files:
    rpm                     CHANGES
    rpm/lib                 rpmds.c

  Log:
    - jbj: add rpmdsType() to name dependency sets status quo ante.

  Summary:
    Revision    Changes     Path
    1.2559      +1  -0      rpm/CHANGES
    2.104       +32 -21     rpm/lib/rpmds.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.2558 -r1.2559 CHANGES
  --- rpm/CHANGES       22 Sep 2008 02:12:02 -0000      1.2558
  +++ rpm/CHANGES       22 Sep 2008 02:35:57 -0000      1.2559
  @@ -1,5 +1,6 @@
   
   5.1.0 -> 5.2a0:
  +    - jbj: add rpmdsType() to name dependency sets status quo ante.
       - jbj: common approach to ensure triggers fire only once.
       - jbj: fire triggers from Provides: dependency set.
       - jbj: rpmio: add argiCmp and argiSort.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmds.c
  ============================================================================
  $ cvs diff -u -r2.103 -r2.104 rpmds.c
  --- rpm/lib/rpmds.c   21 Sep 2008 18:59:26 -0000      2.103
  +++ rpm/lib/rpmds.c   22 Sep 2008 02:35:58 -0000      2.104
  @@ -142,6 +142,30 @@
       /[EMAIL PROTECTED]@*/ return ds; /[EMAIL PROTECTED]@*/
   }
   
  +/**
  + * Return dependency set type string.
  + * @param tagN               dependency set tag
  + * @return           dependency set type string
  + */
  +static const char * rpmdsType(rpmTag tagN)
  +     /[EMAIL PROTECTED]/
  +{
  +    const char * Type;
  +
  +    /* XXX Preserve existing names in debugging messages. */
  +    switch (tagN) {
  +    default:                 Type = tagName(tagN);   break;
  +    case RPMTAG_PROVIDENAME: Type = "Provides";      break;
  +    case RPMTAG_REQUIRENAME: Type = "Requires";      break;
  +    case RPMTAG_CONFLICTNAME:        Type = "Conflicts";     break;
  +    case RPMTAG_OBSOLETENAME:        Type = "Obsoletes";     break;
  +    case RPMTAG_TRIGGERNAME: Type = "Triggers";      break;
  +    case RPMTAG_SUGGESTSNAME:        Type = "Suggests";      break;
  +    case RPMTAG_ENHANCESNAME:        Type = "Enhances";      break;
  +    }
  +    return Type;
  +}
  +
   rpmds rpmdsFree(rpmds ds)
   {
       if (ds == NULL)
  @@ -213,7 +237,7 @@
       HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
       rpmTag tagEVR, tagF;
       rpmds ds = NULL;
  -    const char * Type;
  +    const char * Type = NULL;
       const char ** N;
       rpmuint32_t Count;
       int xx;
  @@ -265,7 +289,8 @@
        break;
       }
   
  -    Type = tagName(tagN);
  +    if (Type == NULL)
  +     Type = rpmdsType(tagN);
   
       he->tag = tagN;
       xx = headerGet(h, he, 0);
  @@ -470,7 +495,7 @@
       if (tagN == RPMTAG_NAME)
        tagN = RPMTAG_PROVIDENAME;
   
  -    Type = tagName(tagN);
  +    Type = rpmdsType(tagN);
   
       he->tag = RPMTAG_EPOCH;
       xx = headerGet(h, he, 0);
  @@ -533,7 +558,7 @@
       rpmds ds = NULL;
       const char * Type;
   
  -    Type = tagName(tagN);
  +    Type = rpmdsType(tagN);
   
       ds = xcalloc(1, sizeof(*ds));
       ds->Type = Type;
  @@ -802,26 +827,12 @@
   
   void rpmdsNotify(rpmds ds, const char * where, int rc)
   {
  -    const char * Type;
  -
       if (!(ds != NULL && ds->i >= 0 && ds->i < (int)ds->Count))
        return;
  -    if (!(ds->Type != NULL && ds->DNEVR != NULL))
  +    if (ds->DNEVR == NULL)
        return;
   
  -    /* XXX Preserve existing names in debugging messages. */
  -    switch (ds->tagN) {
  -    default:                 Type = tagName(ds->tagN);       break;
  -    case RPMTAG_PROVIDENAME: Type = "Provides";              break;
  -    case RPMTAG_REQUIRENAME: Type = "Requires";              break;
  -    case RPMTAG_CONFLICTNAME:        Type = "Conflicts";             break;
  -    case RPMTAG_OBSOLETENAME:        Type = "Obsoletes";             break;
  -    case RPMTAG_TRIGGERNAME: Type = "Triggers";              break;
  -    case RPMTAG_SUGGESTSNAME:        Type = "Suggests";              break;
  -    case RPMTAG_ENHANCESNAME:        Type = "Enhances";              break;
  -    }
  -
  -    rpmlog(RPMLOG_DEBUG, "%9s: %-45s %-s %s\n", ds->Type,
  +    rpmlog(RPMLOG_DEBUG, "%9s: %-45s %-s %s\n", rpmdsType(ds->tagN),
                (!strcmp(ds->DNEVR, "cached") ? ds->DNEVR : ds->DNEVR+2),
                (rc ? _("NO ") : _("YES")),
                (where != NULL ? where : ""));
  @@ -2599,7 +2610,7 @@
   
   /[EMAIL PROTECTED]@*/
   if (_rpmds_debug < 0)
  -fprintf(stderr, "*** rpmdsMergePRCO(%p, %p) %s\n", context, ds, 
tagName(rpmdsTagN(ds)));
  +fprintf(stderr, "*** rpmdsMergePRCO(%p, %p) %s\n", context, ds, 
rpmdsType(rpmdsTagN(ds)));
   /[EMAIL PROTECTED]@*/
       switch(rpmdsTagN(ds)) {
       default:
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to