Non-root rpm installs: howto acquire existing db info?

Matt England mengland at mengland.net
Sat Apr 15 17:02:20 UTC 2006


To clarify with an example of the install problem:


mengland at localhost 3:53am [~] 42> rpm -Uhv --root ~ client-31-1.i386.rpm
warning: client-31-1.i386.rpm: V3 DSA signature: NOKEY, key ID 18a9b39d
error: Failed dependencies:
         libc.so.6 is needed by sgrid-client-31-1.i386
         libc.so.6(GLIBC_2.0) is needed by sgrid-client-31-1.i386
         libc.so.6(GLIBC_2.1) is needed by sgrid-client-31-1.i386
         libc.so.6(GLIBC_2.1.2) is needed by sgrid-client-31-1.i386
         libc.so.6(GLIBC_2.1.3) is needed by sgrid-client-31-1.i386
         libc.so.6(GLIBC_2.2) is needed by sgrid-client-31-1.i386
         libc.so.6(GLIBC_2.3) is needed by sgrid-client-31-1.i386
         libdl.so.2 is needed by sgrid-client-31-1.i386
         libdl.so.2(GLIBC_2.0) is needed by sgrid-client-31-1.i386
         libdl.so.2(GLIBC_2.1) is needed by sgrid-client-31-1.i386
         libgcc_s.so.1 is needed by sgrid-client-31-1.i386
         libgcc_s.so.1(GCC_3.0) is needed by sgrid-client-31-1.i386
         libgcc_s.so.1(GLIBC_2.0) is needed by sgrid-client-31-1.i386
         libm.so.6 is needed by sgrid-client-31-1.i386
         libpthread.so.0 is needed by sgrid-client-31-1.i386
         libpthread.so.0(GLIBC_2.0) is needed by sgrid-client-31-1.i386
         libpthread.so.0(GLIBC_2.1) is needed by sgrid-client-31-1.i386
         libpthread.so.0(GLIBC_2.2) is needed by sgrid-client-31-1.i386
         libpthread.so.0(GLIBC_2.3.2) is needed by sgrid-client-31-1.i386
         librt.so.1 is needed by sgrid-client-31-1.i386
         librt.so.1(GLIBC_2.1) is needed by sgrid-client-31-1.i386
         libstdc++.so.6 is needed by sgrid-client-31-1.i386
         libstdc++.so.6(CXXABI_1.3) is needed by sgrid-client-31-1.i386
         libstdc++.so.6(GLIBCXX_3.4) is needed by sgrid-client-31-1.i386
mengland at localhost 3:53am [~] 43> rpm -qa | grep -i libstdc++
libstdc++-3.4.4-2
libstdc++-devel-3.4.4-2
mengland at localhost 3:53am [~] 44> rpm -ql libstdc++
/usr/lib/libstdc++.so.6
/usr/lib/libstdc++.so.6.0.3
mengland at localhost 3:54am [~] 45> pwd
/home/mengland
mengland at localhost 3:55am [~] 46> uname -a
Linux localhost.localdomain 2.6.9-11.EL #1 Wed Jun 8 16:59:52 CDT 2005 i686 
i686 i386 GNU/Linux
mengland at localhost 3:55am [~] 47> cat /etc/issue
CentOS release 4.2 (Final)
Kernel \r on an \m

mengland at localhost 3:55am [~] 48>


-Matt


At 4/15/2006 11:54 AM, Matt England wrote:
>Scenario:
>
>I want the users of the rpm packages I'm building for my project to be 
>able to install said packages as a non-root user.
>
>
>I see that rpm has a '--root' parameter, and that appears to work when 
>installing my package (eg, using '--root 
>/home/<my-non-root-user>').  However, my .rpm packages tend to have many 
>dependencies that may be typically installed as "root" system packages, 
>eg, PostgreSQL, MySQL, Boost libraries, bzip2 compression libs, libpqxx, 
>OpenSSL libs, xerces-c libs, and possibly more...not to mention all the 
>"standard" dependencies like libc/libstdc++/libpthread/libgcc, 
>etc.  Therefore, when running the '--root /home/<my-non-root-user>' 
>command, all sorts of missing dependencies show up, even though all of the 
>above modules/libraries may already be installed on my system...but not in 
>the rpm database found in /home/<my-non-root-user>.
>
>One way I'm thinking about solving this problem:
>
>What if the non-root user could acquire the *existing* root-rpm-database 
>info (from /usr/lib/rpmdb/i386-redhat-linux/CentOS, what I understand is 
>the typical db info...for a CentOS install, anyway) and copy it into 
>/home/<my-non-root-user>/usr/lib/rpmdb/i386-redhat-linux/CentOS?
>
>This way I'm hoping that a non-root user could copy the existing system 
>package info that points to the existing modules/packages, and then said 
>non-root user can install the new package(s) into their own database and 
>/home/<my-non-root-user> filesystem?
>
>Are there any other ways to solve the 
>install-the-package-as-a-non-root-user problem?
>
>-Matt
>
>--
>fedora-list mailing list
>fedora-list at redhat.com
>To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list




More information about the redhat-list mailing list