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:   10-Oct-2014 19:14:58
  Branch: rpm-5_4                          Handle: 2014101017145800

  Modified files:           (Branch: rpm-5_4)
    rpm/lib                 rpmfc.c

  Log:
    - rpmfc: Don't generate dependencies from files shipped as
    documentation (pld).

  Summary:
    Revision    Changes     Path
    1.75.2.22   +15 -17     rpm/lib/rpmfc.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmfc.c
  ============================================================================
  $ cvs diff -u -r1.75.2.21 -r1.75.2.22 rpmfc.c
  --- rpm/lib/rpmfc.c   29 Aug 2014 17:27:52 -0000      1.75.2.21
  +++ rpm/lib/rpmfc.c   10 Oct 2014 17:14:58 -0000      1.75.2.22
  @@ -784,6 +784,17 @@
       int xx;
       const char * defaultdocdir = NULL;
   
  +    /* Don't generate dependencies from files shipped as documentation */
  +    if (!rpmExpandNumeric("%{_generate_dependencies_from_docdir}")) {
  +     const char * defaultdocdir = rpmExpand("%{?_defaultdocdir}", NULL);
  +     if (defaultdocdir == NULL || *defaultdocdir == '\0')
  +         defaultdocdir = xstrdup("/usr/share/doc");
  +     xx = !strncmp(fn+fc->brlen, defaultdocdir, strlen(defaultdocdir));
  +     defaultdocdir = _free(defaultdocdir) ;
  +     if (xx)
  +         return 0;
  +    }
  +
       /* Extract dependencies only from files with executable bit set. */
       {        struct stat sb, * st = &sb;
        if (stat(fn, st) != 0)
  @@ -858,20 +869,10 @@
       (void) fclose(fp);
   
       if (fc->fcolor->vals[fc->ix] & RPMFC_PERL) {
  -     defaultdocdir = rpmExpand("%{?_defaultdocdir}", NULL);
  -     /* XXX coverity #1035723 */
  -     /* XXX coverity #1035883 */
  -     if (defaultdocdir == NULL || *defaultdocdir == '\0')  {
  -            defaultdocdir = _free(defaultdocdir);
  -            defaultdocdir = xstrdup("/usr/share/doc");
  -     }
  -
  -     if (strncmp(fn, defaultdocdir, strlen(defaultdocdir))) {
  -         if (fc->fcolor->vals[fc->ix] & RPMFC_MODULE)
  -             xx = rpmfcHelper(fc, 'P', "perl");
  -         if (is_executable || (fc->fcolor->vals[fc->ix] & RPMFC_MODULE))
  -             xx = rpmfcHelper(fc, 'R', "perl");
  -     }
  +     if (fc->fcolor->vals[fc->ix] & RPMFC_MODULE)
  +         xx = rpmfcHelper(fc, 'P', "perl");
  +     if (is_executable || (fc->fcolor->vals[fc->ix] & RPMFC_MODULE))
  +         xx = rpmfcHelper(fc, 'R', "perl");
       } else
       if (fc->fcolor->vals[fc->ix] & RPMFC_PYTHON) {
        xx = rpmfcHelper(fc, 'P', "python");
  @@ -941,9 +942,6 @@
        xx = rpmfcHelper(fc, 'R', "gstreamer");
       }
   
  -/*@-observertrans@*/
  -    defaultdocdir = _free(defaultdocdir) ;
  -/*@=observertrans@*/
       return 0;
   }
   
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to