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:   04-Nov-2007 21:51:27
  Branch: HEAD                             Handle: 2007110420512600

  Modified files:
    rpm                     CHANGES
    rpm/build               files.c rpmspec.h

  Log:
    - jbj: finish bulldozing headerAddEntry throughout rpmbuild.

  Summary:
    Revision    Changes     Path
    1.1772      +1  -0      rpm/CHANGES
    1.282       +202 -98    rpm/build/files.c
    2.62        +1  -1      rpm/build/rpmspec.h
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1771 -r1.1772 CHANGES
  --- rpm/CHANGES       4 Nov 2007 19:37:01 -0000       1.1771
  +++ rpm/CHANGES       4 Nov 2007 20:51:26 -0000       1.1772
  @@ -1,4 +1,5 @@
   4.5 -> 5.0:
  +    - jbj: finish bulldozing headerAddEntry throughout rpmbuild.
       - jbj: start bulldozing headerAddEntry throughout rpmbuild.
       - jbj: use HAE_t for signature tags, change int_32 to uint32_t where 
needed.
       - rpm.org: rpmhash.c: use size_t for keySize.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/build/files.c
  ============================================================================
  $ cvs diff -u -r1.281 -r1.282 files.c
  --- rpm/build/files.c 4 Nov 2007 01:29:23 -0000       1.281
  +++ rpm/build/files.c 4 Nov 2007 20:51:26 -0000       1.282
  @@ -1252,11 +1252,13 @@
        he->p.ui32p = dirIndexes;
        he->c = count;
        xx = hae(h, he, 0);
  +
        he->tag = RPMTAG_BASENAMES;
        he->t = RPM_STRING_ARRAY_TYPE;
        he->p.argv = baseNames;
        he->c = count;
        xx = hae(h, he, 0);
  +
        he->tag = RPMTAG_DIRNAMES;
        he->t = RPM_STRING_ARRAY_TYPE;
        he->p.argv = dirNames;
  @@ -1286,7 +1288,11 @@
        /[EMAIL PROTECTED] h, *fip, fl->processingFailed, fl->fileList,
                rpmGlobalMacroContext, fileSystem, internalState @*/
   {
  +    HAE_t hae = headerAddExtension;
  +    HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
       const char * apath;
  +    uint16_t ui16;
  +    uint32_t ui32;
       int _addDotSlash = !isSrc;
       int apathlen = 0;
       int dpathlen = 0;
  @@ -1382,67 +1388,95 @@
         * compressed file list write before we write the actual package to
         * disk.
         */
  -     (void) headerAddOrAppendEntry(h, RPMTAG_OLDFILENAMES, 
RPM_STRING_ARRAY_TYPE,
  -                            &(flp->fileURL), 1);
  +     he->tag = RPMTAG_OLDFILENAMES;
  +     he->t = RPM_STRING_ARRAY_TYPE;
  +     he->p.argv = &flp->fileURL;
  +     he->c = 1;
  +     he->append = 1;
  +     xx = hae(h, he, 0);
  +     he->append = 0;
   
   /[EMAIL PROTECTED]@*/
  -      if (sizeof(flp->fl_size) != sizeof(uint32_t)) {
  -     uint32_t psize = (uint32_t)flp->fl_size;
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILESIZES, RPM_INT32_TYPE,
  -                            &(psize), 1);
  -      } else {
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILESIZES, RPM_INT32_TYPE,
  -                            &(flp->fl_size), 1);
  -      }
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILEUSERNAME, 
RPM_STRING_ARRAY_TYPE,
  -                            &(flp->uname), 1);
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILEGROUPNAME, 
RPM_STRING_ARRAY_TYPE,
  -                            &(flp->gname), 1);
  -      if (sizeof(flp->fl_mtime) != sizeof(uint32_t)) {
  -     uint32_t mtime = (uint32_t)flp->fl_mtime;
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILEMTIMES, RPM_INT32_TYPE,
  -                            &(mtime), 1);
  -      } else {
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILEMTIMES, RPM_INT32_TYPE,
  -                            &(flp->fl_mtime), 1);
  -      }
  -      if (sizeof(flp->fl_mode) != sizeof(uint16_t)) {
  -     uint16_t pmode = (uint16_t)flp->fl_mode;
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILEMODES, RPM_INT16_TYPE,
  -                            &(pmode), 1);
  -      } else {
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILEMODES, RPM_INT16_TYPE,
  -                            &(flp->fl_mode), 1);
  -      }
  -      if (sizeof(flp->fl_rdev) != sizeof(uint16_t)) {
  -     uint16_t prdev = (uint16_t)flp->fl_rdev;
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILERDEVS, RPM_INT16_TYPE,
  -                            &(prdev), 1);
  -      } else {
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILERDEVS, RPM_INT16_TYPE,
  -                            &(flp->fl_rdev), 1);
  -      }
  -      if (sizeof(flp->fl_dev) != sizeof(uint32_t)) {
  -     uint32_t pdevice = (uint32_t)flp->fl_dev;
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILEDEVICES, RPM_INT32_TYPE,
  -                            &(pdevice), 1);
  -      } else {
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILEDEVICES, RPM_INT32_TYPE,
  -                            &(flp->fl_dev), 1);
  -      }
  -      if (sizeof(flp->fl_ino) != sizeof(uint32_t)) {
  -     uint32_t ino = (uint32_t)flp->fl_ino;
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILEINODES, RPM_INT32_TYPE,
  -                             &(ino), 1);
  -      } else {
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILEINODES, RPM_INT32_TYPE,
  -                             &(flp->fl_ino), 1);
  -      }
  +     ui32 = flp->fl_size;
  +     he->tag = RPMTAG_FILESIZES;
  +     he->t = RPM_INT32_TYPE;
  +     he->p.ui32p = &ui32;
  +     he->c = 1;
  +     he->append = 1;
  +     xx = hae(h, he, 0);
  +     he->append = 0;
  +
  +     he->tag = RPMTAG_FILEUSERNAME;
  +     he->t = RPM_STRING_ARRAY_TYPE;
  +     he->p.argv = &flp->uname;
  +     he->c = 1;
  +     he->append = 1;
  +     xx = hae(h, he, 0);
  +     he->append = 0;
  +
  +     he->tag = RPMTAG_FILEGROUPNAME;
  +     he->t = RPM_STRING_ARRAY_TYPE;
  +     he->p.argv = &flp->gname;
  +     he->c = 1;
  +     he->append = 1;
  +     xx = hae(h, he, 0);
  +     he->append = 0;
  +
  +     ui32 = flp->fl_mtime;
  +     he->tag = RPMTAG_FILEMTIMES;
  +     he->t = RPM_INT32_TYPE;
  +     he->p.ui32p = &ui32;
  +     he->c = 1;
  +     he->append = 1;
  +     xx = hae(h, he, 0);
  +     he->append = 0;
  +
  +     ui16 = flp->fl_mode;
  +     he->tag = RPMTAG_FILEMODES;
  +     he->t = RPM_INT16_TYPE;
  +     he->p.ui16p = &ui16;
  +     he->c = 1;
  +     he->append = 1;
  +     xx = hae(h, he, 0);
  +     he->append = 0;
  +
  +     ui16 = flp->fl_rdev;
  +     he->tag = RPMTAG_FILERDEVS;
  +     he->t = RPM_INT16_TYPE;
  +     he->p.ui16p = &ui16;
  +     he->c = 1;
  +     he->append = 1;
  +     xx = hae(h, he, 0);
  +     he->append = 0;
  +
  +     ui32 = flp->fl_dev;
  +     he->tag = RPMTAG_FILEDEVICES;
  +     he->t = RPM_INT32_TYPE;
  +     he->p.ui32p = &ui32;
  +     he->c = 1;
  +     he->append = 1;
  +     xx = hae(h, he, 0);
  +     he->append = 0;
  +
  +     ui32 = flp->fl_ino;
  +     he->tag = RPMTAG_FILEINODES;
  +     he->t = RPM_INT32_TYPE;
  +     he->p.ui32p = &ui32;
  +     he->c = 1;
  +     he->append = 1;
  +     xx = hae(h, he, 0);
  +     he->append = 0;
  +
   /[EMAIL PROTECTED]@*/
   
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILELANGS, 
RPM_STRING_ARRAY_TYPE,
  -                            &(flp->langs),  1);
  -     
  +     he->tag = RPMTAG_FILELANGS;
  +     he->t = RPM_STRING_ARRAY_TYPE;
  +     he->p.argv = &flp->langs;
  +     he->c = 1;
  +     he->append = 1;
  +     xx = hae(h, he, 0);
  +     he->append = 0;
  +
         { static uint32_t source_file_dalgo = 0;
        static uint32_t binary_file_dalgo = 0;
        static int oneshot = 0;
  @@ -1483,10 +1517,23 @@
        if (S_ISREG(flp->fl_mode))
            (void) dodigest(dalgo, flp->diskURL, (unsigned char *)buf, 1, NULL);
        s = buf;
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILEDIGESTS, 
RPM_STRING_ARRAY_TYPE,
  -                            &s, 1);
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILEDIGESTALGOS, RPM_INT32_TYPE,
  -                            &dalgo, 1);
  +
  +     he->tag = RPMTAG_FILEDIGESTS;
  +     he->t = RPM_STRING_ARRAY_TYPE;
  +     he->p.argv = &s;
  +     he->c = 1;
  +     he->append = 1;
  +     xx = hae(h, he, 0);
  +     he->append = 0;
  +
  +     ui32 = dalgo;
  +     he->tag = RPMTAG_FILEDIGESTALGOS;
  +     he->t = RPM_INT32_TYPE;
  +     he->p.ui32p = &ui32;
  +     he->c = 1;
  +     he->append = 1;
  +     xx = hae(h, he, 0);
  +     he->append = 0;
         }
        
        buf[0] = '\0';
  @@ -1508,15 +1555,26 @@
            }
        }
        s = buf;
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILELINKTOS, 
RPM_STRING_ARRAY_TYPE,
  -                            &s, 1);
  -     
  +     he->tag = RPMTAG_FILELINKTOS;
  +     he->t = RPM_STRING_ARRAY_TYPE;
  +     he->p.argv = &s;
  +     he->c = 1;
  +     he->append = 1;
  +     xx = hae(h, he, 0);
  +     he->append = 0;
  +
        if (flp->flags & RPMFILE_GHOST) {
            flp->verifyFlags &= ~(RPMVERIFY_MD5 | RPMVERIFY_FILESIZE |
                                RPMVERIFY_LINKTO | RPMVERIFY_MTIME);
        }
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILEVERIFYFLAGS, RPM_INT32_TYPE,
  -                            &(flp->verifyFlags), 1);
  +     ui32 = flp->verifyFlags;
  +     he->tag = RPMTAG_FILEVERIFYFLAGS;
  +     he->t = RPM_INT32_TYPE;
  +     he->p.ui32p = &ui32;
  +     he->c = 1;
  +     he->append = 1;
  +     xx = hae(h, he, 0);
  +     he->append = 0;
        
        if (!isSrc && isDoc(fl, flp->fileURL))
            flp->flags |= RPMFILE_DOC;
  @@ -1524,18 +1582,30 @@
        if (S_ISDIR(flp->fl_mode))
            flp->flags &= ~(RPMFILE_CONFIG|RPMFILE_DOC);
   
  -     (void) headerAddOrAppendEntry(h, RPMTAG_FILEFLAGS, RPM_INT32_TYPE,
  -                            &(flp->flags), 1);
  -
  +     ui32 = flp->flags;
  +     he->tag = RPMTAG_FILEFLAGS;
  +     he->t = RPM_INT32_TYPE;
  +     he->p.ui32p = &ui32;
  +     he->c = 1;
  +     he->append = 1;
  +     xx = hae(h, he, 0);
  +     he->append = 0;
  +     
        /* Add file security context to package. */
        {
  -         mode_t fmode;
            static char *nocon = "";
  -         fmode = (uint16_t)flp->fl_mode;
  +         mode_t fmode = flp->fl_mode;
            if (matchpathcon(flp->fileURL, fmode, &scon) || scon == NULL)
                scon = nocon;
  -         (void) headerAddOrAppendEntry(h, RPMTAG_FILECONTEXTS, 
RPM_STRING_ARRAY_TYPE,
  -                            &scon, 1);
  +
  +         he->tag = RPMTAG_FILECONTEXTS;
  +         he->t = RPM_STRING_ARRAY_TYPE;
  +         he->p.argv = (const char **)&scon;  /* XXX NOCAST */
  +         he->c = 1;
  +         he->append = 1;
  +         xx = hae(h, he, 0);
  +         he->append = 0;
  +
            if (scon != nocon)
                freecon(scon);
        }
  @@ -1544,9 +1614,15 @@
        matchpathcon_fini();
       sxfn = _free(sxfn);
   
  -    (void) headerAddEntry(h, RPMTAG_SIZE, RPM_INT32_TYPE,
  -                &(fl->totalFileSize), 1);
  -
  +    ui32 = fl->totalFileSize;
  +    he->tag = RPMTAG_SIZE;
  +    he->t = RPM_INT32_TYPE;
  +    he->p.ui32p = &ui32;
  +    he->c = 1;
  +    he->append = 1;
  +    xx = hae(h, he, 0);
  +    he->append = 0;
  +     
       compressFilelist(h);
   
     { int scareMem = 0;
  @@ -1991,6 +2067,8 @@
                check_fileList, rpmGlobalMacroContext,
                fileSystem, internalState @*/
   {
  +    HAE_t hae = headerAddExtension;
  +    HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
       const char * buildURL = "%{_builddir}/%{?buildsubdir}/";
       const char * fn = NULL;
       const char * apkt = NULL;
  @@ -2036,8 +2114,13 @@
       }
   /[EMAIL PROTECTED]@*/
   
  -    xx = headerAddOrAppendEntry(pkg->header, tag,
  -             RPM_STRING_ARRAY_TYPE, &apkt, 1);
  +    he->tag = tag;
  +    he->t = RPM_STRING_ARRAY_TYPE;
  +    he->p.argv = &apkt;
  +    he->c = 1;
  +    he->append = 1;
  +    xx = hae(pkg->header, he, 0);
  +    he->append = 0;
   
       rc = 0;
       if (absolute)
  @@ -2437,22 +2520,21 @@
   
   int initSourceHeader(Spec spec, StringBuf *sfp)
   {
  +    HAE_t hae = headerAddExtension;
  +    HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
       HeaderIterator hi;
  -    rpmTag tag;
  -    rpmTagType type;
  -    rpmTagCount count;
  -    const void * ptr;
       StringBuf sourceFiles;
       struct Source *srcPtr;
  +    int xx;
   
       /* Only specific tags are added to the source package header */
       /[EMAIL PROTECTED]@*/
     if (!spec->sourceHdrInit) {
       for (hi = headerInitIterator(spec->packages->header);
  -     headerNextIterator(hi, &tag, &type, &ptr, &count);
  -     ptr = headerFreeData(ptr, type))
  +     headerNextIterator(hi, &he->tag, &he->t, &he->p.ptr, &he->c);
  +     he->p.ptr = headerFreeData(he->p.ptr, he->t))
       {
  -     switch (tag) {
  +     switch (he->tag) {
        case RPMTAG_NAME:
        case RPMTAG_VERSION:
        case RPMTAG_RELEASE:
  @@ -2475,8 +2557,8 @@
        case RPMTAG_GIF:
        case RPMTAG_XPM:
        case HEADER_I18NTABLE:
  -         if (ptr)
  -             (void)headerAddEntry(spec->sourceHeader, tag, type, ptr, count);
  +         if (he->p.ptr)
  +             xx = hae(spec->sourceHeader, he, 0);
            /[EMAIL PROTECTED]@*/ break;
        default:
            /* do not copy */
  @@ -2487,9 +2569,11 @@
       /[EMAIL PROTECTED]@*/
   
       if (spec->BANames && spec->BACount > 0) {
  -     (void) headerAddEntry(spec->sourceHeader, RPMTAG_BUILDARCHS,
  -                    RPM_STRING_ARRAY_TYPE,
  -                    spec->BANames, spec->BACount);
  +     he->tag = RPMTAG_BUILDARCHS;
  +     he->t = RPM_STRING_ARRAY_TYPE;
  +     he->p.argv = spec->BANames;
  +     he->c = spec->BACount;
  +     xx = hae(spec->sourceHeader, he, 0);
       }
     }
   
  @@ -2513,19 +2597,39 @@
            continue;
   
        if (srcPtr->flags & RPMFILE_SOURCE) {
  -         (void) headerAddOrAppendEntry(spec->sourceHeader, RPMTAG_SOURCE,
  -                                RPM_STRING_ARRAY_TYPE, &srcPtr->source, 1);
  +         he->tag = RPMTAG_SOURCE;
  +         he->t = RPM_STRING_ARRAY_TYPE;
  +         he->p.argv = &srcPtr->source;
  +         he->c = 1;
  +         he->append = 1;
  +         xx = hae(spec->sourceHeader, he, 0);
  +         he->append = 0;
            if (srcPtr->flags & RPMFILE_GHOST) {
  -             (void) headerAddOrAppendEntry(spec->sourceHeader, 
RPMTAG_NOSOURCE,
  -                                    RPM_INT32_TYPE, &srcPtr->num, 1);
  +             he->tag = RPMTAG_NOSOURCE;
  +             he->t = RPM_INT32_TYPE;
  +             he->p.ui32p = &srcPtr->num;
  +             he->c = 1;
  +             he->append = 1;
  +             xx = hae(spec->sourceHeader, he, 0);
  +             he->append = 0;
            }
        }
        if (srcPtr->flags & RPMFILE_PATCH) {
  -         (void) headerAddOrAppendEntry(spec->sourceHeader, RPMTAG_PATCH,
  -                                RPM_STRING_ARRAY_TYPE, &srcPtr->source, 1);
  +         he->tag = RPMTAG_PATCH;
  +         he->t = RPM_STRING_ARRAY_TYPE;
  +         he->p.argv = &srcPtr->source;
  +         he->c = 1;
  +         he->append = 1;
  +         xx = hae(spec->sourceHeader, he, 0);
  +         he->append = 0;
            if (srcPtr->flags & RPMFILE_GHOST) {
  -             (void) headerAddOrAppendEntry(spec->sourceHeader, 
RPMTAG_NOPATCH,
  -                                    RPM_INT32_TYPE, &srcPtr->num, 1);
  +             he->tag = RPMTAG_NOPATCH;
  +             he->t = RPM_INT32_TYPE;
  +             he->p.ui32p = &srcPtr->num;
  +             he->c = 1;
  +             he->append = 1;
  +             xx = hae(spec->sourceHeader, he, 0);
  +             he->append = 0;
            }
        }
       }
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/build/rpmspec.h
  ============================================================================
  $ cvs diff -u -r2.61 -r2.62 rpmspec.h
  --- rpm/build/rpmspec.h       4 Nov 2007 19:37:02 -0000       2.61
  +++ rpm/build/rpmspec.h       4 Nov 2007 20:51:26 -0000       2.62
  @@ -40,7 +40,7 @@
   /[EMAIL PROTECTED]@*/
       const char * source;     /* Pointer into fullSource */
       int flags;
  -    int num;
  +    uint32_t num;
   /[EMAIL PROTECTED]@*/
       struct Source * next;
   };
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to