OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /v/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: rpm-src                          Date:   13-Sep-2006 21:51:20
  Branch: HEAD                             Handle: 2006091320511801

  Modified files:
    rpm-src/OpenPKG         do-assemble.cfg do-assemble.pl
    rpm-src/lib             psm.c

  Log:
    integrate latest RPM hack

  Summary:
    Revision    Changes     Path
    1.11        +16 -8      rpm-src/OpenPKG/do-assemble.cfg
    1.3         +3  -3      rpm-src/OpenPKG/do-assemble.pl
    1.3         +20 -0      rpm-src/lib/psm.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm-src/OpenPKG/do-assemble.cfg
  ============================================================================
  $ cvs diff -u -r1.10 -r1.11 do-assemble.cfg
  --- rpm-src/OpenPKG/do-assemble.cfg   8 Jun 2005 13:16:19 -0000       1.10
  +++ rpm-src/OpenPKG/do-assemble.cfg   13 Sep 2006 19:51:19 -0000      1.11
  @@ -40,10 +40,11 @@
   PATCHED popt/configure                rpm.patch.regen 
   PATCHED db3/configure                 rpm.patch.porting 
   PATCHED lib/fs.c                      rpm.patch.porting 
  -PATCHED lib/psm.c:+1                  rpm.patch.bugfix 
  -PATCHED lib/psm.c:+2-3                rpm.patch.bugfix 
  -PATCHED lib/psm.c:+4-5                rpm.patch.bugfix 
  -PATCHED lib/psm.c:+6                  rpm.patch.bugfix 
  +PATCHED lib/psm.c:+1-3                rpm.patch.feature 
  +PATCHED lib/psm.c:+4                  rpm.patch.bugfix 
  +PATCHED lib/psm.c:+5-6                rpm.patch.bugfix 
  +PATCHED lib/psm.c:+7-8                rpm.patch.bugfix 
  +PATCHED lib/psm.c:+9                  rpm.patch.bugfix 
   PATCHED lib/rpmrc.c                   rpm.patch.feature 
   PATCHED lib/query.c                   rpm.patch.feature 
   PATCHED macros.in                     rpm.patch.feature 
  @@ -298,14 +299,21 @@
   COMMENT lib/fs.c {
       Add support for BSD getmntinfo(3).
   }
  -COMMENT lib/psm.c:+1 {
  +COMMENT lib/psm.c:+1-3 {
  +    If running as "susr", do not unpack source RPM packages with "susr"
  +    file ownerships as the OpenPKG Set-UID wrapper switches from "musr"
  +    to "susr" on "openpkg rpm -Uvh *.src.rpm". As a result the installed
  +    files could be never removed again by "musr". It is more consistent
  +    to always unpack as "musr" if possible.
  +}
  +COMMENT lib/psm.c:+4 {
       Fix filedescriptor leakage.
   }
  -COMMENT lib/psm.c:+2-3 {
  +COMMENT lib/psm.c:+5-6 {
       Fix trigger argument passing. For more details see RPM BugDB under:
       http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=100509
   }
  -COMMENT lib/psm.c:+4-5 {
  +COMMENT lib/psm.c:+7-8 {
       Make sure RPM does not try to set file owner/group on files during
       installation of _source_ RPMs. Instead, let it use the current
       run-time owner/group, because most of the time the owner/group in
  @@ -313,7 +321,7 @@
       the package author system) is not existing on the target system, of
       course.
   }
  -COMMENT lib/psm.c:+6 {
  +COMMENT lib/psm.c:+9 {
       Fix --justdb operation by consistently use the same rootDir checks
       RPM uses everywhere else, too.
   }
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm-src/OpenPKG/do-assemble.pl
  ============================================================================
  $ cvs diff -u -r1.2 -r1.3 do-assemble.pl
  --- rpm-src/OpenPKG/do-assemble.pl    6 Jun 2005 15:53:04 -0000       1.2
  +++ rpm-src/OpenPKG/do-assemble.pl    13 Sep 2006 19:51:19 -0000      1.3
  @@ -1,6 +1,6 @@
   ##
   ##  assemble.pl -- OpenPKG Source and Patch Assembling Tool
  -##  Copyright (c) 1998-2005 Ralf S. Engelschall <[EMAIL PROTECTED]>
  +##  Copyright (c) 1998-2006 Ralf S. Engelschall <[EMAIL PROTECTED]>
   ##
   
   require 5;
  @@ -66,8 +66,8 @@
       print OUT <<"EOT";
   ##
   ##  $file -- Annotated OpenPKG RPM Patch file
  -##  Copyright (c) 2000-2005 OpenPKG Foundation e.V. <http://openpkg.net/>
  -##  Copyright (c) 2000-2005 Ralf S. Engelschall <http://engelschall.com/>
  +##  Copyright (c) 2000-2006 OpenPKG Foundation e.V. <http://openpkg.net/>
  +##  Copyright (c) 2000-2006 Ralf S. Engelschall <http://engelschall.com/>
   ##
   ##  This file assembles changes to existing RPM source files between
   ##  the original RedHat RPM and the OpenPKG RPM variant. It can be
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm-src/lib/psm.c
  ============================================================================
  $ cvs diff -u -r1.2 -r1.3 psm.c
  --- rpm-src/lib/psm.c 22 Jan 2004 21:42:23 -0000      1.2
  +++ rpm-src/lib/psm.c 13 Sep 2006 19:51:18 -0000      1.3
  @@ -314,6 +314,20 @@
   
       fi->uid = getuid();
       fi->gid = getgid();
  +#ifdef OPENPKG
  +    if (fi->uid == 0) {
  +        char *muid_str;
  +        char *mgid_str;
  +        uid_t *muid;
  +        gid_t *mgid;
  +        if ((muid_str = rpmExpand("%{l_muid}", NULL)) != NULL)
  +            if ((muid = (uid_t)strtol(muid_str, (char **)NULL, 10)) > 0)
  +                fi->uid = muid;
  +        if ((mgid_str = rpmExpand("%{l_mgid}", NULL)) != NULL)
  +            if ((mgid = (gid_t)strtol(mgid_str, (char **)NULL, 10)) > 0)
  +                fi->gid = mgid;
  +    }
  +#endif
       fi->astriplen = 0;
       fi->striplen = 0;
   
  @@ -352,6 +366,9 @@
        rpmrc = RPMRC_FAIL;
        goto exit;
       }
  +#ifdef OPENPKG
  +    chown(_sourcedir, fi->uid, fi->gid);
  +#endif
   
       _specdir = rpmGenPath(rpmtsRootDir(ts), "%{_specdir}", "");
       rpmrc = rpmMkdirPath(_specdir, "specdir");
  @@ -359,6 +376,9 @@
        rpmrc = RPMRC_FAIL;
        goto exit;
       }
  +#ifdef OPENPKG
  +    chown(_specdir, fi->uid, fi->gid);
  +#endif
   
       /* Build dnl/dil with {_sourcedir, _specdir} as values. */
       if (i < fi->fc) {
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [email protected]

Reply via email to