RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: rpm/ CHANGES rpm/rpmdb/ rpmns.c

From: Jeff Johnson <jbj@rpm5.org>
Date: Sun 17 Aug 2008 - 18:06:13 CEST
Message-Id: <20080817160613.E8E7970EC6@rpm5.org>
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  jbj@rpm5.org
  Module: rpm                              Date:   17-Aug-2008 18:06:13
  Branch: HEAD                             Handle: 2008081716061300

  Modified files:
    rpm                     CHANGES
    rpm/rpmdb               rpmns.c

  Log:
    - WR: Permit configurable arch strings.

  Summary:
    Revision    Changes     Path
    1.2517      +1  -0      rpm/CHANGES
    1.9         +26 -3      rpm/rpmdb/rpmns.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.2516 -r1.2517 CHANGES
  --- rpm/CHANGES	17 Aug 2008 16:04:00 -0000	1.2516
  +++ rpm/CHANGES	17 Aug 2008 16:06:13 -0000	1.2517
  @@ -1,5 +1,6 @@
   
   5.1.0 -> 5.2a0:
  +    - jbj: WR: Permit configurable arch strings.
       - jbj: WR: Use %{_host_vendor} and %{_host_os} for platform.
       - jbj: WR: fakeroot maps devices to files. avoid /dev/* in checkfiles.
       - jbj: lua: don't exit chroot if already within running script.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/rpmns.c
  ============================================================================
  $ cvs diff -u -r1.8 -r1.9 rpmns.c
  --- rpm/rpmdb/rpmns.c	3 Aug 2008 19:59:09 -0000	1.8
  +++ rpm/rpmdb/rpmns.c	17 Aug 2008 16:06:13 -0000	1.9
  @@ -62,12 +62,35 @@
   
   nsType rpmnsArch(const char * str)
   {
  +    nsType rc = RPMNS_TYPE_UNKNOWN;
       const char ** av;
  +
  +#if defined(RPM_VENDOR_WINDRIVER)
  +    const char * known_arch = rpmExpand("%{?_known_arch}", NULL);
  +    const char *p, *pe, *t;
  +    for (p = pe = known_arch ; rc == RPMNS_TYPE_UNKNOWN && pe && *pe ; ) {
  +	while (*p && xisspace(*p)) p++;
  +	pe = p ; while (*pe && !xisspace(*pe)) pe++;
  +	if (p == pe)
  +	    break;
  +	t = strndup(p, (pe - p));
  +	p = pe;
  +	if (!strcmp(str, t))
  +	    rc = RPMNS_TYPE_ARCH;
  +	t = _free(t);
  +    }
  +    known_arch = _free(known_arch);
  +#endif
  +
  +    if (rc == RPMNS_TYPE_UNKNOWN)
       for (av = rpmnsArches; *av != NULL; av++) {
  -	if (!strcmp(str, *av))
  -	    return RPMNS_TYPE_ARCH;
  +	if (strcmp(str, *av))
  +	    continue;
  +	rc = RPMNS_TYPE_ARCH;
  +	break;
       }
  -    return RPMNS_TYPE_UNKNOWN;
  +
  +    return rc;
   }
   
   /**
  @@ .
Received on Sun Aug 17 18:06:13 2008
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.