RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: rpm/ CHANGES rpm/lib/ rpmfc.c

From: Mark Hatle <fray@rpm5.org>
Date: Tue 03 Jul 2007 - 19:49:14 CEST
Message-Id: <20070703174914.3146B3484ED@rpm5.org>
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Mark Hatle
  Root:   /v/rpm/cvs                       Email:  fray@rpm5.org
  Module: rpm                              Date:   03-Jul-2007 19:49:14
  Branch: HEAD                             Handle: 2007070318491301

  Modified files:
    rpm                     CHANGES
    rpm/lib                 rpmfc.c

  Log:
    When the rpmfc_magic_path is not set or is empty, act as if there is
    no rpm magic and fall back to the behavior if HAVE_MAGIC_H is not
    configured.

  Summary:
    Revision    Changes     Path
    1.1428      +1  -0      rpm/CHANGES
    1.6         +7  -1      rpm/lib/rpmfc.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1427 -r1.1428 CHANGES
  --- rpm/CHANGES	3 Jul 2007 15:25:36 -0000	1.1427
  +++ rpm/CHANGES	3 Jul 2007 17:49:13 -0000	1.1428
  @@ -1,4 +1,5 @@
   4.5 -> 5.0:
  +    - mgh: When the rpmfc_magic_path is not set or can't be expanded, act as if there is no magic file
       - mgh: add lib32 as a valid directory in rpmfc
       - mgh: change uses of @USRLIBRPM@ to %{_usrlibrpm} (needed for runtime relocation)
       - mgh: ensure the rpm python module is linked the same as the rest of RPM
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmfc.c
  ============================================================================
  $ cvs diff -u -r1.5 -r1.6 rpmfc.c
  --- rpm/lib/rpmfc.c	3 Jul 2007 15:25:36 -0000	1.5
  +++ rpm/lib/rpmfc.c	3 Jul 2007 17:49:14 -0000	1.6
  @@ -886,6 +886,8 @@
       int xx;
       int skipping;
   
  +/* Make sure something didn't go wrong previously! */
  +assert(fc->fn != NULL);
       /* Generate package and per-file dependencies. */
       for (fc->ix = 0; fc->fn[fc->ix] != NULL; fc->ix++) {
   
  @@ -994,7 +996,7 @@
   #ifdef HAVE_MAGIC_H
       magicfile = rpmExpand("%{?_rpmfc_magic_path}", NULL);
       if (magicfile == NULL || *magicfile == '\0' || *magicfile == '%')
  -	goto exit;
  +	magicfile = _free(magicfile);
   #endif
   
       fc->nfiles = argvCount(argv);
  @@ -1008,6 +1010,7 @@
       xx = argvAdd(&fc->cdict, "directory");
   
   #ifdef HAVE_MAGIC_H
  +  if (magicfile) {
       ms = magic_open(msflags);
       if (ms == NULL) {
   	xx = RPMERR_EXEC;
  @@ -1023,6 +1026,7 @@
   		magicfile, magic_error(ms));
   assert(xx != -1);	/* XXX figger a proper return path. */
       }
  +  }
   #endif
   
       for (fc->ix = 0; fc->ix < fc->nfiles; fc->ix++) {
  @@ -1083,6 +1087,7 @@
   		ftype = "";
   	    else
   #ifdef HAVE_MAGIC_H
  +  if (magicfile) {
   		ftype = magic_file(ms, s);
   
   	    if (ftype == NULL) {
  @@ -1091,6 +1096,7 @@
   			s, mode, magic_error(ms));
   assert(ftype != NULL);	/* XXX figger a proper return path. */
   	    }
  +  }
   #else
   		ftype = "";
   #endif
  @@ .
Received on Tue Jul 3 19:49:14 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.