[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

%attr directive issues when installing an rpms



Title: %attr directive issues when installing an rpms

Hello Jeff, thanks for the quick response.
Hello everybody,

I am returning to %attr directive. I have a problem with
files that should be packaged with proper ownership (user/group) :

I. Description of the problem
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I compiled rpm-4.0, got it installed and created an rpm
file with same permissions (without being root).
solardev:/home2/ptsimmer/opt/local/src/rpm$ rpm --version
RPM version 4.0
solardev:/home2/ptsimmer/opt/local/src/rpm$ rpm --showrc | head
ARCHITECTURE AND OS:
build arch                  : sparc64
compatible build archs: sun4u noarch
build os                     : solaris2.7
compatible build os's  : solaris2.7
install arch                 : sun4u
install os                    : solaris2.7
compatible archs        : sun4u sparc64 sparcv9 sparc noarch
compatible os's          : solaris2.7 solaris2.3 solaris2.4 solaris2.5 solaris2.6

In my spec file, under the %files section I am using %attr macro to
install  cdp file with permissions 755 and cdp.1 file with
permissions 544. The permissions of these files after installation
are correct (as it shown in attached traces file), but what's up with
the owner and group ? Why they are same ?
According to the "Maximum RPM" book in cases where the package builder
can't create the files to be packaged with the correct ownership
and permissions, the %attr macro can be used to make thinks right.

Why it doesn't work ?

What is the problem ?

What am I doing wrong ?


II. Traces
~~~~~~~~~~
solardev:/home2/ptsimmer/opt/local/src/redhat/RPMS/sparc64$ ls -l
drwxrwxrwx   2 ptsimmer dev          512 Jul 18 16:31 .
drwxrwxrwx   6 ptsimmer dev          512 Mar 16 13:56 ..
solardev:/home2/ptsimmer/opt/local/src/redhat/RPMS/sparc64$ rpm -q cdp-0.33-13
package cdp-0.33-13 is not installed

solardev:/home2/ptsimmer/opt/local/src/redhat/SPECS$ rpm -bb --eval '%_topdir'
 --define '_defaultdocdir /home2/ptsimmer/peter2/cdp-0.33/13/instructs'
 --eval '%_defaultdocdir' --eval '%_tmppath' cdp-0.33.spec
/home2/ptsimmer/opt/local/src/redhat
/home2/ptsimmer/peter2/cdp-0.33/13/instructs
/home2/ptsimmer/opt/local/tmp
Executing(%prep): /bin/sh -e /home2/ptsimmer/opt/local/tmp/rpm-tmp.13413
+ umask 022
+ cd /home2/ptsimmer/opt/local/src/redhat/BUILD
+ rm -rf cdp-0.33
+ tar -xvvf -
+ /usr/local/bin/gzip -dc /home2/ptsimmer/opt/local/src/redhat/SOURCES/cdp-0.33.tar.gz
drwxrwxrwx ptsimmer/dev          0 2001-05-07 11:24 cdp-0.33/
-rwxr-xr-x    ptsimmer/dev   50008 2001-05-04 09:04 cdp-0.33/cdp
-rw-r--r--      ptsimmer/dev     4550 2001-05-04 09:04 cdp-0.33/cdp.1
...

STATUS=0
+ [ 0 -ne 0 ]
+ cd cdp-0.33
+ /bin/sed s/[^=]*=\([0-9][0-9]*\).*$/\1/
+ /bin/id
+ [ 1013 = 0 ]
+ /bin/sed s/[^=]*=\([0-9][0-9]*\).*$/\1/
+ /bin/id
+ [ 1013 = 0 ]
+ /bin/chmod -Rf a+rX,g-w,o-w .
+ exit 0
Executing(%install): /bin/sh -e /home2/ptsimmer/opt/local/tmp/rpm-tmp.30252
+ umask 022
+ cd /home2/ptsimmer/opt/local/src/redhat/BUILD
+ cd cdp-0.33
+ rm -rf /home2/ptsimmer/opt/local/tmp/installed_pkgs
+ mkdir -p /home2/ptsimmer/opt/local/tmp/installed_pkgs/home2/ptsimmer/peter2/cdp-0.33/13
+ cd /home2/ptsimmer/opt/local/tmp/installed_pkgs/home2/ptsimmer/peter2/cdp-0.33/13
+ tar -xvvf -
+ gzip -dc /home2/ptsimmer/opt/local/src/redhat/SOURCES/cdp-0.33.tar.gz
drwxrwxrwx ptsimmer/dev         0 2001-05-07 11:24 cdp-0.33/
-rwxr-xr-x    ptsimmer/dev  50008 2001-05-04 09:04 cdp-0.33/cdp
-rw-r--r--      ptsimmer/dev    4550 2001-05-04 09:04 cdp-0.33/cdp.1
...

+ exit 0
Processing files: cdp-0.33-13
Executing(%doc): /bin/sh -e /home2/ptsimmer/opt/local/tmp/rpm-tmp.14322
+ umask 022
+ cd /home2/ptsimmer/opt/local/src/redhat/BUILD
+ cd cdp-0.33
DOCDIR=/home2/ptsimmer/opt/local/tmp/installed_pkgs/home2/ptsimmer/peter2/
cdp-0.33/13/instructs/cdp-0.33
+ export DOCDIR
+ rm -rf /home2/ptsimmer/opt/local/tmp/installed_pkgs/home2/ptsimmer/peter2/
cdp-0.33/13/instructs/cdp-0.33
+ /usr/bin/mkdir -p /home2/ptsimmer/opt/local/tmp/installed_pkgs/home2/ptsimmer/
peter2/cdp-0.33/13/instructs/cdp-0.33
+ cp -pr README /home2/ptsimmer/opt/local/tmp/installed_pkgs/home2/ptsimmer/
peter2/cdp-0.33/13/instructs/cdp-0.33
+ exit 0
Finding  Provides: (using /home2/ptsimmer/opt/local/lib/rpm/find-provides)
...
Finding  Requires: (using /home2/ptsimmer/opt/local/lib/rpm/find-requires)
...
PreReq: rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Wrote: /home2/ptsimmer/opt/local/src/redhat/RPMS/sparc64/cdp-0.33-13.sparc64.rpm
Executing(%clean): /bin/sh -e /home2/ptsimmer/opt/local/tmp/rpm-tmp.15231
+ umask 022
+ cd /home2/ptsimmer/opt/local/src/redhat/BUILD
+ cd cdp-0.33
+ cd /home2/ptsimmer/opt/local/src/redhat/BUILD
+ rm -rf cdp-0.33
+ exit 0

solardev:/home2/ptsimmer/opt/local/src/redhat/RPMS/sparc64$ ls -l
drwxrwxrwx   2 ptsimmer dev          512 Jul 18 16:32 .
drwxrwxrwx   6 ptsimmer dev          512 Mar 16 13:56 ..
-rw-rw-r--       1 ptsimmer dev        28439 Jul 18 16:32 cdp-0.33-13.sparc64.rpm
solardev:/home2/ptsimmer/opt/local/src/redhat/RPMS/sparc64$ rpm -q cdp-0.33-13
package cdp-0.33-13 is not installed

solardev:/home2/ptsimmer/opt/local/src/redhat/RPMS/sparc64$ rpm -ivv cdp-0.33-13.sparc64.rpm
D: counting packages to install
D: found 1 packages
D: looking for packages to download
D: retrieved 0 packages
D: New Header signature
D: Signature size: 68
D: Signature pad : 4
D: sigsize         : 72
D: Header + Archive: 28271
D: expected size   : 28271
D: opening db index       /home2/ptsimmer/opt/local/lib/rpm/Packages create mode=0x102
D: locked  db index       /home2/ptsimmer/opt/local/lib/rpm/Packages
D: found 0 source and 1 binary packages
D: opening db index       /home2/ptsimmer/opt/local/lib/rpm/Depends create  mode=0x102
D:  NO  A rpmlib(PayloadFilesHavePrefix) <= 4.0-1   B rpmlib(Versioned  Dependencies) = 3.0.3-1
D:  NO  A rpmlib(PayloadFilesHavePrefix) <= 4.0-1   B rpmlib(Compresse  dFileNames) = 3.0.4-1
D:  NO  A rpmlib(PayloadFilesHavePrefix) <= 4.0-1   B rpmlib(PayloadIs  Bzip2) = 3.0.5-1
D:  YES  A rpmlib(PayloadFilesHavePrefix) <= 4.0-1  B rpmlib(PayloadFilesHavePrefix) = 4.0-1
D:  Requires: rpmlib(PayloadFilesHavePrefix) <= 4.0-1  YES (rpmlib provides)
D:  NO  A rpmlib(CompressedFileNames) <= 3.0.4-1 B rpmlib(Versioned Dependencies) = 3.0.3-1
D:  YES  A rpmlib(CompressedFileNames) <= 3.0.4-1 B rpmlib(CompressedFileNames) = 3.0.4-1
D:  Requires: rpmlib(CompressedFileNames) <= 3.0.4-1 YES (rpmlib provides)
D: opening db index  /home2/ptsimmer/opt/local/lib/rpm/Conflictname create mode=0x102
D: installing binary packages
D: getting list of mounted filesystems
D: opening db index  /home2/ptsimmer/opt/local/lib/rpm/Name create mode=0x102
D: opening db index  /home2/ptsimmer/opt/local/lib/rpm/Basenames create mode=0x102
D: opening db index  /home2/ptsimmer/opt/local/lib/rpm/Group create mode=0x102
D: opening db index  /home2/ptsimmer/opt/local/lib/rpm/Requirename create mode=0x102
D: opening db index  /home2/ptsimmer/opt/local/lib/rpm/Providename create mode=0x102
D: opening db index  /home2/ptsimmer/opt/local/lib/rpm/Triggername create mode=0x102
D: New Header signature
D: Signature size: 68
D: Signature pad : 4
D: sigsize         : 72
D: Header + Archive: 28271
D: expected size   : 28271
D: package: cdp-0.33-13 files test = 0
D:    file: /home2/ptsimmer/peter2/cdp-0.33/13/cdp-0.33/cdp action: create
D:    file: /home2/ptsimmer/peter2/cdp-0.33/13/cdp-0.33/cdp.1 action: create
D:    file: /home2/ptsimmer/peter2/cdp-0.33/13/instructs/cdp-0.33 action: create
D:    file: /home2/ptsimmer/peter2/cdp-0.33/13/instructs/cdp-0.33/README action: create
D: running preinstall script (if any)
cdp-0.33-13
GZDIO:      72 reads,    56436 total bytes in 0.001 secs
D:   +++         42 cdp-0.33-13
D: adding "cdp" to Name index.
D: adding 4 entries to Basenames index.
D: adding "Applications/Sound" to Group index.
D: adding 2 entries to Requirename index.
D: adding 1 entries to Providename index.
D: running postinstall scripts (if any)
D: closed  db index       /home2/ptsimmer/opt/local/lib/rpm/Depends
D: closed  db index       /home2/ptsimmer/opt/local/lib/rpm/Triggername
D: closed  db index       /home2/ptsimmer/opt/local/lib/rpm/Conflictname
D: closed  db index       /home2/ptsimmer/opt/local/lib/rpm/Providename
D: closed  db index       /home2/ptsimmer/opt/local/lib/rpm/Requirename
D: closed  db index       /home2/ptsimmer/opt/local/lib/rpm/Group
D: closed  db index       /home2/ptsimmer/opt/local/lib/rpm/Basenames
D: closed  db index       /home2/ptsimmer/opt/local/lib/rpm/Name
D: closed  db index       /home2/ptsimmer/opt/local/lib/rpm/Packages

solardev:/home2/ptsimmer/opt/local/src/redhat/RPMS/sparc64$ rpm -q cdp-0.33-13
cdp-0.33-13

solardev:/home2/ptsimmer/opt/local/src/rpm$ ls -l /home2/ptsimmer/peter2/
cdp-0.33/13/cdp-0.33
drwxr-xr-x   2 ptsimmer dev          512 Jul 18 18:08 .
drwxr-xr-x   4 ptsimmer dev          512 Jul 17 14:50 ..
-rwxr-xr-x    1 ptsimmer dev    50008 May  4 09:04 cdp
-r-xr--r--       1 ptsimmer dev      4550 May  4 09:04 cdp.1


III. Spec file
~~~~~~~~~~~~~~
solardev:/home2/ptsimmer/opt/local/src/redhat/SPECS$ cat cdp-0.33.spec
#
# Example spec file for cdplayer app...
#
Summary:        A CD player app that rocks!
Name:           cdp
Version:        0.33
Release:        13
Copyright:      GPL
Group:          Applications/Sound
Source:         %{name}-%{version}.tar.gz
URL:            http://www.gnomovision.com/cdplayer/cdp.html
Distribution:   WSS Linux
Vendor:         White Socks Software, Inc.
Packager:       Santa Claus <sclaus@northpole.com>
BuildRoot:      %{_tmppath}/installed_pkgs

%description
It is description of cdp-0.33 package

%prep
%setup -n %{name}-%{version}

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/home2/ptsimmer/peter2/%{name}-%{version}/%{release}
cd $RPM_BUILD_ROOT/home2/ptsimmer/peter2/%{name}-%{version}/%{release}
gzip -dc $RPM_SOURCE_DIR/%{name}-%{version}.tar.gz | tar -xvvf -

%files
%defattr(-, root, root)
%doc README
%attr(755, root, root) /home2/ptsimmer/peter2/%{name}-%{version}/%{release}/
%{name}-%{version}/cdp
%attr(544, root, root) /home2/ptsimmer/peter2/%{name}-%{version}/%{release}/
%{name}-%{version}/cdp.1

%clean
cd $RPM_BUILD_DIR
rm -rf %{name}-%{version}


Thanks.

Peter Tsimerman


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []