SunRPMs: HOWTO

  1. Prep the system
  2. Download and install RPM
  3. Download and install the RPM packages
  4. Perform post installation procedures

1. Prep the system

Install ANDIrand
Many of the rpms require the presence of a /dev/random. Releases prior to Solaris 9 did not include a /dev/random. ANDIrand is a package that provides a /dev/random for Solaris.
Sparci386
Solaris 2.6ANDIrand-0.7-5.6-sparc-1.pkg
Solaris 7ANDIrand-0.7-5.7-sparc-1.pkg
Solaris 8ANDIrand-0.7-5.8-sparc-1.pkgANDIrand-0.7-5.8-x86-1.pkg

Install OpenGL
Some of the packages require OpenGL to be installed. On the Sparc platform Sun's OpenGL is needed and can be downloaded here. Sun doesn't have an OpenGL implementation for Solaris x86, so the Mesa3d RPM is required which is available from this web site.

Semaphores and Shared Memory
Semaphores and shared memory is one method of providing inter-process communication in the UNIX environment. Shared memory is a block of memory shared by multiple processes and a semaphore is something that the processes use to lock regions of the shared memory so that they don't access it at the same time. Unfortunately Solaris has very low maximums for the ammount of shared memory and number of semaphores available and because KDE and Gnome make extensive use of them they need to be increased. Therefore, append the following to /etc/system and reboot Solaris.

set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10

set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=100
set semsys:seminfo_semmns=200
set semsys:seminfo_semopm=100
set semsys:seminfo_semvmx=32767

2. Download and install RPM

Before we can install any RPM packages, the Redhat Package Manager must be installed and the RPM database initialized. This is accomplished by downloading the appropriate Solaris package of RPM and installing it using pkgadd. i.e.
# pkgadd -d rpm.pkg
Sparci386
Solaris 2.6rpm-3.0.6-sol26-sparc.pkg
Solaris 7rpm-3.0.6-sol7-sparc.pkg
Solaris 8rpm-3.0.6-sparc-sol8.pkgrpm-3.0.6-sol8-i386.pkg
Solaris 9rpm-4.0.4-sparc-sol9.pkg

This installs RPM in /opt/rpm and initializes the RPM database in /usr/local/rpm/db.

3. Download and install the RPM packages

You have 2 options at this point.
  1. Download all the RPMs for your platform.
    This is certainly the easier of two options. You can download all of the files with one wget command. For example, to download all of the Solaris 7 binaries for sparc:
    % wget --recursive http://>sunrpms.maraudingpirates.org/software/sparc/5.7/RPMS/
    
  2. Download only the RPMs you need.
    This option is problematic in that the packages have dependencies. For example, if you just download kdebase and try to install it rpm will tell you that kdebase requires kdelibs, libpng, libjpeg, and a whole host of of other packages. You can then download those packages and try to install again. Most likely you will find that those packages require other packages. Eventually you will get all the packages you need, but it would be awhile. I am attempting to write something that will show all the dependencies for each package. Until then you are on your own.
After you have downloaded the packages you can install them by running:
# /opt/rpm/bin/rpm -ivh *.rpm
RPM locations by platform
Sparci386
Solaris 2.6 software/sparc/5.6/RPMS
Solaris 7 software/sparc/5.7/RPMS
Solaris 8 software/sparc/5.8/RPMS software/i386/5.8/RPMS
Solaris 9 software/sparc/5.9/RPMS

4. Perform post installation procedures