cbe-install
author xlucas
Tue, 28 Apr 2009 09:49:26 +0000
changeset 41 31570364d0f1
parent 40 b92f7755aa91
child 44 9d78700fb711
permissions -rwxr-xr-x
2009-03-16 Lukas (Luc) Oboril <[email protected]> * bump pkgbuild to latest version 1.3.98.4 * add Sun Studio Express 03/09 as known compiler
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
     1
#!/bin/bash
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
     2
#
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
     3
# Script for setting up the Desktop Build Environment on Solaris
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
     4
#
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
     5
# CDDL HEADER START
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
     6
#
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
     7
# The contents of this file are subject to the terms of the
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
     8
# Common Development and Distribution License, Version 1.0 only
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
     9
# (the "License").  You may not use this file except in compliance
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    10
# with the License.
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    11
#
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    12
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    13
# or http://www.opensolaris.org/os/licensing.
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    14
# See the License for the specific language governing permissions
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    15
# and limitations under the License.
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    16
#
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    17
# When distributing Covered Code, include this CDDL HEADER in each
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    18
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    19
# If applicable, add the following below this CDDL HEADER, with the
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    20
# fields enclosed by brackets "[]" replaced with your own identifying
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    21
# information: Portions Copyright [yyyy] [name of copyright owner]
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    22
#
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    23
# CDDL HEADER END
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    24
#
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    25
#
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    26
# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    27
# Use is subject to license terms.
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    28
#
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    29
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    30
IFS=' 	
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    31
'
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    32
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    33
# this is listed separately because we are using the spec file
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    34
# included in the pkgbuild tarball
41
31570364d0f1 2009-03-16 Lukas (Luc) Oboril <[email protected]> * bump pkgbuild to latest version 1.3.98.4 * add Sun Studio Express 03/09 as known compiler
xlucas
parents: 40
diff changeset
    35
PKGBUILD_VERSION=1.3.98.4
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    36
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    37
# Modules needed for building GNOME:
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    38
GNOME_MODULES="ant m4 autoconf automake libtool bison coreutils diff flex gettext make subversion"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    39
# Modules needed for building KDE:
38
d73cbeaabc94 2009-01-18 Lukas (Luc) Oboril <[email protected]>
xlucas
parents: 29
diff changeset
    40
KDE_MODULES="ant m4 autoconf automake libtool bison coreutils diff flex gettext subversion gnuawk gnused cmake make yasm"
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    41
# Not needed for either GNOME or KDE, but useful to have:
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    42
OPT_MODULES="rsync cvs"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    43
# SFE has the same deps as GNOME
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    44
SFE_MODULES=$GNOME_MODULES
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    45
install_kde=no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    46
install_gnome=no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    47
install_sfe=no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    48
install_opt=no
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
    49
interactive_install=yes
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
    50
quiet_install=no
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
    51
default_compiler=
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
    52
orig_CC="${CC}"
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    53
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    54
# Obsolete packages to be pkgrm'd.  Mostly renamed packages.
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    55
OLD_PKGS="JDSautomake JDSautoconf JDSlibtool JDSm4 JDSgettext JDSfileutils 
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
    56
          JDSmake JDSpatch CBEpatch JDSflex JDScvs SUNWpkgbuild CBEfileutils"
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    57
25
da75169c0215 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 23
diff changeset
    58
# default log file.  Changed to /tmp/desktop-cbe-install* if the user
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    59
# installing is not root
29
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
    60
LOGFILE=/tmp/desktop-cbe-install-`date +%Y-%m-%d-%H:%M`.log
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    61
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    62
# packages required for building things.  cbe-install will check if they
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    63
# are installed and install them if not.
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    64
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    65
# Solaris SVr4 packages:
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    66
CBE_SVR4_DEPENDENCIES="SUNWarc SUNWgpch SUNWhea SUNWsfwhea SUNWwgetr
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    67
                       SUNWwgetu SUNWgtar SUNWxcu4 SUNWsprot SUNWxwinc
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    68
                       SUNWxorg-headers SUNWbtool SUNWlibmr SUNWlibm"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    69
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    70
# OpenSolaris pkg(5) packages:
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    71
CBE_PKG_DEPENDENCIES="SUNWgpch SUNWhea SUNWsfwhea SUNWwget SUNWgtar
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    72
                       SUNWxcu4 SUNWsprot SUNWxwinc SUNWxorg-headers
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    73
                       SUNWbtool SUNWlibm"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    74
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    75
# alternatives (SUNW version of tools preferred to CBE version)
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    76
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    77
# by detault install alternatives when available
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    78
install_alt=yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    79
# by default, install alternatives without asking
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    80
ask_alt=no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    81
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    82
ALT_make=SUNWgmake
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    83
ALT_m4=SUNWgm4
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    84
ALT_autoconf=SUNWaconf
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    85
ALT_automake="SUNWgnu-automake-110 SUNWgnu-automake-19"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    86
ALT_libtool=SUNWlibtool
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    87
ALT_bison=SUNWbison
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    88
ALT_coreutils=SUNWgnu-coreutils
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    89
ALT_diff=SUNWgnu-diffutils
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    90
ALT_flex=SUNWflexlex
38
d73cbeaabc94 2009-01-18 Lukas (Luc) Oboril <[email protected]>
xlucas
parents: 29
diff changeset
    91
ALT_gettext=SUNWgnu-gettext
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
    92
ALT_subversion=SUNWsvn
38
d73cbeaabc94 2009-01-18 Lukas (Luc) Oboril <[email protected]>
xlucas
parents: 29
diff changeset
    93
ALT_gnused=SUNWgsed
d73cbeaabc94 2009-01-18 Lukas (Luc) Oboril <[email protected]>
xlucas
parents: 29
diff changeset
    94
ALT_gnuawk=SUNWgawk
d73cbeaabc94 2009-01-18 Lukas (Luc) Oboril <[email protected]>
xlucas
parents: 29
diff changeset
    95
# Do not use SUNWcmake, because it does not contain fix for Sun Studio optimalization. --luc
d73cbeaabc94 2009-01-18 Lukas (Luc) Oboril <[email protected]>
xlucas
parents: 29
diff changeset
    96
#ALT_cmake=SUNWcmake
39
24e4e432ccf2 bump cmake to 2.6.3 (fix various issues)
xlucas
parents: 38
diff changeset
    97
# In SXCE build107 SUNWant = ant 1.7.1
24e4e432ccf2 bump cmake to 2.6.3 (fix various issues)
xlucas
parents: 38
diff changeset
    98
