Recently, there has been an effort to simplify the installation of CMS software. We have developed a simple yet flexible installation by using a software installation program called Pacman. We call this particular installation setup CMS-Pacman. Pacman is esentially an installer-installer: it is easy to package up a variety of software that is packaged in different ways and make an easy installation with Pacman.
Our Pacman installation can install three different pieces of the CSM software: Impala, BOSS, and CMSIM. You can do a simple installation of all of the software in one directory or you can install each of them in different directories. You can install one copy or multiple copies. Pacman will install the software and do some configuration on your behalf. It will also provide an environment file you can use to set up user's environments to use the software.
Before we examine how to install CMS-Pacman, we will give you some background on obtaining and setting up Pacman.
Pacman is written in Python, and requires that you have Python 1.5.2 or later installed on your system. Most Linux systems come with Python installed, but if your system doesn't have it, you will want to obtain it from the Python website. Then, setting up Pacman is easy:
tar xzf pacman-2.080.tar.gz
cd pacman-2.080
source setup.csh Note that you
can use setup.sh, if you use a sh/bash-type shell. Also, this just
sets your PATH to find pacman, and it makes no other changes.
This procedure will install three pieces of software into a single directory. They are:
Make a directory that you want to install the software into. For this
example, we will codetend you are installing it into
/usr/local/cms/. Installing the software is just three
commands:
Note that the second command, which tells Pacman where the CMS
software is installed, will be eliminated or simplified in future
versions of Pacman. You can also combine the two commands into one, if
you wish: pacman -get
http://www.cs.wisc.edu/~roy/cms_cache/:cms_software
When you execute this command, you'll see some output as Pacman does it's work. It will look something like this:
Fetching [http://computing.fnal.gov/cms/software/SPRING02/Pyt6158_Sim125.1.tar]... Fetching [http://www.cs.wisc.edu/~roy/cms_cache/software/boss-v3_0.tar.gz]... Fetching [http://www.cs.wisc.edu/~roy/cms_cache/software/boss_30_install.tar.gz].. ... impala_331_install/ impala_331_install/impala_install.sh impala_331_install/impala_install.sh~ Configuring IMAPALA... Editing Impala.config Editing LocalDefaults.rsc Done.
Be patient--it takes a long time to download CMSIM, which is 217MB
Note that BOSS will attempt to install MySQL if you are logged in as root and it isn't already installed. In any case, you will need to enter the root MySQL database password as part of the installation. If you don't know it, you can always correct the installation later--it won't cause problems during this installation phase.
When the installation has completed, you will notice several files in the directory, in addition to the software that was installed.
If you would rather install just a piece of the CMS software, you can select which pieces you would like to install. Setup Pacman as above, and then execute the same commands to begin your installation:
cd /usr/local/cmspacman -cache:http://www.cs.wisc.edu/~roy/cms_cache/
pacman -get <package-name>, where package-name can be any
one of:
pacman -get boss_32_install, to
install BOSS v3.2. You can also install multiple pieces at once by
listing each piece, such as: pacman -get boss32_install
impala_331_install
Pretend you've installed the CMS softare into /cms. You would like to try out BOSS 3.2 to see if it works with the other CMS software. You can make a relative installation in another directory, say /cms-test that looks like a complete installation but only has BOSS 3.2Here is what you do:
cd /cms-test
pacman
-cache:/cms
pacman -cache:http://www.cs.wisc.edu/~roy/cms_cache
pacman -get boss_32_install
pacman -get impala_331_installpacman -get cmsim_125.1pacman -info in the /cms-test area. Note that the
setup.csh file in /cms-test is properly set up to point at the
software in /cms, where necessary. The /cms installation is not
disturbed by the relative operation and users who are using /cms
will be totally unaffected. There can be any number of
installations relative to /cms and an installation can use any
number of parent installation by simply listing them in the
'caches' file.
As before, you can combine these commands into one, if you
wish. For instance, you can do: pacman
-cache:http://www.cs.wisc.edu/~roy/cms_cache -get boss_32_install
impala_331_install cmsim_125.1
Pacman gets the software using HTTP. If you behind a firewall that requires you to use an HTTP proxy server, you need to let Pacman know about it. You can do this by setting an environment variable before running any pacman commands. Note that the variable really is in all lowercase, not in uppercase:
setenv http_proxy http://proxy.foo.com:4000
If you have comments or questions, please email Alain Roy at: roy@cs.wisc.edu.