RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: rpm-5_1: rpm/ CHANGES rpm/lib/ rpmns.c

From: Jeff Johnson <jbj@rpm5.org>
Date: Sun 17 Aug 2008 - 18:06:51 CEST
Message-Id: <20080817160651.E1AD470F1A@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:51
  Branch: rpm-5_1                          Handle: 2008081716065100

  Modified files:           (Branch: rpm-5_1)
    rpm                     CHANGES
    rpm/lib                 rpmns.c

  Log:
    - WR: Permit configurable arch strings.

  Summary:
    Revision    Changes     Path
    1.2288.2.82 +1  -0      rpm/CHANGES
    1.22.2.1    +26 -3      rpm/lib/rpmns.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.2288.2.81 -r1.2288.2.82 CHANGES
  --- rpm/CHANGES	17 Aug 2008 16:04:58 -0000	1.2288.2.81
  +++ rpm/CHANGES	17 Aug 2008 16:06:51 -0000	1.2288.2.82
  @@ -1,4 +1,5 @@
   5.1.4 -> 5.1.5:
  +    - 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: db_tool: remove gcc whinings.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmns.c
  ============================================================================
  $ cvs diff -u -r1.22 -r1.22.2.1 rpmns.c
  --- rpm/lib/rpmns.c	2 Apr 2008 18:35:26 -0000	1.22
  +++ rpm/lib/rpmns.c	17 Aug 2008 16:06:51 -0000	1.22.2.1
  @@ -59,12 +59,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:51 2008
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.