install-jds revision 10139
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosejds-src=Sources for JDS Common Packages
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosegnome=GNOME 2.17 Desktop
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosegnome-src=GNOME 2.17 Source
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosemozilla=Mozilla 1.7 Web Browser
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosemozilla-src=Mozilla Source
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosefirefox=Firefox Web Browser
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosefirefox-src=Firefox Source
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosethunderbird=Thunderbird Email and News Client
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosethunderbird-src=Thunderbird Source
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Boseevolution=Evolution Email and Calendar
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Boseevolution-src=Evolution Source
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Boseglow=Integrated Collaboration Environment
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosejai=Java Advanced Imaging
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosejai-iio=Java Advanced Imaging
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosejava=Java Runtime Environment
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosejavaapps=Java Applications
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosejavaapps-src=Java Applications Sources
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosejdk=Java Development Kit
546f1e38fa7ec1d86dd44117dda45f456fb00d39Lukas Slebodnikjdic=Java Desktop Integration Components
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosejdnc=Java Desktop Network Components
45f75fc8e98092fa48faa3d180fd42f7efd51486Stephen Gallagherjinput=Java Controller API
45f75fc8e98092fa48faa3d180fd42f7efd51486Stephen Gallagherjoal=Java bindings for OpenAL API
45f75fc8e98092fa48faa3d180fd42f7efd51486Stephen Gallagherjogl=Java bindings for OpenGL API
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosel10n=Globalization Tools
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosel10n-src=Globalization Tools Sources
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosel10nmessages=Localized Messages
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Boseiiim=Input Method Switcher
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Boseiiim-src=Input Method Switcher Sources
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Boseplugins=Third Party Browser Plugins
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosestaroffice=StarOffice office suite
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosestarsuite=StarSuite office suite
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Boseso-sdk=StarOffice Software Development Kit
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosexserver=X.org server
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosenodist=Extra packages for JDS developers
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosenodist-src=Extra sources for JDS developers
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Boseapoc-daemon=APOC Daemon
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Boseapoc-daemon-src=APOC Daemon Sources
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Boseapoc-sol-$ARCH=APOC Configuration Manager
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Boseapoc-sol-$ARCH-src=APOC Configuration Manager Sources"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosepatches-mozilla=Patches required for the Mozilla Web browser
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bosepatches-gnome=Patches required for the GNOME Desktop"
46222e5191473f9a46aec581273eb2eef22e23beMichal ZidekLOGFILE=/var/sadm/install/logs/jds-install.log.$$
c63c8a63ab062a9c4397278a29b12bd32c4f3895Sumit Bose# ask "question" variable_name "default answer"
3cbbfb4b05d0eb0a0809704e83589d0075e117a0Sumit Bose if [ ! -z $3 ]; then
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose# ask_yes_no "question" variable_name "default answer"
8babbeee01e67893af4828ddfc922ecac0be4197Pavel Reichl while [ $yes_no_repeat = yes ]; do
8babbeee01e67893af4828ddfc922ecac0be4197Pavel Reichl echo "$the_ans" | grep -i "^`l10n_print yes`$" > /dev/null
8babbeee01e67893af4828ddfc922ecac0be4197Pavel Reichl if [ $? = 0 ]; then
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose echo "$the_ans" | grep -i "^`l10n_print no`$" > /dev/null
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose if [ $? = 0 ]; then
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose grep -i "^$1[ ]*=[ ]*" $INFOFILE | cut -f2 -d= | tr -d ' '
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose for n in `echo $1 | sed -e 's/Generic/999999/' | tr -cs "[0-9]" "[ *]"`; do
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose for n in `echo $2 | sed -e 's/Generic/999999/' | tr -cs "[0-9]" "[ *]"`; do
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose typeset -i n=0
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose if [ ${version1[$n]} -lt ${version2[$n]} ]; then
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose if [ ${version1[$n]} -gt ${version2[$n]} ]; then
46222e5191473f9a46aec581273eb2eef22e23beMichal Zidek typeset n=$n+1
46222e5191473f9a46aec581273eb2eef22e23beMichal Zidek l10n_print "Install the Java Desktop System, GNOME 2.17, Solaris Edition"
46222e5191473f9a46aec581273eb2eef22e23beMichal Zidek l10n_print " --quiet, -q less verbose operation."
46222e5191473f9a46aec581273eb2eef22e23beMichal Zidek l10n_print " --force, -f ignore any errors and continue."
46222e5191473f9a46aec581273eb2eef22e23beMichal Zidek l10n_print " --ignore, -i ignore file conflicts and continue."
46222e5191473f9a46aec581273eb2eef22e23beMichal Zidek l10n_print " -R rootdir install into an alternative root directory."
46222e5191473f9a46aec581273eb2eef22e23beMichal Zidek l10n_print " --nopatch don't install OS patches"
46222e5191473f9a46aec581273eb2eef22e23beMichal Zidek l10n_print " --accept accept the license terms"
46222e5191473f9a46aec581273eb2eef22e23beMichal Zidek l10n_print " --tmpdir dir create temporary files in dir instead of /tmp"
8babbeee01e67893af4828ddfc922ecac0be4197Pavel Reichl while [ $# != 0 ]; do
46222e5191473f9a46aec581273eb2eef22e23beMichal Zidek l10n_print "Option %s requires an argument" "-R"
46222e5191473f9a46aec581273eb2eef22e23beMichal Zidek l10n_print "Option %s requires an argument" "-R"
46222e5191473f9a46aec581273eb2eef22e23beMichal Zidek l10n_print "Option %s requires an argument" "--tmpdir"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose echo "*** command output follows ***" >> $LOGFILE
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose ( "${@}" 2>&1 ; echo $? > $status_file ) | tee -a $LOGFILE
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose ( "${@}" 2>&1 ; echo $? > $status_file ) >> $LOGFILE
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose mv "$1" "$1~" || msg_fatal "Failed to back up file %s" "$1"
c63c8a63ab062a9c4397278a29b12bd32c4f3895Sumit Bose l10n_msg=`TEXTDOMAINDIR="$MYDIR"/.install gettext -d "$TEXTDOMAIN" "$1"`
95a08a0c02281b28bd1914e0727b40ae25b4e16aSumit Bose if [ $FORCE = no ]; then
95a08a0c02281b28bd1914e0727b40ae25b4e16aSumit Bose ask_yes_no "`l10n_print 'Would you like to continue?'`" ans \
8babbeee01e67893af4828ddfc922ecac0be4197Pavel Reichl test -f $LOGFILE || return
8babbeee01e67893af4828ddfc922ecac0be4197Pavel Reichl# check_disk_space directory minsize(kB)
8babbeee01e67893af4828ddfc922ecac0be4197Pavel Reichl while [ ! -d $dir_to_check ]; do
8babbeee01e67893af4828ddfc922ecac0be4197Pavel Reichl freespace=`df -k "$dir_to_check" | awk '!/Filesystem/ {print $4}'`
8babbeee01e67893af4828ddfc922ecac0be4197Pavel Reichl if [ $freespace -le $2 ]; then
8babbeee01e67893af4828ddfc922ecac0be4197Pavel Reichl# so_disk_space_check prodname
8babbeee01e67893af4828ddfc922ecac0be4197Pavel Reichl # Need large tmp area (>=1GB) for StarOffice/StarSuite installation.
8babbeee01e67893af4828ddfc922ecac0be4197Pavel Reichl msg_error "Your %s directory has less than 1GB free.\nYou need to specify an alternative temp dir with the --tmpdir switch." "$BASE_TEMPDIR"
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Bose /usr/bin/id | /usr/bin/grep '^uid=0(' > /dev/null 2>&1
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Bose if [ $? != 0 ]; then
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Bose if [ $FORCE = no ]; then
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Boseinstance=unique
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Boserunlevel=nocheck
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Bosesetuid=nocheck
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Boseaction=nocheck
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Boseidepend=nocheck
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Boserdepend=nocheck
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Bose if [ $IGNORE_CONFLICT = no ]; then
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Boseconflict=quit
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Boseconflict=nocheck
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Bose mps=`df -kl | grep '^/' | awk '{print $6}' | sort -r`
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Bose typeset -i i=0
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Bose typeset i=$i+1
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Bose# disk_usage_add <dir> <size>
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Bose typeset -i i=0
ff6e24f4474cca6226cd44c47ba2ec6ba6cf9a16Sumit Bose while [ $i -lt $MOUNT_POINT_COUNT ]; do
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose typeset i=$i+1
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose typeset -i i=0
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose while [ $i -lt $MOUNT_POINT_COUNT ]; do
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose if [ $mpsize -gt 0 ]; then
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose msg_error "Your %s filesystem has less than %s kB free\nYou will not be able to install JDS." "$ROOTDIR$mpname" "$mpsize"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose typeset i=$i+1
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose#install_pkgs <dir>
c63c8a63ab062a9c4397278a29b12bd32c4f3895Sumit Bose if [ -r $ORDERFILE ]; then
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose ALL_PKGS=$(echo $(cat $ORDERFILE | sed -e 's/$/.tar.gz/'))
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose ALL_PKGS=$(cd $MYDIR/$1; find . -name '*.tar.gz' -print -o -name '*.tgz' -print)
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose msg_log "Starting installation of %s at %s" "$1" "`LANG=C LC_ALL=C date`"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose if [ $1 == 'firefox' -o $1 == 'thunderbird' ]; then
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit BoseSUNWmoznss-devel
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit BoseSUNWmoznspr-devel
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit BoseSUNWmozjs-debugger
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit BoseSUNWmozilla-devel
6f504738cad1ee9daa1bd6eec721caceef65f21dSumit BoseSUNWmozdom-inspector
6f504738cad1ee9daa1bd6eec721caceef65f21dSumit BoseSUNWthunderbird-devel"
c63c8a63ab062a9c4397278a29b12bd32c4f3895Sumit Bose # Remove evolution-socs-connect packages as they are incompatible with
6f504738cad1ee9daa1bd6eec721caceef65f21dSumit Bose # evolution-jescs (connector for Java Enterprise System Calendar Server)
6f504738cad1ee9daa1bd6eec721caceef65f21dSumit BoseSUNWevolution-socs-connect-share"
9869c20a4db6ce7e285a9d7ae7007718a6de207eSumit Bose msg_fatal "ERROR: Failed to create temporary directory %s" "$TEMPDIR"
9869c20a4db6ce7e285a9d7ae7007718a6de207eSumit Bose if [ ! -r $MYDIR/$1/$pkg ]; then
9869c20a4db6ce7e285a9d7ae7007718a6de207eSumit Bose logrun sh -c "gunzip -c $MYDIR/$1/$pkg | /bin/tar xf -"
9869c20a4db6ce7e285a9d7ae7007718a6de207eSumit Bose if [ $? != 0 ]; then
9869c20a4db6ce7e285a9d7ae7007718a6de207eSumit Bose pkg0=$(echo "$pkg0" | sed -e 's/\.tar.gz$//' -e 's/\.tgz$//')
9869c20a4db6ce7e285a9d7ae7007718a6de207eSumit Bose if [ ! -d $pkg0 ]; then
9869c20a4db6ce7e285a9d7ae7007718a6de207eSumit Bose msg_error "ERROR: Package %s not found in %s" "$pkg0" "$pkg"
9869c20a4db6ce7e285a9d7ae7007718a6de207eSumit Bose logrun $PKGADD -R "$ROOTDIR" -a $ADMIN -n -d $TEMPDIR $pkg0 || \
9869c20a4db6ce7e285a9d7ae7007718a6de207eSumit Bose msg_error "ERROR: Failed to install package %s" "$pkg0"
9869c20a4db6ce7e285a9d7ae7007718a6de207eSumit Bose logrun $PKGADD -a $ADMIN -n -d $TEMPDIR $pkg0 || \
9869c20a4db6ce7e285a9d7ae7007718a6de207eSumit Bose msg_error "ERROR: Failed to install package %s" "$pkg0"
9869c20a4db6ce7e285a9d7ae7007718a6de207eSumit Bose logrun $PKGRM -R "$ROOTDIR" -a $ADMIN -n "$1"'.*' || \
9869c20a4db6ce7e285a9d7ae7007718a6de207eSumit Bose msg_error "ERROR: Failed to remove package %s" "$1"
9869c20a4db6ce7e285a9d7ae7007718a6de207eSumit Bose msg_error "ERROR: Failed to remove package %s" "$1"
9869c20a4db6ce7e285a9d7ae7007718a6de207eSumit Bose pkgs_to_remove="`cat $MYDIR/$1/.remove-if-older`"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose echo ",--------------------------------------------------------------------------"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose ask '`---> '"`l10n_print 'Please select:'`" "menu_sel" "1"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose echo ",--------------------------------------------------------------------------"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose echo "| 2) " `l10n_print "Select Products to Install"`
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose echo "| 3) " `l10n_print "Select Patches to Install"`
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose ask '`---> '"`l10n_print 'Please select:'`" "menu_sel" "I"
5c94d34d890c75ec179a32d2cda4fa060d2b5f0cPavel Březina echo ",--------------------------------------------------------------------------"
5c94d34d890c75ec179a32d2cda4fa060d2b5f0cPavel Březina ask '`---> '"`l10n_print 'Please select:'`" "menu_sel" "1"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose echo ",--------------------------------------------------------------------------"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose typeset -i N=1
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose pname=`echo "$ALL_PATCHDIRS" | grep "^$pdir=" | cut -f2- -d= | cut -c-60`
3cbbfb4b05d0eb0a0809704e83589d0075e117a0Sumit Bose if [ $res = 0 ]; then
7f02ba09b9481f59c309fd09a88089857e7fe79fSumit Bose elif [ $res = 1 ]; then
3cbbfb4b05d0eb0a0809704e83589d0075e117a0Sumit Bose typeset N=$N+1
7f02ba09b9481f59c309fd09a88089857e7fe79fSumit Bose echo "| S) " `l10n_print "Select individual patches"`
3cbbfb4b05d0eb0a0809704e83589d0075e117a0Sumit Bose echo "| R) " `l10n_print "Return to previous menu"`
3cbbfb4b05d0eb0a0809704e83589d0075e117a0Sumit Bose ask '`---> '"`l10n_print 'Enter item to select/unselect:'`" "menu_sel" "R"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose for p in $1; do
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose unzip $MYDIR/$p */README.* > /dev/null 2>&1
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose pdesc=`grep '^Synopsis:' */README.* | head -1 | cut -f2- -d:` \
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose echo ",--------------------------------------------------------------------------"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose typeset -i N=1
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose if [ $res = 0 ]; then
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose typeset N=$N+1
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose echo "| R) " `l10n_print "Return to previous menu"`
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose ask '`---> '"`l10n_print 'Enter item to select/unselect:'`" "menu_sel" "R"
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose echo ",--------------------------------------------------------------------------"
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose typeset -i N=1
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose prodname=`echo "$ALL_PRODUCTS" | grep "^$prod=" | cut -f2- -d= | cut -c-60`
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose if [ $? = 0 ]; then
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose typeset N=$N+1
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose echo "| R) " `l10n_print "Return to previous menu"`
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose ask '`---> '"`l10n_print 'Enter item to select/unselect:'`" "menu_sel" "R"
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose mkdir -p $TEMPDIR/patchinst || return 1
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose rm -rf $TEMPDIR/patchinst/* || return 1
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose cd $TEMPDIR/patchinst || return 1
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose unzip $MYDIR/$1 > /dev/null 2>&1 || return 1
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rm -rf $TEMPDIR/patchinst/* || return 1
IFS=,
install_patch $p || \
so_menu || return $?
IFS=,
while read line; do
IFS=,
IFS=,
test ! -d $MYDIR/$prod && unselect_product $prod
IFS=,
IFS=,
for p in $1; do
IFS=,
for p in $1; do
IFS=,
for p in $1; do
patch_is_selected $p && have_selected=yes || have_unselected=yes
l10n_print "You are about to install Sun Java Desktop System, GNOME 2.17.\nThis install will replace any old versions of the following\nproducts you may have installed on your system with the newer\nversion included in JDS: GNOME, Mozilla and Java\nMedia Framework. It may also replace the installed version\nof Java 1.4.2 if it is older than the version included in JDS."
if [ ! -z $LC_MESSAGES ] ; then
elif [ ! -z $LC_ALL ] ; then
elif [ ! -z $LANG ] ; then
read dummy
ask "`l10n_print 'Type \"Accept\" to accept the license\nand install Sun Java Desktop System GNOME 2.17'`" ans_accept
main_menu || return $?
do_install || return $?
if [ -n "$REQ_RELEASE" ]; then