#ALT_ant=SUNWant
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
    99
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   100
# default cbe install location
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   101
cbe_prefix=${CBE_PREFIX:-/opt/dtbld}
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   102
# this should be set to a reasonable value in install_pkgbuild()
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   103
pkgbuild_topdir=/fix/me
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   104
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   105
# default value for the "who is the build user" question
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   106
logname=${LOGNAME:-`logname`}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   107
if [ -x /usr/xpg4/bin/id ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   108
    uid=`/usr/xpg4/bin/id -u`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   109
    username=`/usr/xpg4/bin/id -un`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   110
else
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   111
    uid=`/bin/id | cut -f2 -d= | cut -f1 -d'('`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   112
    username=`/bin/id |cut -f2 -d'(' | cut -f1 -d')'`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   113
fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   114
export HOME="$(eval cd ~$username; pwd)"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   115
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   116
always_uninstall_existing=
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   117
always_skip_existing=
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   118
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   119
# write a message to the log file
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   120
# not visible to the user
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   121
log () {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   122
    for msg in "${@}"; do
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   123
	echo "`date`: $msg" >> $LOGFILE
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   124
    done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   125
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   126
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   127
# print a message to the user and also write it to the log file
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   128
msg () {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   129
    for msg in "${@}"; do
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   130
	if [ $quiet_install = no ]; then
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   131
	    echo $msg
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   132
	fi
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   133
	echo "`date`: $msg" >> $LOGFILE
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   134
    done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   135
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   136
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   137
# print a message to the user and also write it to the log file
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   138
msg_err () {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   139
    for msg in "${@}"; do
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   140
	if [ $quiet_install = no ]; then
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   141
	    echo ERROR: $msg 1>&2
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   142
	fi
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   143
	echo "`date`: ERROR: $msg" >> $LOGFILE
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   144
    done
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   145
}
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   146
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   147
# clean up if installation is aborted
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   148
tempdirs=
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   149
remove_tempdirs () {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   150
    IFS=:
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   151
    for tdir in $tempdirs; do
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   152
	case "$tdir" in
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   153
	    /tmp/* )
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   154
                cd /tmp
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   155
		rm -rf "$tdir"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   156
		;;
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   157
	esac
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   158
    done
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   159
}
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   160
trap remove_tempdirs QUIT EXIT
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   161
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   162
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   163
# alternate root directory
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   164
rootdir=/
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   165
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   166
process_cl () {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   167
    while [ $# != 0 ]; do
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   168
	case "$1" in
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   169
	    -R )
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   170
		shift
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   171
		if [ $# == 0 ]; then
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   172
		    echo "Option -R requires an argument." 1>&2
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   173
		    exit 1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   174
		fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   175
		rootdir=$1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   176
		case "$rootdir" in
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   177
		    /* )
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   178
			;;
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   179
		    * )
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   180
			echo "The argument to -R must be an absolute path name" 1>&2
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   181
			exit 1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   182
		esac
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   183
		;;
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   184
	    -h|--help)
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   185
		echo "Usage: $0 [options]"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   186
		echo "options:"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   187
		echo "   -h, --help        print this usage info"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   188
		echo "   -R rootdir        install CBE packages in alternate root directory rootdir"
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   189
		echo "   -k, --kde         install the packages needed for building KDE"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   190
		echo "   -g, --gnome       install the packages needed for building GNOME"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   191
		echo "   -s, --sfe         install the packages needed for building GNOME"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   192
		echo "   -o, --optional    install the optional packages"
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   193
		echo "   -n                non-interactive installation -- assumes the default"
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   194
		echo "   -q, --quiet       quiet install, messages are printed in the log only"
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   195
		echo "                     answers to all questions"
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   196
		echo "   -p dir, --prefix dir"
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   197
                echo "                     install the Desktop CBE to dir"
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   198
		echo "   --ask-alt         ask for confirmation before installing alternative"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   199
                echo "                     tools ([Open]Solaris tools instead of CBE tools)"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   200
		echo "   --no-alt          do not install alternatives, only CBE tools"
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   201
		exit 0
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   202
		;;
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   203
	    --ask-alt)
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   204
		ask_alt=yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   205
		;;
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   206
	    -c|--compiler)
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   207
		shift
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   208
		if [ $# == 0 ]; then
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   209
		    echo "Option -R requires an argument." 1>&2
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   210
		    exit 1
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   211
		fi
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   212
		default_compiler=$1
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   213
		test -x $default_compiler || {
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   214
		    echo "Compiler $default_compiler not found" 1>&2
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   215
		    exit 1
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   216
		}
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   217
		;;
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   218
	    -q|--quiet)
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   219
		quiet_install=yes
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   220
		;;
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   221
	    --no-alt)
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   222
		install_alt=no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   223
		;;
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   224
	    -k|--kde)
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   225
		install_kde=yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   226
		;;
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   227
	    -g|--gnome)
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   228
		install_gnome=yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   229
		;;
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   230
	    -s|--sfe)
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   231
		install_gnome=yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   232
		;;
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   233
	    -o|--optional)
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   234
		install_opt=yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   235
		;;
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   236
	    -n)
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   237
		interactive_install=no
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   238
		;;
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   239
	    -p|--prefix)
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   240
                shift
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   241
		test $# = 0 && {
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   242
		    echo "ERROR: argument required after -p or --prefix option" 1>&2
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   243
		}
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   244
		cbe_prefix="$1"
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   245
		test ${cbe_prefix:0:1} = / || {
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   246
		    echo "ERROR: the prefix must be an absolute path" 1>&2
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   247
		}
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   248
		;;
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   249
	    *)
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   250
		echo "Unknown option: $1" 1>&2
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   251
		exit 1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   252
		;;
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   253
	esac
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   254
	shift
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   255
    done
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   256
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   257
    if [ $interactive_install = yes ]; then
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   258
	quiet_install=no
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   259
    fi
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   260
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   261
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   262
# check the type and name of the compiler
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   263
# set CXX to match CC
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   264
identify_compiler () {
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   265
    id_CC=$1
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   266
    id_CC_name=unknown
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   267
    id_CC_release=
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   268
    id_CC_version=
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   269
    id_CC_rev=
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   270
    id_CC_label=unknown
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   271
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   272
    id_CC_dir=$(dirname $id_CC)
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   273
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   274
    # check if it's gcc
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   275
    cc_version=$($id_CC --version 2>&1)
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   276
    echo "$cc_version" | grep 'gcc (GCC)' > /dev/null && {
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   277
	id_CC_name='GNU gcc'
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   278
	id_CC_version=$(echo "$cc_version" | grep 'gcc (GCC)' | cut -f3 -d' ')
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   279
	id_CC_release=$(echo $id_CC_version | cut -f1 -d.)
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   280
	id_CC_label=gcc${id_CC_release}
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   281
	CXX="$id_CC_dir/g++"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   282
	if [ ! -x "$CXX" ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   283
	    msg "WARNING: $CXX not found"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   284
	fi
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   285
	log "$id_CC is $id_CC_name release $id_CC_release"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   286
	return
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   287
    }
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   288
    cc_version=$($id_CC -V 2>&1)
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   289
    echo "$cc_version" | grep '^cc: Sun ' > /dev/null && {
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   290
	id_CC_name='Sun Studio'
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   291
	id_CC_version=$(echo "$cc_version" | grep '^cc: Sun ' | sed -e 's/^cc: Sun.* C \([0-9][0-9.]*\) .*/\1/')
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   292
	id_CC_rev=$(echo "$cc_version" | grep '^cc: Sun ' | sed -e 's/^cc: Sun.* C [0-9][0-9.]* \(.\)*/\1/')
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   293
	id_CC_rev=$(echo "$id_CC_rev" | grep '^cc: Sun ' | sed -e 's/SunOS_[^ ]* //')
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   294
	if [ "x$id_CC_version" = x5.7 ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   295
	    id_CC_label='ss10'
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   296
	    id_CC_release='Vulcan'
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   297
	    id_CC_name='Sun Studio 10'
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   298
	elif [ "x$id_CC_version" = x5.8 ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   299
	    id_CC_label='ss11'
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   300
	    id_CC_release='Venus'
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   301
	    id_CC_name='Sun Studio 11'
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   302
	elif [ "x$id_CC_version" = x5.9 ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   303
	    id_CC_label='ss12'
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   304
	    id_CC_release='Mars'	    
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   305
	    id_CC_name='Sun Studio 12'
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   306
	elif [ "x$id_CC_version" = x5.10 ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   307
	    id_CC_label='sexp'
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   308
	    id_CC_release='Ceres'
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   309
	    id_CC_name='Sun Studio Express'
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   310
	else
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   311
	    id_CC_label="Studio_$id_CC_version"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   312
	    id_CC_release="$id_CC_version"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   313
	fi
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   314
	CXX="$id_CC_dir/CC"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   315
	if [ ! -x "$CXX" ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   316
	    msg "WARNING: $CXX not found"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   317
	fi
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   318
	log "$id_CC is $id_CC_name release $id_CC_release"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   319
	return
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   320
    }
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   321
    msg "WARNING: could not identify $id_CC = $cc_version"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   322
}
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   323
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   324
# create a build environent config file for the given build compiler
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   325
make_env () {
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   326
    env_compiler=$1
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   327
    envdir=$tempdir/env
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   328
    logrun mkdir -p $envdir
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   329
    identify_compiler $env_compiler
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   330
    if [ "$id_CC_name" = unknown ]; then
25
da75169c0215 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 23
diff changeset
   331
	log "Compiler $1 is unknown, ignoring"
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   332
	return 1
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   333
    fi
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   334
    # identify_compiler sets CXX to match CC
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   335
    # also id_CC_name, id_CC_label, id_CC_version, id_CC_release, id_CC_rev
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   336
    env_file="$envdir/$id_CC_label"
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   337
    env_nr=1
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   338
    while test -f $env_file; do
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   339
	env_file="$envdir/${id_CC_label}.${env_nr}"
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   340
	env_nr=$(($env_nr + 1))
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   341
    done
25
da75169c0215 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 23
diff changeset
   342
    log "creating env file for compiler $1 ($id_CC_name)"
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   343
    echo '# Build environment config file for the Desktop CBE' > "$env_file"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   344
    echo "CC_name='$id_CC_name'"       >> "$env_file"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   345
    echo "CC_version='$id_CC_version'" >> "$env_file"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   346
    echo "CC_release='$id_CC_release'" >> "$env_file"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   347
    echo "CC_rev='$id_CC_rev'"         >> "$env_file"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   348
    echo "cc_dir='$id_CC_dir'"         >> "$env_file"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   349
    echo "CC='$env_compiler'"          >> "$env_file"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   350
    echo "CXX='$CXX'"                  >> "$env_file"
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   351
    return 0
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   352
}
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   353
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   354
# look for compilers in known locations
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   355
find_compilers () {
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   356
    compiler_found=no
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   357
    # FIXME: if CC = gcc, set CFLAGS to -std=c99
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   358
    msg "Locating compilers..."
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   359
    arch=$(uname -p)
41
31570364d0f1 2009-03-16 Lukas (Luc) Oboril <[email protected]> * bump pkgbuild to latest version 1.3.98.4 * add Sun Studio Express 03/09 as known compiler
xlucas
parents: 40
diff changeset
   360
    known_compilers="/sgnome/onnv-tools/$arch/SS12/bin/cc /sgnome/onnv-tools/$arch/SS11/bin/cc /ws/onnv-tools/SUNWspro/SS12/bin/cc /ws/onnv-tools/SUNWspro/SS11/bin/cc /opt/SUNWspro/bin/cc /opt/SS12/SUNWspro/bin/cc /opt/Studio12/bin/cc /opt/SSX0903/bin/cc /usr/bin/cc /opt/SunStudioExpress/bin/cc /usr/bin/gcc /usr/sfw/bin/gcc /usr/gnu/bin/gcc"
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   361
    if [ "x$orig_CC" != x ]; then
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   362
	if [ -x $orig_CC ]; then
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   363
	    echo " $known_compilers " | grep " $orig_CC " > /dev/null || \
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   364
		known_compilers="$orig_CC $known_compilers"
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   365
	fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   366
    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   367
    for compiler in $known_compilers; do
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   368
	if [ -x $compiler -a ! -d $compiler ]; then
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   369
	    make_env $compiler
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   370
	    compiler_found=yes
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   371
	fi
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   372
    done
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   373
}
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   374
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   375
# download pkgbuild from sourceforge using wget
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   376
download_pkgbuild () {
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   377
    mkdir -p $tardir
13
1669a54e47a8 2008-06-16 Laszlo (Laca) Peter <[email protected]>
laca
parents: 12
diff changeset
   378
    /usr/sfw/bin/wget -nd -nH --tries=1 -T 60 -O $tardir/pkgbuild-${PKGBUILD_VERSION}.tar.bz2 http://internode.dl.sourceforge.net/sourceforge/pkgbuild/pkgbuild-${PKGBUILD_VERSION}.tar.bz2 || {
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   379
	msg "Failed to download pkgbuild, cannot continue."
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   380
	exit 1
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   381
    }
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   382
}
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   383
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   384
ask_compiler () {
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   385
    ask 'Enter the path to the C compiler' ans_compiler
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   386
    if [ ! -x $ans_compiler ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   387
	msg "Invalid answer: $ans_compiler is not an executable"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   388
	return 1
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   389
    fi
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   390
    if [ -d $ans_compiler ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   391
	msg "Invalid answer: $ans_compiler is a directory"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   392
	return 1
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   393
    fi
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   394
    identify_compiler "$ans_compiler"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   395
    if [ x$ans_compiler == xunknown ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   396
	msg "Unknown compiler: $ans_compiler"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   397
	return 1
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   398
    fi
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   399
    compiler_found=yes
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   400
    make_env "$ans_compiler"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   401
    return 0
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   402
}
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   403
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   404
# ask the user for additional compiler locations
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   405
ask_compilers () {
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   406
    first=$1
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   407
    ans_more_compilers=yes
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   408
    while [ $ans_more_compilers = yes ]; do
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   409
	if [ "x$first" = xfirst ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   410
	    msg "You need a C compiler in order to use the Desktop CBE"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   411
	    ask_compiler && first=no
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   412
	else
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   413
	    ask_yes_no 'Would you like to configure more compilers for use with the Desktop CBE?' ans_more_compilers no
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   414
	    if [ $ans_more_compilers = yes ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   415
		ask_compiler
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   416
	    fi
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   417
	fi
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   418
    done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   419
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   420
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   421
# install gcc and/or Sun Studio
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   422
install_compilers_pkg () {
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   423
    # ask if gcc should be installed
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   424
    ask_yes_no "Would you like to install gcc (GNU C compiler)?" \
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   425
	ans_install_gcc yes
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   426
    test "$ans_install_gcc" = yes && pkg_try_install SUNWgcc
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   427
    # ask if sun studio express should be installed
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   428
    ask_yes_no "Would you like to install Sun Studio Express (cc 5.10)?" \
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   429
	ans_install_ssexp yes
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   430
    test "$ans_install_ssexp" = yes && pkg_try_install sunstudioexpress
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   431
}
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   432
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   433
check_compilers_kde () {
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   434
    :
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   435
}
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   436
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   437
# print the details of a compiler specified by its env config file
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   438
display_compiler () {
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   439
    . $1
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   440
    msg "$2 - $CC_name $CC_version ($CC_release) in $cc_dir"
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   441
}
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   442
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   443
# select the default compiler configuration
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   444
select_default_compiler () {
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   445
    if [ "x$default_compiler" != x ]; then
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   446
	grep "^CC='$default_compiler'\$" $envdir/* > /dev/null || {
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   447
	    make_env $default_compiler && compiler_found=yes
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   448
	}
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   449
    fi
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   450
    found_default_compiler=
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   451
    found_CC=
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   452
    if [ $compiler_found = yes ]; then
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   453
	msg ""
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   454
	msg "The following compilers were found on your system:"
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   455
	i=1
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   456
	for env in $envdir/*; do
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   457
	    display_compiler $env $i
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   458
	    test "x$default_compiler" != x && \
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   459
		grep "^CC='$default_compiler'\$" $env > /dev/null && \
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   460
		found_default_compiler=$i
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   461
	    test "x$CC" != x && \
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   462
		grep "^CC='$orig_CC'\$" $env > /dev/null && \
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   463
		found_CC=$i
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   464
	    eval env_$i="$env"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   465
	    i=$((i + 1))
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   466
	done
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   467
	i=$(($i - 1))
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   468
	if [ "x$1" != xdont_ask -a "x$found_default_compiler" = x ]; then
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   469
	    ask_compilers
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   470
	    # don't ask again if the user whats to configure more compilers
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   471
	    select_default_compiler dont_ask
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   472
	    return
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   473
	fi
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   474
    else
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   475
	msg "No compilers were found on your system."
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   476
	if [ $PKG_SYSTEM = pkg ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   477
	    ask_yes_no "Would you like the to install compilers now?" \
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   478
		ans_install_compiler yes
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   479
	    if [ x$ans_install_compiler = yes ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   480
		install_compilers_pkg && {
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   481
		    find_compilers
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   482
	            # don't ask again if the user whats
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   483
		    # to configure more compilers
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   484
		    select_default_compiler dont_ask
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   485
		    return
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   486
		}
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   487
	    fi
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   488
	fi
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   489
	ask_compilers first
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   490
	select_default_compiler dont_ask
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   491
	return
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   492
    fi
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   493
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   494
    if [ $i = 1 ]; then
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   495
	# there's only one compiler no need to ask which one's the default
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   496
	ans_default_compiler=1
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   497
    elif [ "x$found_default_compiler" != x ]; then
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   498
	# found the compiler specified with the --compiler or -c option
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   499
	ans_default_compiler=$found_default_compiler
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   500
	msg "Selected #${found_default_compiler} $default_compiler"
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   501
    else
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   502
	if [ "x$found_CC" != x ]; then
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   503
	    # found the compiler in the CC env var
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   504
	    default_default_compiler=$found_CC
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   505
	else
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   506
	    default_default_compiler=$i
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   507
	fi
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   508
	ans_default_compiler=9999
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   509
	while [ $ans_default_compiler -gt $i ]; do
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   510
	    ask 'Please select the default compiler' ans_default_compiler \
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   511
		$default_default_compiler
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   512
	    is_number "$ans_default_compiler" || {
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   513
		msg "Please enter a number from 1 to $i"
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   514
		ans_default_compiler=9999
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   515
	    }
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   516
	done
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   517
    fi
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   518
    eval default_env="\$env_$ans_default_compiler"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   519
    if [ ! -f $default_env ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   520
	msg "Internal error in cbe-install, please report to desktop-discuss"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   521
    fi
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   522
    . $default_env
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   523
    export CC
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   524
    export CXX
25
da75169c0215 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 23
diff changeset
   525
    log "Default environment: `basename $default_env` (CC=$CC, CXX=$CXX)"
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   526
}
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   527
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   528
# verify that the running system is suitable for the Desktop CBE
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   529
# and set up some variables
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   530
init () {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   531
    myos=`uname -s`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   532
    if [ "x$myos" != xSunOS ]; then
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   533
	echo "Run this script on a Solaris system." 1>&2
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   534
	exit 1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   535
    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   536
    
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   537
    umask 0022
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   538
    the_cpu=`uname -p`
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   539
    if [ "x$the_cpu" != xsparc ]; then
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   540
	the_cpu=x86
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   541
    fi
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   542
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   543
    myos_rel=`uname -r`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   544
    if [ "x$myos_rel" = "x5.10" -o "x$myos_rel" = "x5.10.1" -o "x$myos_rel" = "x5.11" ]; then
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   545
	:
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   546
    else
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   547
	echo "Solaris 10, Solaris Nevada or OpenSolaris required." 1>&2
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   548
	exit 1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   549
    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   550
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   551
    if [ "x$myos_rel" = "x5.10" ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   552
	solaris_pkg_dir=/cdrom/cdrom0/Solaris_10/Product
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   553
    elif [ "x$myos_rel" = "x5.11" ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   554
	solaris_pkg_dir=/cdrom/cdrom0/Solaris_11/Product
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   555
    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   556
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   557
    mydir=$(cd $(dirname $0); pwd);
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   558
    tardir=${mydir}/tarballs
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   559
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   560
    CBE_VERSION=`cat $mydir/CBE_VERSION`
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   561
    if [ $quiet_install = no ]; then
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   562
	echo "Desktop Common Build Environment (CBE) Installer version $CBE_VERSION"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   563
    fi
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   564
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   565
    my_id=`/usr/xpg4/bin/id -u`
29
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   566
    prof_sw_inst=`/bin/profiles | nl -s: | grep 'Software Installation' | cut -f1 -d:`
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   567
    prof_pri_adm=`/bin/profiles | nl -s: | grep 'Primary Administrator' | cut -f1 -d:`
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   568
    prof_basic_usr=`/bin/profiles | nl -s: | grep 'Basic Solaris User' | cut -f1 -d:`
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   569
    if [ "x$prof_sw_inst" = x -a "x$prof_pri_adm" = x -o "x$my_id" = x0 ]; then
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   570
	echo 'Run this script as a user with the "Software Installation"' 1>&2
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   571
	echo 'or "Primary Administrator" profile.' 1>&2
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   572
	test -x /usr/bin/users-admin && {
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   573
	    echo 1>&2
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   574
	    echo 'You can also use the users-admin program (System -> Administration ->' 1>&2
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   575
	    echo 'Users and Groups in the GNOME menu) to assign profiles.' 1>&2
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   576
	    echo 1>&2
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   577
	}
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   578
	echo 'See the user_attr(4) and profiles(1) manual pages for further details' 1>&2
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   579
	exit 1
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   580
    else
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   581
	if [ "x$prof_basic_usr" != x ]; then
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   582
	    if [ "x$prof_sw_inst" != x ]; then
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   583
		if [ $prof_sw_inst -gt $prof_basic_usr ]; then
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   584
		    echo 'The "Software Installation" profile in /etc/user_attr should appear' 1>&2
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   585
		    echo 'before Basic Solaris User.' 1>&2
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   586
		    exit 1
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   587
		fi
29
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   588
	    fi
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   589
	    if [ "x$prof_pri_adm" != x ]; then
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   590
		if [ $prof_pri_adm -gt $prof_basic_usr ]; then
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   591
		    echo 'The "Primary Administrator" profile in /etc/user_attr should appear' 1>&2
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   592
		    echo 'before Basic Solaris User.' 1>&2
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
   593
		    exit 1
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   594
		fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   595
	    fi
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   596
	fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   597
    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   598
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   599
    # svr4 or pkg(5)
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   600
    check_pkg_system
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   601
    msg "Using \"$PKG_SYSTEM\" packaging system"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   602
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   603
    msg "Checking for required packages..."
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   604
    if [ $PKG_SYSTEM = pkg ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   605
	check_cbe_dependencies_pkg $CBE_PKG_DEPENDENCIES
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   606
    else
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   607
	check_cbe_dependencies_svr4 $CBE_SVR4_DEPENDENCIES
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   608
    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   609
    if [ $DEPS_OK = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   610
	msg "All required packages are installed."
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   611
    else
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   612
	if [ $DEPS_INSTALLED = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   613
	    msg "Successfully installed all required packages"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   614
	else
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   615
	    msg "WARNING: some required packages are missing.  Expect build issues..."
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   616
	fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   617
    fi
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   618
13
1669a54e47a8 2008-06-16 Laszlo (Laca) Peter <[email protected]>
laca
parents: 12
diff changeset
   619
    need_tarballs=no
16
517d4d668260 2008-06-16 Laszlo (Laca) Peter <[email protected]>
laca
parents: 15
diff changeset
   620
    if [ ! -f $mydir/pkgs-${the_cpu}/CBElibtool/pkginfo ]; then
517d4d668260 2008-06-16 Laszlo (Laca) Peter <[email protected]>
laca
parents: 15
diff changeset
   621
	# no packages found, will need to build from source
517d4d668260 2008-06-16 Laszlo (Laca) Peter <[email protected]>
laca
parents: 15
diff changeset
   622
	test ! -f $tardir/pkgbuild-${PKGBUILD_VERSION}.tar.bz2 && {
517d4d668260 2008-06-16 Laszlo (Laca) Peter <[email protected]>
laca
parents: 15
diff changeset
   623
	    download_pkgbuild
517d4d668260 2008-06-16 Laszlo (Laca) Peter <[email protected]>
laca
parents: 15
diff changeset
   624
	    need_tarballs=yes
517d4d668260 2008-06-16 Laszlo (Laca) Peter <[email protected]>
laca
parents: 15
diff changeset
   625
	}
517d4d668260 2008-06-16 Laszlo (Laca) Peter <[email protected]>
laca
parents: 15
diff changeset
   626
    fi
13
1669a54e47a8 2008-06-16 Laszlo (Laca) Peter <[email protected]>
laca
parents: 12
diff changeset
   627
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   628
    if [ -f /usr/sfw/include/glib.h ]; then
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   629
	echo "WARNING: /usr/sfw/include/glib.h is in conflict with the Desktop headers." 1>&2
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   630
	echo "WARNING: Please remove this file or SUNWGlib to avoid build problems." 1>&2
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   631
	echo 1>&2
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   632
	if [ $interactive_install = yes ]; then
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   633
	    echo "Press Enter to continue"
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   634
	    read dummy
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   635
	else
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   636
	    echo "Aborting installation" 1>&2
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   637
	    exit 1
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   638
	fi
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   639
    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   640
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   641
    log "Running on `uname -a`"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   642
    log "My directory is $mydir"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   643
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   644
    ENV_SET=`env | grep '^[a-zA-Z0-9_]*=' | cut -f1 -d=`
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   645
    for var in $ENV_SET; do
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   646
	case $var in
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   647
	    PS1|PS2|HZ|TERM|SHELL|OLDPWD|PATH|MAIL|PWD|TZ|SHLVL|HOME|LOGNAME|PRINTER|HOSTNAME|_|CC|CXX|EDITOR|SSH_*|DISPLAY|LESS*|LS_COLORS|LS_OPTIONS|TERMINFO|PAGER|MANPATH|VISUAL)
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   648
		;;
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   649
	    *)
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   650
		val=`eval echo "\\\$$var"`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   651
		log "Unsetting $var (=\"$val\")"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   652
		unset $var
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   653
		;;
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   654
	esac
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   655
    done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   656
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   657
    tempdir=`mktemp -d /tmp/cbe-install-XXXX`
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   658
    tempdirs="$tempdirs:$tempdir"
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   659
    if [ ! -d $tempdir ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   660
	msg_err "Failed to create temporary directory in /tmp"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   661
	exit 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   662
    fi
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   663
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   664
    # if binary packages are found in the pkgs-*/ subdir then this is a
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   665
    # binary install
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   666
    if [ -f $mydir/pkgs-${the_cpu}/CBElibtool/pkginfo ]; then
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   667
	binary_install=yes
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
   668
	pkg_arch=`grep '^ARCH=' $mydir/pkgs-${the_cpu}/CBElibtool/pkginfo | cut -f2 -d=`
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   669
	arch=`uname -p`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   670
	if [ "x$arch" != "x$pkg_arch" ]; then
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   671
	    echo "ERROR: wrong architecture" 1>&2
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   672
	    echo "ERROR: these Desktop CBE packages must be installed on a $pkg_arch system" 1>&2
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   673
	    exit 1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   674
	fi
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   675
	cbe_prefix=/opt/dtbld
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   676
    else
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   677
	binary_install=no
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   678
    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   679
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   680
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   681
is_number () {
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   682
    if [ "x$1" = xOK ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   683
	return 1
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   684
    fi
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   685
    temp=$(echo "$1" | sed -e 's/[1-9][0-9]*/OK/')
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   686
    if [ "x$temp" == xOK ]; then
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   687
	return 0
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   688
    fi
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   689
    return 1
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   690
}
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   691
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   692
# ask "question" variable_name "default answer"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   693
#
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   694
# answer is stored in variable variable_name
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   695
ask () {
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   696
    if [ $quiet_install = no ]; then
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   697
	echo -n "$1"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   698
    fi
25
da75169c0215 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 23
diff changeset
   699
    log "Question: $1"
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   700
    if [ $interactive_install = no ]; then
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   701
	if [ ! -z $3 ]; then
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   702
	    if [ $quiet_install = no ]; then
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   703
		echo ' => '$3
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   704
	    fi
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   705
	    eval "$2=\"$3\""
25
da75169c0215 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 23
diff changeset
   706
	    log "Answer (non-interactive): $3"
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   707
	    return
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   708
	else
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   709
	    msg ""
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   710
	    msg_err "No default answer found for this question"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   711
	    msg_err "Cannot continue with non-interactive installation"
25
da75169c0215 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 23
diff changeset
   712
	    log "No default answer, aborting"
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   713
	    exit 1
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   714
	fi
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   715
    fi
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   716
 
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   717
    if [ ! -z $3 ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   718
	echo -n " [$3]: "
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   719
    else
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   720
	echo -n ": "
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   721
    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   722
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   723
    read -e val
25
da75169c0215 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 23
diff changeset
   724
    log "Answer: $val"
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   725
    if [ "x$val" = x ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   726
	eval "$2=\"$3\""
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   727
    else
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   728
	eval "$2=\"$val\""
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   729
    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   730
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   731
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   732
# ask_yes_no "question" variable_name "default answer"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   733
#
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   734
# Answer ("yes" or "no") is stored in variable variable_name.
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   735
# Keep asking the user until the answer is yes or no.
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   736
ask_yes_no () {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   737
    yes_no_repeat=yes
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   738
    while [ $yes_no_repeat = yes ]; do
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   739
	yes_no_repeat=no
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   740
	ask "${@}"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   741
	eval "the_ans=\"\$$2\""
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   742
	case "$the_ans" in
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   743
	    [yY]|[yY][eE][sS] )
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   744
                eval "$2=yes"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   745
		;;
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   746
 	    [nN]|[nN][oO] )
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   747
		eval "$2=no"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   748
		;;
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   749
	    * )
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   750
	        echo "Please answer yes or no"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   751
		yes_no_repeat=yes
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   752
	esac
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   753
    done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   754
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   755
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   756
# get_dir "question" "answer_var" "default answer" "owner"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   757
#
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   758
# Ask for a directory name and make sure it exists or create it
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   759
# for the user
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   760
get_dir () {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   761
    repeat=yes
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   762
    while [ $repeat = yes ]; do
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   763
	repeat=no
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   764
	ask "$1" new_dir "$3"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   765
	case "$new_dir" in
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   766
	    /* )
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   767
                # absolute path name, nothing to do
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   768
                ;;
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   769
	    ~* )
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   770
	        if [ "x$rootdir" != x/ ]; then
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   771
		    msg "The Desktop CBE is being installed to an alternate root directory."
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   772
		    msg "You need to specify the full path to directories within the alternate root."
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   773
		    repeat=yes
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   774
		    continue
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   775
	        fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   776
		d1=`echo "$new_dir" | cut -f1 -d/`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   777
		d2=`echo "$new_dir/" | cut -f2- -d/`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   778
		d1n=$(eval echo "$d1")
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   779
		test -d "$d1n" || {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   780
		    repeat=yes
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   781
		    msg "Directory not found: $d1"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   782
		    continue
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   783
                }
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   784
		d1n=$(cd "$d1n" 2>/dev/null && pwd) || {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   785
		    repeat=yes
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   786
		    msg "Failed to access directory: $d1"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   787
		    continue
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   788
		}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   789
		msg "Directory $new_dir expanded to $d1n/$d2"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   790
		new_dir="$d1n/$d2"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   791
		;;
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   792
	    * )
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   793
	        if [ "x$rootdir" != x/ ]; then
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   794
		    msg "The Desktop CBE is being installed to an alternate root directory."
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   795
		    msg "You need to specify the full path to directories within the alternate root."
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   796
		    repeat=yes
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   797
		    continue
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   798
	        fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   799
		d1=`echo "$new_dir" | cut -f1 -d/`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   800
		d2=`echo "$new_dir/" | cut -f2- -d/`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   801
		d1n=$(eval echo "$d1")
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   802
		test -d "$d1n" || {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   803
		    repeat=yes
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   804
		    msg "Directory not found: $d1"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   805
		    continue
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   806
                }
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   807
		d1n=$(cd "$d1n" 2>/dev/null && pwd) || {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   808
		    repeat=yes
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   809
		    msg "Failed to access directory: $d1"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   810
		    continue
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   811
		}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   812
		msg "Directory $new_dir expanded to $d1n/$d2"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   813
		new_dir="$d1n/$d2"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   814
		;;
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   815
	esac
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   816
    done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   817
    if [ "x$new_dir" != "x/" ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   818
	new_dir=`echo "$new_dir" | sed -e 's%/*$%%'`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   819
    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   820
    eval "$2=\"$new_dir\""
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   821
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   822
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   823
# gather info for the installation from the user
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   824
ask_defaults () {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   825
    if [ $binary_install != yes ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   826
	repeat=yes
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   827
	while [ $repeat = yes ]; do
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   828
	    repeat=no
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   829
	    get_dir "Enter the base directory (prefix) of the cbe" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   830
		cbe_prefix $cbe_prefix root
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   831
	    if [ "$cbe_prefix" = "/" -o "$cbe_prefix" = "/tmp" ]; then
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   832
		msg "This directory is not allowed."
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   833
		msg "Please choose a different one as the cbe prefix"
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   834
		repeat=yes
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   835
	    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   836
	done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   837
    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   838
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   839
    if [ ! -f "$HOME/.pkgbuildmacros" -a ! -d "$HOME/packages" ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   840
	# the user probably hasn't used pkgbuild >= 1.1.0 yet
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   841
	# so let's ask if they want to use a specific topdir
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   842
	# instead of $HOME/packages
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   843
	msg "Starting from pkgbuild 1.1.0 (CBE 1.5) there is no system-wide"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   844
        msg "build directory (%_topdir), instead, each user has their own."
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   845
	msg "The default directory is \$HOME/packages."
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   846
	msg "If you wish to use a different build directory, you can define it"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   847
	msg "in \$HOME/.pkgbuildmacros as follows:"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   848
	msg ""
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   849
	msg "       %_topdir    /path/to/my/build/area"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   850
	msg ""
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   851
	if [ "$uid" = 0 ]; then
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   852
	    if [ $interactive_install = yes ]; then
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   853
		echo
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   854
		echo Press Enter to continue
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   855
		read dummy
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
   856
	    fi
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   857
	else
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   858
	    ask_yes_no "Would you like to do this now?" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   859
		set_topdir no
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   860
	    if [ $set_topdir = no ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   861
		log "the user chose not to change the default topdir"
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   862
		msg "The default topdir ($HOME/packages) will be used"
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   863
	    else
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   864
		get_dir "Enter your build directory" default_topdir \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   865
		    "$cbe_prefix/packages" $logname
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   866
		log "the user selected $default_topdir for topdir"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   867
		echo "%_topdir $default_topdir" > $HOME/.pkgbuildmacros
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   868
		log "created $HOME/.pkgbuildmacros"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   869
	    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   870
	fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   871
    else
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   872
	log "the user already has a .pkgbuildmacros file or ~/packages dir"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   873
    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   874
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   875
    find_compilers
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
   876
    select_default_compiler
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   877
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   878
    if [ x$install_gnome = xno -a x$install_kde = xno \
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   879
	    -a x$install_opt = xno -a x$install_sfe = xno ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   880
	# no components selected using the CLI (--gnome, etc.)
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   881
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   882
	msg ""
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   883
	msg "The Desktop CBE includes tools for building GNOME, KDE and/or SFE packages"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   884
	msg "It also includes some optional tools.  Please select the tools you wish"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   885
	msg "to install."
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   886
	msg ""
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   887
	ask_yes_no "Would you like install the tools for GNOME?" install_gnome yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   888
	ask_yes_no "Would you like install the tools for KDE?" install_kde yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   889
	ask_yes_no "Would you like install the tools for SFE?" install_sfe yes
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   890
	msg ""
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   891
	msg "The following tools are optional: $OPT_MODULES"
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   892
	ask_yes_no "Would you like install the optional tools?" install_opt yes
25
da75169c0215 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 23
diff changeset
   893
    else
da75169c0215 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 23
diff changeset
   894
	log "Install tools for GNOME? $install_gnome"
da75169c0215 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 23
diff changeset
   895
	log "Install tools for KDE? $install_kde"
da75169c0215 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 23
diff changeset
   896
	log "Install tools for SFE? $install_sfe"
da75169c0215 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 23
diff changeset
   897
	log "Install tools for OPTINAL? $install_opt"
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   898
    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   899
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   900
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   901
# create an admin file for pkgadd/pkgrm
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   902
make_admin_file () {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   903
    echo "mail="                 > $1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   904
    echo "instance=unique" 	>> $1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   905
    echo "conflict=nocheck"     >> $1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   906
    echo "conflict=quit"        >> $1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   907
    echo "setuid=nocheck"       >> $1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   908
    echo "action=nocheck"       >> $1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   909
    echo "partial=quit"         >> $1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   910
    echo "space=quit"           >> $1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   911
    if [ "$2" = "pkgrm" ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   912
	echo "idepend=nocheck"      >> $1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   913
	echo "rdepend=nocheck"      >> $1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   914
    else
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   915
	echo "idepend=quit"         >> $1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   916
	echo "rdepend=quit"         >> $1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   917
    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   918
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   919
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   920
# run a command, redirect the output to a log file and also print it
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   921
# on stdout
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   922
logrun () {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   923
    status_file=/tmp/.command_status.$$
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   924
    /usr/bin/rm -f $status_file
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   925
    log "running $*"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   926
    log "*** command output follows ***"
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   927
    if [ $quiet_install = yes ]; then
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   928
	"${@}" >>$LOGFILE 2>&1
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   929
	status=$?
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   930
    else
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   931
	( "${@}" 2>&1 ; echo $? > $status_file ) | tee -a $LOGFILE
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   932
	status=`cat $status_file`
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   933
	/usr/bin/rm -f $status_file
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
   934
    fi
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   935
    log "*** command output ends ***"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   936
    return $status
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   937
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   938
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   939
# run a command, redirect the output to a log file and also print it
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   940
# on stdout
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   941
logrun_quiet () {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   942
    log "running $*"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   943
    log "*** command output follows ***"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   944
    "${@}" >>$LOGFILE 2>&1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   945
    status=$?
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   946
    log "*** command output ends ***"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   947
    return $status
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   948
}
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   949
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   950
# check if a package is installed and if so, offer to uninstall it
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   951
check_if_installed () {
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   952
    for f in $*; do
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   953
	skip_package=no
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   954
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   955
	pkginfo -R $rootdir -q "$f"'.*' || return 0
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
   956
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   957
	if [ x$always_uninstall_existing != xyes -a x$always_skip_existing != xyes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   958
	    msg "Package $f is already installed."
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   959
	    ask_yes_no "Would you like uninstall it?" do_uninstall yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   960
	    if [ $do_uninstall = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   961
		if [ x$always_uninstall_existing != xno ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   962
		    ask_yes_no "Always uninstall previously installed packages?" \
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   963
			always_uninstall_existing yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   964
		    log "always_uninstall_existing = $always_uninstall_existing"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   965
		fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   966
	    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   967
	else
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   968
	    if [ x$always_skip_existing = xyes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   969
		msg "Skipping package $f -- already installed"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   970
		skip_package=yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   971
		return 0
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   972
	    else
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   973
		do_uninstall=yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   974
	    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   975
	fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   976
	if [ $do_uninstall = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   977
	    log "User chose to uninstall $f"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   978
	    make_admin_file /tmp/pkgrm.admin.$$ pkgrm || return 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   979
	    pkgrm_failed=no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   980
	    logrun pfexec /usr/sbin/pkgrm -R $rootdir -n -a /tmp/pkgrm.admin.$$ "$f.*" || pkgrm_failed=yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   981
	    if [ $pkgrm_failed = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   982
		ask_yes_no "pkgrm failed. would you like to continue anyway?" pkgrm_cont no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   983
		if [ $pkgrm_cont = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   984
		    log "User chose to continue anyway"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   985
		    return 0
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   986
		fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   987
		return 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   988
	    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   989
	    return 0
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   990
	else
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   991
	    log "User chose not to uninstall $f"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   992
	    if [ x$always_skip_existing != xyes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   993
		ask_yes_no "Would you like skip to the next package?
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   994
(\"no\" means the installer will try to build and install a duplicate package)" skip_package yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   995
		if [ $skip_package = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   996
		    log "User chose to skip package $f"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   997
		    if [ x$always_skip_existing != xno ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   998
			ask_yes_no "Always skip packages that are already installed?" always_skip_existing yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
   999
			log "always_skip_existing = $always_skip_existing"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1000
		    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1001
		    return 0
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1002
		fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1003
	    else
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1004
		skip_package=yes
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1005
		return 0
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1006
	    fi
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1007
	    msg "Not uninstalling $f."
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1008
	    msg "NOTE that this may cause problems later"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1009
	    ask "Press Enter to continue" dummy ""
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1010
	    return 0
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1011
	fi
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1012
    done
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1013
    return 0
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1014
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1015
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1016
# install a list of svr4 packages given its directory, altroot and the
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1017
# names of the packages
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1018
install_pkgs () {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1019
    pdir=$1; shift
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1020
    rdir=$1; shift
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1021
    make_admin_file $tempdir/pkgadd.admin.$$ pkgadd
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1022
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1023
    for pkg in $*; do
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1024
	msg "Installing package $pkg"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1025
	logrun pfexec /usr/sbin/pkgadd -R "$rdir" -n -a $tempdir/pkgadd.admin.$$ -d "$pdir" $pkg || \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1026
	    return 1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1027
    done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1028
    /usr/bin/rm -f $tempdir/pkgadd.admin.$$
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1029
    return 0
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1030
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1031
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1032
# check if the system is pkg(5) based or SVr4 based
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1033
# To identify, we check which system was used to install SUNWcs/SUNWcsu
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1034
# Output: set the PKG_SYSTEM variable with either pkg or svr4
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1035
check_pkg_system () {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1036
    if [ -x /usr/bin/pkg -a -d /var/pkg/catalog ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1037
	pkg -R $rootdir list SUNWcs > /dev/null 2>&1 && {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1038
	    PKG_SYSTEM=pkg
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1039
	    return
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1040
	}
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1041
    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1042
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1043
    pkginfo -R $rootdir -q SUNWcsu && {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1044
	PKG_SYSTEM=svr4
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1045
	return
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1046
    }
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1047
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1048
    msg_err "Could not identify the packaging system"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1049
    exit 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1050
}
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1051
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1052
pkg_refreshed=no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1053
pkg_refresh () {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1054
    if [ $pkg_refreshed = no ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1055
	msg "Refeshing the package catalogs..."
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1056
	logrun_quiet pfexec pkg -R $rootdir refresh
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1057
	pkg_refreshed=yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1058
    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1059
}
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1060
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1061
pkg_try_install () {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1062
    pkg_refresh
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1063
    pfexec pkg -R $rootdir install -q $1 && {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1064
	msg "$1 installed successfully"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1065
	return 0
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1066
    } || {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1067
	msg "Failed to install package $1"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1068
	msg "Retrying in verbose mode:"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1069
	pfexec pkg -R $rootdir install -v $1 && {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1070
	    msg "$1 installed successfully"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1071
	    return 0
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1072
	} || {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1073
	    msg "Installation of $1 failed again."
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1074
	    ask_yes_no "Would you like to continue? (no means exit)" ans_continue no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1075
	    if [ $ans_continue = no ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1076
		exit 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1077
	    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1078
	    DEPS_INSTALLED=no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1079
	    return 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1080
	}
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1081
    }		
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1082
}
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1083
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1084
install_all_dependencies=
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1085
skip_all_dependencies=
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1086
check_cbe_dependencies_pkg () {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1087
    DEPS_OK=yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1088
    DEPS_INSTALLED=no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1089
    for pkg in $*; do
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1090
	pkg -R $rootdir list $pkg > /dev/null 2>&1 && {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1091
	    log "$pkg is installed"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1092
	} || {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1093
	    log "$pkg is not installed"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1094
	    DEPS_OK=no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1095
	    if [ x$skip_all_dependencies = xyes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1096
		msg "   $pkg is not installed (skipping)"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1097
	    elif [ x$install_all_dependencies = xyes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1098
		pkg_try_install $pkg
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1099
	    elif [ x$install_all_dependencies = x ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1100
		msg "Package $pkg is not installed"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1101
		ask_yes_no "Would you like the CBE installer to install this package for you?" ans_install_dep "yes"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1102
		if [ $ans_install_dep = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1103
		    ask_yes_no "Would you like the CBE installer to install all required packages?" install_all_dependencies yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1104
		    pkg_try_install $pkg && {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1105
			DEPS_INSTALLED=yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1106
		    }
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1107
		else
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1108
		    # user chose not to install this dep
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1109
		    DEPS_INSTALLED=no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1110
		    log "The user chose not to install $pkg"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1111
		    if [ x$skip_all_dependencies = x ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1112
			ask_yes_no "Would you like to skip all missing packages?" skip_all_dependencies no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1113
		    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1114
		fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1115
	    elif [ x$install_all_dependencies = xno ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1116
		msg "Package $pkg is not installed"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1117
		ask_yes_no "Install this package?" ans_install_dep "yes"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1118
		if [ $ans_install_dep = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1119
		    pkg_try_install $pkg
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1120
		fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1121
	    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1122
	}
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1123
    done
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1124
}
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1125
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1126
install_all_dependencies=
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1127
skip_all_dependencies=
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1128
# check if the pkgs GNOME or KDE requires are installed; if not install them
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1129
check_cbe_dependencies_svr4 () {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1130
    DEPS_OK=yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1131
    DEPS_INSTALLED=yes
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1132
    # we're going to cp solaris pkgs from the media to this dir
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1133
    tmp_pkg_dir=`mktemp -d /tmp/cbe-pkgs-XXXX`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1134
    # schedule this dir for removal if the installation is aborted
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1135
    tempdirs="$tempdirs:$tmp_pkg_dir"
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1136
    if [ ! -d $tmp_pkg_dir ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1137
	msg_err "Failed to create temporary directory in /tmp"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1138
	exit 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1139
    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1140
    for pkg in $*; do
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1141
	pkginfo -R $rootdir -q "$pkg."'*' && continue
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1142
	DEPS_OK=no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1143
	if [ x$skip_all_dependencies = xyes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1144
	    msg "   $pkg is not installed (skipping)"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1145
	    continue
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1146
	elif [ x$install_all_dependencies = x ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1147
	    msg "Package $pkg is not installed"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1148
	    ask_yes_no "Would you like the CBE installer to install this package for you?" ans_install_dep "yes"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1149
	    if [ $ans_install_dep = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1150
		ask_yes_no "Would you like the CBE installer to install all required packages?" install_all_dependencies yes
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1151
		while /bin/true; do
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1152
		    ask "Enter the path to the Solaris packages" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1153
			solaris_pkg_dir "$solaris_pkg_dir"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1154
		    # Copy all packages found in $solaris_pkg_dir to a temporary
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1155
		    # dir so that people installing from CDs don't need to
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1156
		    # swap CDs all the time...
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1157
		    for p0 in $CBE_SVR4_DEPENDENCIES; do
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1158
			# already copied to the tmp dir
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1159
			test -d $tmp_pkg_dir/$p0 && continue
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1160
			# already installed, no need to copy
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1161
			pkginfo -q $p0 && continue
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1162
			test -d "$solaris_pkg_dir/$p0" && \
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1163
			    /bin/cp -pr "$solaris_pkg_dir/$p0" $tmp_pkg_dir && \
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1164
			    /bin/chmod -R u+w $tmp_pkg_dir/$p0
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1165
		    done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1166
		    test -d "$solaris_pkg_dir/$pkg" && break
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1167
		    msg "$solaris_pkg_dir/$pkg not found"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1168
		done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1169
	    else
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1170
		log "The user chose not to install $pkg"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1171
		DEPS_INSTALLED=no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1172
		if [ x$skip_all_dependencies = x ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1173
		    ask_yes_no "Would you like to skip all missing packages?" skip_all_dependencies no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1174
		fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1175
		continue
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1176
	    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1177
	elif [ x$install_all_dependencies = xno ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1178
	    msg "Package $pkg is not installed"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1179
	    ask_yes_no "Install this package?" ans_install_dep "yes"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1180
	    if [ $ans_install_dep = no ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1181
		DEPS_INSTALLED=no
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1182
		continue
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1183
	    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1184
	fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1185
	while /bin/true; do
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1186
	    msg "Installing package $pkg"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1187
	    make_admin_file /tmp/pkgadd.admin.$$ pkgadd
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1188
	    if [ -d $tmp_pkg_dir/$pkg ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1189
		logrun pfexec /usr/sbin/pkgadd -R $rootdir -n -a /tmp/pkgadd.admin.$$ -d "$tmp_pkg_dir" $pkg
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1190
		if [ $? != 0 ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1191
		    msg "WARNING: failed to install required package $pkg"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1192
		    ask_yes_no "Would you like to retry?" "do_retry" "yes"
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1193
		    if [ $do_retry = no ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1194
			DEPS_INSTALLED=no
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1195
		    fi
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1196
		else
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1197
		    do_retry=no_need_to
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1198
		fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1199
	    else
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1200
		msg "Package $pkg was not found in $solaris_pkg_dir"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1201
		do_retry=yes
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1202
		/bin/true
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1203
	    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1204
	    if [ $do_retry = yes ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1205
		while /bin/true; do
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1206
		    ask "Enter the path to the Solaris packages" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1207
			solaris_pkg_dir "$solaris_pkg_dir"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1208
		    test -d "$solaris_pkg_dir/$pkg" && break
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1209
		    msg "$solaris_pkg_dir/$pkg not found"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1210
		done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1211
		# Copy all packages found in $solaris_pkg_dir to a temporary
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1212
		# dir so that people installing from CDs don't need to
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1213
		# swap CDs all the time...
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1214
		for p0 in $CBE_SVR4_DEPENDENCIES; do
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1215
		    test -d "$solaris_pkg_dir/$p0" && \
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1216
			/bin/cp -pr "$solaris_pkg_dir/$p0" $tmp_pkg_dir && \
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1217
			/bin/chmod -R u+w $tmp_pkg_dir/$p0
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1218
		done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1219
	    elif [ $do_retry = no ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1220
		ask_yes_no "Continue installation anyway?" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1221
		    do_continue no
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1222
		if [ $do_continue = no ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1223
		    /bin/rm -f /tmp/pkgadd.admin.$$
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1224
		    /bin/rm -rf $tmp_pkg_dir
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1225
		    msg "Installation aborted."
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1226
		    exit 1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1227
		else
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1228
		    DEPS_INSTALLED=no
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1229
		    break
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1230
		fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1231
		break
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1232
	    else
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1233
		/bin/rm -rf $tmp_pkg_dir/$pkg
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1234
		/bin/rm -f /tmp/pkgadd.admin.$$
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1235
		break
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1236
	    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1237
	done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1238
    done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1239
    /bin/rm -rf $tmp_pkg_dir
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1240
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1241
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1242
# install pkgbuild from tarball to a temp location and then build a
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1243
# pkgbuild pkg using itself
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1244
install_pkgbuild () {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1245
    check_if_installed SFpkgbuild || {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1246
	pkgbuild_topdir=`$cbe_prefix/bin/pkgbuild -bp $cbe_prefix/lib/pkgbuild-$PKGBUILD_VERSION/get_rpm_topdir 2>&1 | grep '^TOPDIR=' | cut -f2- -d=`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1247
	return 1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1248
    }
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1249
    if [ $skip_package = yes ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1250
	return 0
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1251
    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1252
    export PATH=/usr/ccs/bin:/usr/gnu/bin:/usr/bin:/usr/sbin:/usr/sfw/bin
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1253
    # we're going to build pkgbuild in this directory
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1254
    tmp_build_dir=`mktemp -d /tmp/cbe-build-XXXX`
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1255
    # schedule this dir for removal if the installation is aborted
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1256
    tempdirs="$tempdirs:$tmp_build_dir"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1257
    if [ ! -d $tmp_build_dir ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1258
	msg_err "Failed to create temporary directory in /tmp"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1259
	exit 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1260
    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1261
    cd $tmp_build_dir || return 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1262
    logrun mkdir -p src || return 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1263
    cd src || return 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1264
    logrun bash -c "bzcat $tardir/pkgbuild-$PKGBUILD_VERSION.tar.bz2 | tar xf -" || return 1
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1265
    cd pkgbuild-$PKGBUILD_VERSION || return 1
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1266
    msg "Building pkgbuild from source..."
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
  1267
    if [ x"`basename $CC`" = xgcc ]; then
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
  1268
	export CFLAGS='-std=c99'
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
  1269
    fi
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1270
    logrun_quiet ./configure --prefix="$tmp_build_dir" || return 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1271
    logrun_quiet make install || return 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1272
    msg "Now rebuilding pkgbuild using itself..."
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1273
    logrun mkdir -p $tmp_build_dir/packages/SOURCES || return 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1274
    logrun ln -s $tardir/pkgbuild-$PKGBUILD_VERSION.tar.bz2 $tmp_build_dir/packages/SOURCES/ || return 1
41
31570364d0f1 2009-03-16 Lukas (Luc) Oboril <[email protected]> * bump pkgbuild to latest version 1.3.98.4 * add Sun Studio Express 03/09 as known compiler
xlucas
parents: 40
diff changeset
  1275
    logrun cp -pr $tmp_build_dir/src/pkgbuild-$PKGBUILD_VERSION/COPYING $tmp_build_dir/packages/SOURCES/gpl-2.0.txt || return 1
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1276
    logrun_quiet bash -c "$tmp_build_dir/bin/pkgbuild --define \"pkgbuild_prefix $cbe_prefix\" --define \"_topdir $tmp_build_dir/packages\" -ba $tmp_build_dir/src/pkgbuild-$PKGBUILD_VERSION/pkgbuild.spec" || return 1
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1277
    make_admin_file $tempdir/pkgadd.admin.$$ pkgadd
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1278
    logrun pfexec /usr/sbin/pkgadd -R $rootdir -n -a $tempdir/pkgadd.admin.$$ -d "$tmp_build_dir/packages/PKGS" SFpkgbuild || return 1
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1279
    pkgbuild_topdir=`$cbe_prefix/bin/pkgbuild -bp $cbe_prefix/lib/pkgbuild-$PKGBUILD_VERSION/get_rpm_topdir 2>&1 | grep '^TOPDIR=' | cut -f2- -d=`
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1280
    logrun mkdir -p "$rootdir/$pkgbuild_topdir/PKGS" "$rootdir/$pkgbuild_topdir/SPKGS"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1281
    logrun cp -pr "$tmp_build_dir/packages/SPKGS/SFpkgbuild-src" "$rootdir/$pkgbuild_topdir/SPKGS"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1282
    logrun cp -pr "$tmp_build_dir/packages/PKGS/SFpkgbuild" "$rootdir/$pkgbuild_topdir/PKGS"
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1283
    cd /tmp || return 1
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1284
    logrun /usr/bin/rm -rf $tmp_build_dir || return 1
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
  1285
    unset CFLAGS
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
  1286
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1287
    return 0
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1288
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1289
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1290
# build and install a package
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1291
build_pkg () {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1292
    install_pkgs "$rootdir$pkgbuild_topdir/PKGS" "$rootdir" "$3" || return 1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1293
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1294
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1295
# older versions of the JDS CBE included packages that were renamed or
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1296
# no longer included.  These older JDS CBEs only supported SVr4.
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1297
uninstall_old_cbe () {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1298
    pkg_info=
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1299
    for pkg in $OLD_PKGS; do
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1300
	pkginfo -R $rootdir -q "$pkg."'*' && pkg_info="$pkg_info
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1301
`pkginfo -R $rootdir $pkg.'*'`"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1302
    done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1303
    if [ ! -z "$pkg_info" ]; then
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1304
	msg "The following packages belong to an obsolete version of the JDS CBE."
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1305
	msg "$pkg_info"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1306
	msg "" 
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1307
	ask_yes_no "Would you like to uninstall them?" do_uninst yes
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1308
	if [ $do_uninst = yes ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1309
	    log "User chose to uninstall obsolete CBE pkgs"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1310
	    make_admin_file $tempdir/pkgrm.admin.$$ pkgrm
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1311
	    pkgrm_failed=no
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1312
	    for pkg in $OLD_PKGS; do
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1313
		if pkginfo -R $rootdir -q "$pkg."'*'; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1314
		    logrun pfexec /usr/sbin/pkgrm -R $rootdir -n -a $tempdir/pkgrm.admin.$$ "$pkg."'*' || \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1315
			pkgrm_failed=yes
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1316
		fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1317
	    done
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1318
	    rm -f $tempdir/pkgrm.admin.$$
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1319
	    if [ $pkgrm_failed = yes ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1320
		msg "Failed to remove one or more packages"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1321
		ask_yes_no "Would you like to continue anyway?" do_cont no
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1322
		if [ $do_cont = no ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1323
		    return 1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1324
		else
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1325
		    log "User chose to continue anyway"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1326
		    return 0
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1327
		fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1328
	    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1329
	fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1330
    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1331
    return 0
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1332
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1333
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1334
main () {
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1335
    init
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1336
    uninstall_old_cbe || return 1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1337
    ask_defaults
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
  1338
    test -d $
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1339
    pkginfo -q -R $rootdir CBEenv && {
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1340
	msg "Uninstalling CBEenv"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1341
	make_admin_file /tmp/pkgrm.admin.$$ pkgrm || return 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1342
	logrun pfexec /usr/sbin/pkgrm -R $rootdir -n -a /tmp/pkgrm.admin.$$ "CBEenv.*"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1343
	rm -f /tmp/pkgrm.admin.$$
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1344
    }
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1345
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1346
    ALL_MODULES=
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1347
    if [ $install_gnome = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1348
	ALL_MODULES="$ALL_MODULES $GNOME_MODULES"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1349
    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1350
    if [ $install_kde = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1351
	ALL_MODULES="$ALL_MODULES $KDE_MODULES"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1352
    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1353
    if [ $install_sfe = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1354
	ALL_MODULES="$ALL_MODULES $SFE_MODULES"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1355
    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1356
    if [ $install_opt = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1357
	ALL_MODULES="$ALL_MODULES $OPT_MODULES"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1358
    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1359
    ALL_MODULES=$(echo $ALL_MODULES | sed -e 's/ /\
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1360
/g' | sort -u)
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1361
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1362
    if [ $binary_install = no ]; then
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1363
	install_pkgbuild || return 1
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1364
    else
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1365
	check_if_installed SFpkgbuild || return 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1366
	if [ $skip_package != yes ]; then
13
1669a54e47a8 2008-06-16 Laszlo (Laca) Peter <[email protected]>
laca
parents: 12
diff changeset
  1367
	    install_pkgs "$mydir/pkgs-${the_cpu}" "$rootdir" SFpkgbuild || return 1
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1368
	fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1369
    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1370
    pkgbuild_topdir=`$cbe_prefix/bin/pkgbuild -bp $cbe_prefix/lib/pkgbuild-$PKGBUILD_VERSION/get_rpm_topdir 2>&1 | grep '^TOPDIR=' | cut -f2- -d=`
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1371
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1372
    cd $mydir
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1373
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1374
    # identify the CBE packages to be built/installed
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1375
    ALL_SPECS=
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1376
    ALL_CBE_PKGS=
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1377
    for mod in $ALL_MODULES; do
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
  1378
	pkgs=$($cbe_prefix/bin/spectool get_packages CBE${mod}.spec 2>/dev/null)
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1379
	check_if_installed $pkgs || return 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1380
        # skip_package is set by check_if_installed
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1381
	if [ $skip_package = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1382
	    continue
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1383
	fi
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1384
	# On Nevada and OpenSolaris use alternatives if available
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1385
	if [ $install_alt = yes -a "x$myos_rel" = x5.11 ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1386
	    eval ALT=\"$(eval echo \$ALT_$mod)\"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1387
	    if [ "x$ALT" != x ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1388
		if [ $ask_alt = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1389
		    ask_yes_no "Use $ALT ($mod) instead of CBE $mod?" \
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1390
			use_alt yes
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1391
		    if [ $use_alt = no ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1392
			ALL_CBE_PKGS="$ALL_CBE_PKGS $pkgs"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1393
			ALL_SPECS="$ALL_SPECS CBE${mod}.spec"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1394
			continue
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1395
		    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1396
		fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1397
		msg "Looking for package $ALT"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1398
		check_cbe_dependencies_$PKG_SYSTEM $(eval echo $ALT)
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1399
		if [ $DEPS_OK = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1400
		    msg "     ... already installed"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1401
		    continue
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1402
		elif [ $DEPS_INSTALLED = yes ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1403
		    msg "Successfully installed $ALT"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1404
		    continue
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1405
		else
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1406
		    msg "Using the CBE version of $mod"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1407
		    ALL_SPECS="$ALL_SPECS CBE${mod}.spec"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1408
		    ALL_CBE_PKGS="$ALL_CBE_PKGS $pkgs"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1409
		fi
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
  1410
	    else
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
  1411
		# no alternative exists
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
  1412
		ALL_SPECS="$ALL_SPECS CBE${mod}.spec"
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
  1413
		ALL_CBE_PKGS="$ALL_CBE_PKGS $pkgs"		
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1414
	    fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1415
	else
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1416
	    # alternatives should not be used
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1417
	    ALL_SPECS="$ALL_SPECS CBE${mod}.spec"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1418
	    ALL_CBE_PKGS="$ALL_CBE_PKGS $pkgs"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1419
	fi
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1420
    done
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1421
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1422
    if [ $binary_install = no ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1423
	export "PATH=$rootdir$cbe_prefix/bin:/usr/ccs/bin:/usr/gnu/bin:/usr/bin:/usr/sbin:/usr/sfw/bin"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1424
	if [ "x$rootdir" != x/ ]; then
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1425
	    export AC_MACRODIR="$rootdir$cbe_prefix/share/autoconf"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1426
	    sed -e "s%--prepend-include %--prepend-include $rootdir%" "$rootdir$cbe_prefix/share/autoconf/autom4te.cfg" > $tempdir/autom4te.cfg
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1427
	    export AUTOM4TE_CFG="$tempdir/autom4te.cfg"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1428
	    export autom4te_perllibdir="$rootdir$cbe_prefix/share/autoconf"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1429
	    export AUTOM4TE="$rootdir$cbe_prefix/bin/autom4te"
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1430
	fi
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
  1431
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1432
	ALL_SPECS=$($cbe_prefix/bin/pkgtool -q build-order $ALL_SPECS)
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1433
	for spec in $ALL_SPECS; do
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
  1434
	    pkgs=$($cbe_prefix/bin/spectool get_packages $spec 2>/dev/null)
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
  1435
	    if [ $need_tarballs = yes ]; then
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
  1436
		msg "Downloading source tarball for $pkgs"
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
  1437
		$cbe_prefix/bin/pkgtool download --download-to $tardir $spec || return 1
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
  1438
	    fi
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1439
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1440
	    # build the package
15
e2a20c238873 add download-to
laca
parents: 14
diff changeset
  1441
	    logrun $cbe_prefix/bin/pkgtool --download --download-to "$tardir" --define "cbe_prefix $cbe_prefix" --define "cbe_version $CBE_VERSION" build-only $spec || return 1
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1442
	    for pkg in $pkgs; do
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1443
		install_pkgs "$rootdir$pkgbuild_topdir/PKGS" "$rootdir" "$pkg" || return 1
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1444
	    done
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1445
	done
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1446
    else
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1447
	# binary install
12
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
  1448
	for pkg in $ALL_CBE_PKGS; do
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
  1449
	    if [ -d "$mydir/pkgs-${the_cpu}/${myos_rel}/$pkg" ]; then
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
  1450
		install_pkgs "$mydir/pkgs-${the_cpu}/${myos_rel}" \
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
  1451
		    "$rootdir" $pkg || return 1
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
  1452
	    else
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
  1453
		install_pkgs "$mydir/pkgs-${the_cpu}" \
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
  1454
		    "$rootdir" $pkg || return 1
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
  1455
	    fi
af4384a951ad 2008-06-14 Laszlo (Laca) Peter <[email protected]>
laca
parents: 11
diff changeset
  1456
	done
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1457
	pkgbuild_topdir=`$cbe_prefix/bin/pkgbuild -bp $cbe_prefix/lib/pkgbuild-$PKGBUILD_VERSION/get_rpm_topdir 2>&1 | grep '^TOPDIR=' | cut -f2- -d=`
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1458
    fi
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1459
    log "Creating env.sh"
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1460
    logrun mkdir -p $rootdir$pkgbuild_topdir/SOURCES || return 1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1461
    build_info="built on `date +%Y-%m-%d` by ${logname}@`hostname`"
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1462
    logrun_quiet bash -c "sed -e \"s%@CBE_PREFIX@%$cbe_prefix%\" \
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1463
        -e \"s%@JDS_PREFIX@%$JDS_PREFIX%\" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1464
	-e \"s%@CC32@%$cc32dir/$cc_name%\" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1465
	-e \"s%@CXX32@%$cc32dir/$cxx_name%\" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1466
	-e \"s%@CC64@%$cc64dir/$cc_name%\" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1467
	-e \"s%@CXX64@%$cc64dir/$cxx_name%\" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1468
	-e \"s%@CBE_VERSION@%$CBE_VERSION%\" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1469
        -e \"s%@BUILD_INFO@%$build_info%\" \
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1470
	$mydir/ext-sources/env.sh > $rootdir$pkgbuild_topdir/SOURCES/env.sh" || \
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1471
	return 1
29
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
  1472
    log "Creating env_include.sh"
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
  1473
    build_info="built on `date +%Y-%m-%d` by ${logname}@`hostname`"
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
  1474
    logrun_quiet bash -c "sed -e \"s%@CBE_PREFIX@%$cbe_prefix%\" \
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
  1475
        -e \"s%@JDS_PREFIX@%$JDS_PREFIX%\" \
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
  1476
	-e \"s%@CC32@%$cc32dir/$cc_name%\" \
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
  1477
	-e \"s%@CXX32@%$cc32dir/$cxx_name%\" \
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
  1478
	-e \"s%@CC64@%$cc64dir/$cc_name%\" \
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
  1479
	-e \"s%@CXX64@%$cc64dir/$cxx_name%\" \
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
  1480
	-e \"s%@CBE_VERSION@%$CBE_VERSION%\" \
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
  1481
        -e \"s%@BUILD_INFO@%$build_info%\" \
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
  1482
	$mydir/ext-sources/env_include.sh > $rootdir$pkgbuild_topdir/SOURCES/env_include.sh" || \
d02e22ab9ac5 2008-06-26 Laszlo (Laca) Peter <[email protected]>
laca
parents: 27
diff changeset
  1483
	return 1
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1484
    log "Creating env.csh"
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1485
    logrun_quiet bash -c "sed -e \"s%@CBE_PREFIX@%$cbe_prefix%\" \
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1486
        -e \"s%@JDS_PREFIX@%$JDS_PREFIX%\" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1487
	-e \"s%@CC32@%$cc32dir/$cc_name%\" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1488
	-e \"s%@CXX32@%$cc32dir/$cxx_name%\" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1489
	-e \"s%@CC64@%$cc64dir/$cc_name%\" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1490
	-e \"s%@CXX64@%$cc64dir/$cxx_name%\" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1491
	-e \"s%@CBE_VERSION@%$CBE_VERSION%\" \
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1492
        -e \"s%@BUILD_INFO@%$build_info%\" \
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1493
	$mydir/ext-sources/env.csh > $rootdir$pkgbuild_topdir/SOURCES/env.csh" || \
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1494
	return 1
21
57006686c9c4 2008-06-17 Laszlo (Laca) Peter <[email protected]>
laca
parents: 19
diff changeset
  1495
    log "Copying ld-wrapper, gendiff"
10
a65a967018ee 2008-06-11 Laszlo (Laca) Peter <[email protected]>
laca
parents: 1
diff changeset
  1496
    logrun bash -c "cp $mydir/ext-sources/ld-wrapper $rootdir$pkgbuild_topdir/SOURCES" || \
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1497
	return 1
21
57006686c9c4 2008-06-17 Laszlo (Laca) Peter <[email protected]>
laca
parents: 19
diff changeset
  1498
    logrun bash -c "cp $mydir/ext-sources/gendiff $rootdir$pkgbuild_topdir/SOURCES" || \
57006686c9c4 2008-06-17 Laszlo (Laca) Peter <[email protected]>
laca
parents: 19
diff changeset
  1499
	return 1
19
8c90ed1135f5 2008-06-17 Laszlo (Laca) Peter <[email protected]>
laca
parents: 16
diff changeset
  1500
    logrun bash -c "mkdir -p $rootdir$pkgbuild_topdir/SPECS" || \
8c90ed1135f5 2008-06-17 Laszlo (Laca) Peter <[email protected]>
laca
parents: 16
diff changeset
  1501
	return 1
8c90ed1135f5 2008-06-17 Laszlo (Laca) Peter <[email protected]>
laca
parents: 16
diff changeset
  1502
    logrun bash -c "cp $mydir/include/CBE.inc $rootdir$pkgbuild_topdir/SPECS/" || \
8c90ed1135f5 2008-06-17 Laszlo (Laca) Peter <[email protected]>
laca
parents: 16
diff changeset
  1503
	return 1
23
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
  1504
    logrun bash -c "cp $mydir/include/default-depend.inc $rootdir$pkgbuild_topdir/SPECS/" || \
6bb145f8bb70 2008-06-18 Laszlo (Laca) Peter <[email protected]>
laca
parents: 22
diff changeset
  1505
	return 1
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1506
    msg "Building CBEenv"
11
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
  1507
    logrun_quiet $cbe_prefix/bin/pkgbuild --define "cbe_prefix $cbe_prefix" --define "cbe_version $CBE_VERSION" --define "build_user $logname" -ba CBEenv.spec || return 1
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
  1508
    logrun $cbe_prefix/bin/pkgtool install-pkgs --define "build_user $logname" CBEenv.spec || return 1
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
  1509
    logrun cp ${envdir}/* $cbe_prefix/lib/cbe-env/
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
  1510
    def_env_name=$(basename $default_env)
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
  1511
    cd $cbe_prefix/lib/cbe-env; ln -s $def_env_name default
6769bf4088b7 2008-06-12 Laszlo (Laca) Peter <[email protected]>
laca
parents: 10
diff changeset
  1512
    cd $mydir
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1513
    msg "CBE setup complete"
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1514
    msg "Run"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1515
    msg "  . $cbe_prefix/bin/env.sh [environment]"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1516
    msg "or"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1517
    msg "  source $cbe_prefix/bin/env.csh [environment]"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1518
    msg "depending on your shell, to use this build environment."
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1519
    msg "You can also run $cbe_prefix/bin/env.sh [environment] to start subshell."
1
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1520
}
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1521
102c9870ef63 initial import -- still incomplete
laca
parents:
diff changeset
  1522
process_cl "${@}"
27
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1523
main || {
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1524
    msg "CBE setup FAILED"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1525
    msg "Installation log saved in $LOGFILE"
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1526
    exit 1
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1527
}
7f4e9d6a6772 2008-06-19 Laszlo (Laca) Peter <[email protected]>
laca
parents: 25
diff changeset
  1528
msg "Installation log saved in $LOGFILE"