Request 246 was acted upon.
_________________________________________________________________________

         URL: https://rt.openpkg.org/id/246
      Ticket: [OpenPKG #246]
     Subject: Rpm 4.2.1 tries to unpack source files with permissions intact
  Requestors: [EMAIL PROTECTED]
       Queue: openpkg
       Owner: Nobody
      Status: new
 Transaction: Ticket creado por ms
        Time: Mie. Sep. 03 11:57:44 2003
_________________________________________________________________________

The old rpm 4.0.2 unpacked source packages and copied their files (typically .spec, 
*.tar.gz...) irrespective of user and group ownership. The new rpm 4.2.1 pays 
particular attention to the user and group ownership, using their values to copy the 
source files to %_sourcedir.

  $ /sw/bin/rpm --rebuild pkg/src/bind8-8.4.1-20030814.src.rpm
  Installing pkg/src/bind8-8.4.1-20030814.src.rpm
  warning: user te does not exist - using root
  warning: group te does not exist - using root
  warning: user st does not exist - using root
  warning: group st does not exist - using root
  [...]

Paying attention to the user and group ownership is necessary when installing (rpm 
-Uvh) the files packaged in a binary package. However, when building a source package 
(rpm --rebuild), the file ownerships do not need to correspond to a target system's 
existing users and groups, and should be ignored.

Unfortunately with rpm 4.2.1, the same block of logic is responsible for generic 
unpacking of a [binary|source] rpm package, and will always check ownership before 
copying the package contents out to target file paths. See rpm-4.2.1/lib/psm.c and 
search for 'unameToUid':

  (void) rpmfiInit(fi, 0);
  while ((i = rpmfiNext(fi)) >= 0) { 
  uid_t uid;
  gid_t gid;

  uid = fi->uid;
  gid = fi->gid;
  if (fi->fuser && unameToUid(fi->fuser[i], &uid)) { 
      rpmMessage(RPMMESS_WARNING,
      _("user %s does not exist - using root\n"),
      fi->fuser[i]);
      uid = 0;
      /* XXX this diddles header memory. */
      fi->fmodes[i] &= ~S_ISUID;    /* turn off the suid bit */
  } 

-- 
Michael Schloh v. Bennewitz
OpenPKG Developer
[EMAIL PROTECTED]

______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
Bug Database Interface                           www.openpkg.org/bugdb
Bug Database List                            [EMAIL PROTECTED]

Reply via email to