#!/bin/sh # # Verifies that Evolution and all its supporting components # are installed correctly. A tool to weed out common # build problems. # # (C)2000 Helix Code, Inc. # Author: Peter Williams # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public License # as published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # problem() { echo "I detected the following problem: $problem" if test x"$rpmsystem" = xyes ; then echo "Suggested solution via RPM: $rpmsolution" fi if test x"$debsystem" = xyes ; then echo "Suggested solution via DEB: $debsolution" fi echo "Suggested solution via sources: $srcsolution" if test x"$comment" != x ; then echo "" echo "$comment" fi exit 1 } check_config() { #bigname=$1 #cfgname=$2 #pkgname=$3 eval $1=\${$1-$2} eval val=\$$1 if type $val /dev/null 2>&1 ; then : else problem="Cannot find $2 or it ($val) is not executable" rpmsolution="Install or reinstall the '$3-devel' package" debsolution="Install or reinstall the $3 development libraries." #FIXME srcsolution="Get the latest release of $3 and install it." comment="If you know that $3 is installed, try setting the environment variable $1 to its location" problem fi } check_prefix() { #othercfg=$1 #othername=$2 #strict=$3 eval otherpfx=\`\$$1 --prefix\` if test x"$3" = xstrict ; then if test x"$otherpfx" != x"$gl_prefix" ; then problem="gnome-libs and $2 do not share the same prefix" rpmsolution="This problem shouldn't happen with RPM installations. Verify your installation of Helix Gnome." debsolution="This problem shouldn't happen with DEB installations. Verify your installation of Helix Gnome." srcsolution="Re-run 'configure' in $2's source directory with the flag '--prefix=$gl_prefix'." problem fi else IFSbak="$IFS" ok="$GNOME_PATH:$gl_prefix" IFS=":" passed=no for e in $ok; do if test x"$e" != x ; then if test $otherpfx = $e ; then passed=yes; fi fi done IFS="$IFSbak" if test x"$passed" = xno ; then problem="$2 is not in GNOME_PATH or the same prefix as gnome-libs" rpmsolution="This problem shouldn't happen with RPM installations. Verify your installation of Helix Gnome." debsolution="This problem shouldn't happen with DEB installations. Verify your installation of Helix Gnome." srcsolution="Re-run 'configure' in $2's source directory with the flag '--prefix=$gl_prefix'." comment="Try exporting an environment variable 'GNOME_PATH' with the prefix of $2." problem fi fi } check_sysconf() { #othercfg=$1 #othername=$2 eval othersysc=\`\$$1 --sysconfdir\` if test x"$othersysc" != x"$gl_sysconf" ; then problem="gnome-libs and $2 do not share the same sysconfdir" rpmsolution="This problem shouldn't happen with RPM installations. Verify your installation of Helix Gnome." debsolution="This problem shouldn't happen with DEB installations. Verify your installation of Helix Gnome." srcsolution="Re-run 'configure' in $2's source directory with the flag '--sysconfdir=$gl_sysconf'." problem fi } check_oafinfo() { #basename=$1 #othername=$2 base=$1.oafinfo search="${oaf_prefix}/share/oaf:$OAF_INFO_PATH" IFSback="$IFS" IFS=":" ok=no for ping in $search ; do if test x"$ping" != x ; then if test -f $ping/$base ; then file=$ping/$base ok=yes fi fi done IFS="$IFSback" if test x$ok = xno ; then problem="$1.oafinfo isn't installed into Gnome's prefix or in OAF_INFO_PATH" rpmsolution="This problem shouldn't happen with RPM installations. Verify your installation of Helix Gnome." debsolution="This problem shouldn't happen with DEB installations. Verify your installation of Helix Gnome." srcsolution="Re-run 'configure' in $2's source directory with the flag '--datadir=$gl_datadir'." comment="Another likely cause of this problem would be a failed installation of $2. You should check to see that the install succeeded. You may also add the location of $1.oafinfo to the environment variable OAF_INFO_PATH" problem fi iids=`cat $file |grep iid= |sed -e 's,.*iid="\([^"]*\)".*,\1,'` IFS=" " tempfile="temp-$$-verifier" for iid in $iids ; do #echo "Attempting to activate IID \"$iid\"..." $OAF_CLIENT -qs "iid == '$iid'" >$tempfile result=`cat $tempfile |grep exception` if test x"$result" != x ; then problem="The component $2 (in $file) couldn't be activated by OAF" rpmsolution="Verify that $file is valid and that oaf and $2 are correctly installed." debsolution="Verify that $file is valid and that oaf and $2 are correctly installed." srcsolution="Verify that $file is valid and that oaf and $2 are correctly installed." comment="$OAF_CLIENT reported this: `cat $tempfile`" rm -f $tempfile problem fi done rm -f $tempfile IFS="$IFSback" } check_bin() { #name=$1 #othername=$2 IFSbak="$IFS" IFS=":" passed=no exepath= for ping in $PATH; do if test x"$ping" != x -a -x $ping/$1 ; then if test x"$passed" = xyes ; then problem="The binary $1 is installed in more than one location" rpmsolution="Make sure that you only have one copy of the package installed" debsolution="Make sure that you only have one copy of the package installed" srcsolution="Make sure that you only have one copy of the package installed" comment="You probably have a package that was installed in two different prefixes, either from source twice or from source and from RPM/deb. Remove the older copy. (Note: \"make uninstall\" works on tarballs but may damage your gettext installation)" problem fi passed=yes; exepath="$ping/$1" fi done IFS="$IFSbak" if test x"$passed" = xno ; then problem="The binary $1 isn't in your PATH" rpmsolution="This problem shouldn't happen with RPM installations. Verify your installation of Helix Gnome." debsolution="This problem shouldn't happen with DEB installations. Verify your installation of Helix Gnome." srcsolution="Re-run 'configure' in $2's source directory with the flag '--bindir=$gl_bindir'." comment="Another likely cause of this problem would be a failed installation of $2. You should check to see that the install succeeded." problem fi lddfile=temp-$$-verify-ldd $LDD $exepath $lddfile 2>/dev/null if test x$? != x0 ; then problem="The binary $1 isn't linked correctly" rpmsolution="Make sure that all its dependencies are installed correctly" debsolution="Make sure that all its dependencies are installed correctly" srcsolution="Recompile $2 and make sure that it links correctly." comment="LDD reported the following: `cat $lddfile` " problem fi IFS=" " use_bonobox=no use_bonobo=no for ping in `cat $libfile` ; do libname=`echo "$ping" |sed -e 's,^@@\([^@][^@]*\)@@[^@][^@]*@@,\1,'` libpfx=`echo "$ping" |sed -e 's,^@@[^@][^@]*@@\([^@][^@]*\)@@,\1,'` match="`cat $lddfile |grep \"${libname}\.\"`" if test x"$match" != x ; then theirlib="`echo $match |sed -e 's,.*=> \([^ ]*\).*$,\1,'`" theirdir="`dirname $theirlib`" if test x"$theirdir" != x"$libpfx" ; then problem="The binary $1 is linked against the wrong copy of $libname" rpmsolution="The package owning $libname is probably installed twice. Make sure that it's installed correctly." debsolution="The package owning $libname is probably installed twice. Make sure that it's installed correctly." srcsolution="The package owning $libname is probably installed twice. Make sure that it's installed correctly." comment="The version of $libname in $libpfx was expected" problem elif test x"$libname" = xlibbonobox ; then use_bonobox=yes elif test x"$libname" = xlibbonobo ; then use_bonobo=yes fi fi done rm -f $lddfile IFS="$IFSback" if test x"$need_bonobox" = xyes -a x"$use_bonobo" = xyes -a x"$use_bonobox" != xyes ; then problem="The binary $1 is linked against Bonobo but not Bonobo-X" rpmsolution="Get the newest possible version of $2, or install it from source if that fails" debsolution="Get the newest possible version of $2, or install it from source if that fails" srcsolution="Run './config.status --recheck' in $2's source directory and reinstall it" problem fi } check_no_gnorba() { #libs=$1 #othername=$2 ping=`echo $1 |grep 'gnorba'` if test x"$ping" != x ; then problem="$2 was built using Gnorba, not OAF" rpmsolution="This problem shouldn't happen with RPM installations. Verify your installation of Helix Gnome." debsolution="This problem shouldn't happen with DEB installations. Verify your installation of Helix Gnome." srcsolution="Update $2 and re-run 'configure' in its source directory with the flag '--enable-oaf=yes'." problem fi } add_lib_to_check() { #lib = $1 #path = $2 echo "@@${1}@@${2}@@" >>$libfile } ######################################## versionparse3() { #inst_version=$1 #reqd_version=$2 #package=$3 inst_version=`versiongrab3 "$1"` inst_major=`echo $inst_version |sed -e 's,\([0-9][0-9]*\)\..*\..*,\1,'` inst_minor=`echo $inst_version |sed -e 's,.*\.\([0-9][0-9]*\)\..*,\1,'` inst_micro=`echo $inst_version |sed -e 's,.*\..*\.\([0-9][0-9]*\),\1,'` reqd_version=`versiongrab3 "$2"` reqd_major=`echo $reqd_version |sed -e 's,\([0-9][0-9]*\)\..*\..*,\1,'` reqd_minor=`echo $reqd_version |sed -e 's,.*\.\([0-9][0-9]*\)\..*,\1,'` reqd_micro=`echo $reqd_version |sed -e 's,.*\..*\.\([0-9][0-9]*\),\1,'` ok=yes if test $inst_major -lt $reqd_major ; then ok=no elif test $inst_major -gt $reqd_major ; then ok=yes elif test $inst_minor -lt $reqd_minor; then ok=no elif test $inst_minor -gt $reqd_minor; then ok=yes elif test $inst_micro -lt $reqd_micro; then ok=no fi if test x$ok = xno ; then problem="Package $3 is not new enough ($1 detected, $2 required)" rpmsolution="Obtain a newer version and install it" depsolution="Obtain a newer version and install it" srcsolution="Obtain a newer version and install it" comment="If you think you have a newer installation, make sure that the package is not installed twice." problem fi } versiongrab3() { echo $1 |sed -e 's,.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*,\1,' } check_module3() { #$1=gnome-libs name #$2=package #$3=version $GNOME_CONFIG --modversion $1 1>/dev/null 2>/dev/null /dev/null 2>/dev/null /dev/null 2>/dev/null /dev/null 2>&1 ; then LDD="ldd -r" elif type ldd /dev/null 2>&1; then LDD="ldd" else problem="Cannot find ldd" rpmsolution="Make sure that glibc is correctly installed!?!?!?" debsolution="Make sure that glibc is correctly installed!?!?!?" srcsolution="See above" comment="If you think that you have ldd, export an environment vairable LDD that points to it." problem fi fi #gnome-libs check_config GNOME_CONFIG gnome-config gnome-libs gl_version=`$GNOME_CONFIG --version` # |sed -e 's,.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*,\1,'` gl_sysconf=`$GNOME_CONFIG --sysconfdir` gl_prefix=`$GNOME_CONFIG --prefix` gl_datadir=`$GNOME_CONFIG --datadir` gl_bindir=`$GNOME_CONFIG --bindir` versionparse3 "$gl_version" "1.0.59" "gnome-libs" add_lib_to_check libgnome `$GNOME_CONFIG --libdir` add_lib_to_check libgnomeui `$GNOME_CONFIG --libdir` #libunicode check_config UNICODE_CONFIG unicode-config libunicode check_prefix UNICODE_CONFIG libunicode versionparse2 "`$UNICODE_CONFIG --version`" "0.4" libunicode add_lib_to_check libunicode "`$UNICODE_CONFIG --prefix`/lib" #ORBit check_config ORBIT_CONFIG orbit-config ORBit check_prefix ORBIT_CONFIG ORBit add_lib_to_check libORBit "`$ORBIT_CONFIG --prefix`/lib" #oaf check_config OAF_CONFIG oaf-config oaf check_prefix OAF_CONFIG oaf versionparse3 "`$OAF_CONFIG --version`" "0.4.0" "oaf" add_lib_to_check liboaf "`$OAF_CONFIG --prefix`/lib" check_bin oafd OAF_CLIENT=${OAF_CLIENT-oaf-client} if type $OAF_CLIENT /dev/null 2>&1 ; then : else problem="oaf-client couldn't be found" rpmsolution="Install the 'oaf-devel' package" debsolution="Install the oaf development libraries" srcsolution="Make sure that oaf is installed correctly" comment="If you think you have oaf-client installed, try exporting an environment variable OAF_CLIENT pointing to it" problem fi oaf_prefix=`$OAF_CONFIG --prefix` check_oafinfo oafd oaf #gconf #check_config GCONF_CONFIG gconf-config GConf #check_prefix GCONF_CONFIG GConf #versionparse2 "`$GCONF_CONFIG --version`" "0.5" GConf #if type gconfd-1 /dev/null 2>/dev/null; then # check_oafinfo gconfd-1 GConf # check_bin gconfd-1 #else # check_oafinfo gconfd GConf # check_bin gconfd #fi #check_no_gnorba "`$GCONF_CONFIG --libs`" GConf #gnome vfs check_module3 vfs gnome-vfs "0.2.0" check_no_gnorba "`$GNOME_CONFIG --libs vfs`" gnome-vfs add_lib_to_check libgnomevfs "`$GNOME_CONFIG --libdir vfs`" #gnome print check_module2 print gnome-print "0.20" check_no_gnorba "`$GNOME_CONFIG --libs print`" gnome-print add_lib_to_check libgnomeprint "`$GNOME_CONFIG --libdir print`" #bonobo check_module2 bonobo bonobo "0.15" check_prefix "GNOME_CONFIG bonobo" bonobo strict add_lib_to_check libbonobo "`$GNOME_CONFIG --libdir bonobo`" if gnome-config --modversion bonobox /dev/null 2>&1 ; then need_bonobox=yes check_module2 bonobox bonobo "0.16" check_prefix "GNOME_CONFIG bonobox" bonobo strict add_lib_to_check libbonobox "`$GNOME_CONFIG --libdir bonobox`" fi check_oafinfo audio-ulaw bonobo check_bin bonobo-audio-ulaw bonobo check_no_gnorba "`$GNOME_CONFIG --libs bonobo`" bonobo #gtkhtml check_module2 gtkhtml GtkHTML "0.5" add_lib_to_check libgtkhtml "`$GNOME_CONFIG --libdir html`" check_oafinfo html-editor-control GtkHTML check_bin html-editor-control GtkHTML check_no_gnorba "`$GNOME_CONFIG --libs gtkhtml`" GtkHTML #evolution if test x"$EVOLUTION_PREFIX" = x ; then IFSback="$IFS" IFS=":" passed=no for ping in $PATH ; do if test x"$ping" != x -a -x $ping/evolution ; then if test x"$passed" = xyes ; then problem="Evolution is installed in more than one prefix" rpmsolution="Make sure that you only have one copy of Evolution installed" debsolution="Make sure that you only have one copy of Evolution installed" srcsolution="Make sure that you only have one copy of Evolution installed" comment="Evolution was probably installed in two different prefixes, either from source twice or from source and from RPM/deb. Remove the older copy. (Note: \"make uninstall\" works on tarballs but may damage your gettext installation)" problem else passed=yes e_prefix=$ping fi fi done IFS="$IFSbak" if test x"$passed" != xyes ; then problem="Evolution does not appear to have been installed" rpmsolution="Make sure that Evolution was installed properly (rpm -V evolution)" debsolution="Make sure that Evolution was installed properly" srcsolution="Run 'make install' in the evolution source directory" comment="I couldn't find evolution in this path: $PATH" problem fi e_prefix="`echo $e_prefix |sed -e 's,\(.*\)/[^/][^/]*,\1,'`" echo "Guessed that evolution is installed in prefix $e_prefix" else e_prefix="$EVOLUTION_PREFIX" fi add_lib_to_check libcal-client "$e_prefix/lib" add_lib_to_check libcamel "$e_prefix/lib" add_lib_to_check libcamelvee "$e_prefix/lib/evolution/camel-providers/0.5" check_oafinfo addressbook evolution check_oafinfo calendar-control evolution check_oafinfo evolution-mail evolution check_oafinfo evolution-calendar evolution check_oafinfo evolution-addressbook-select-names evolution check_oafinfo wombat evolution check_bin evolution-mail evolution check_bin evolution-calendar evolution check_bin evolution-addressbook evolution check_bin wombat evolution check_bin evolution evolution #done rm -f $libfile echo "Your Gnome system appears to be properly set up. Enjoy Evolution!" exit 0 amer0.10-removal'>statsplain d---------arpdig109logstatsplain d---------arping109logstatsplain d---------arprelease109logstatsplain d---------asio146logstatsplain d---------aslookup178logstatsplain d---------asterisk178logstatsplain d---------asterisk11178logstatsplain d---------avahi-app178logstatsplain d---------avahi-autoipd110logstatsplain d---------avahi-gtk110logstatsplain d---------avahi-gtk3110logstatsplain d---------avahi-header110logstatsplain d---------avahi-libdns110logstatsplain d---------avahi-qt4110logstatsplain d---------avahi-sharp110logstatsplain d---------avahi73logstatsplain d---------babeld109logstatsplain d---------beacon146logstatsplain d---------beanstalkd141logstatsplain d---------belle-sip178logstatsplain d---------bindtest109logstatsplain d---------binkd178logstatsplain d---------bird-devel178logstatsplain d---------bird178logstatsplain d---------bird6110logstatsplain d---------bittwist141logstatsplain d---------bmon146logstatsplain d---------boclient141logstatsplain d---------boinc-client217logstatsplain d---------boinc_curses141logstatsplain d---------bounce141logstatsplain d---------bsdproxy141logstatsplain d---------bwi-firmware-kmod146logstatsplain d---------bwn-firmware-kmod146logstatsplain d---------bwping109logstatsplain d---------c3270146logstatsplain d---------cagibi146logstatsplain d---------ccxstream180logstatsplain d---------chrony217logstatsplain d---------citrix_ica178logstatsplain d---------clamz185logstatsplain d---------clusterit178logstatsplain d---------cnd141logstatsplain d---------coda6_client110logstatsplain d---------coda6_server178logstatsplain d---------corkscrew178logstatsplain d---------courier-authlib-ldap36logstatsplain d---------crtmpserver178logstatsplain d---------cryptcat141logstatsplain d---------csocks141logstatsplain d---------csync2141logstatsplain d---------ctrace109logstatsplain d---------cvsup-without-gui36logstatsplain d---------cvsup255logstatsplain d---------cvsupchk105logstatsplain d---------cvsync178logstatsplain d---------cyphesis178logstatsplain d---------czmq146logstatsplain d---------daemonlogger141logstatsplain d---------dante217logstatsplain d---------daq146logstatsplain d---------datapipe141logstatsplain d---------dbeacon141logstatsplain d---------delegate141logstatsplain d---------despoof178logstatsplain d---------dgd-kernel178logstatsplain d---------dgd-lpmud178logstatsplain d---------dgd178logstatsplain d---------dhcp6178logstatsplain d---------dhcpcd178logstatsplain d---------dhcpd-pools109logstatsplain d---------dhcpdump141logstatsplain d---------dhcperf109logstatsplain d---------dhcping109logstatsplain d---------dhcprelay141logstatsplain d---------dhcprelya141logstatsplain d---------dictd-database146logstatsplain d---------dictd178logstatsplain d---------dimes146logstatsplain d---------dosdetector141logstatsplain d---------drawterm141logstatsplain d---------dropbox-api-command109logstatsplain d---------dropbox-uploader109logstatsplain d---------dtcp141logstatsplain d---------dtcpclient178logstatsplain d---------e169-stats141logstatsplain d---------easysoap178logstatsplain d---------echoping146logstatsplain d---------ecore-con146logstatsplain d---------empty146logstatsplain d---------enet146logstatsplain d---------erlang_xmlrpc178logstatsplain d---------etherboot141logstatsplain d---------etrace178logstatsplain d---------exabgp178logstatsplain d---------exaddos178logstatsplain d---------findmtu178logstatsplain d---------flowgrep109logstatsplain d---------fonulator109logstatsplain d---------foreman-proxy178logstatsplain d---------fpc-ldap73logstatsplain d---------fpc-pcap73logstatsplain d---------fping146logstatsplain d---------freebsd-tftp109logstatsplain d---------freebsd-uucp217logstatsplain d---------freenet6178logstatsplain d---------freeradius-client178logstatsplain d---------freeradius2178logstatsplain d---------freeradius3178logstatsplain d---------freerdp178logstatsplain d---------freeswitch-core-devel178logstatsplain d---------freeswitch-devel73logstatsplain d---------freevrrpd185logstatsplain d---------fspclient141logstatsplain d---------fsplib109logstatsplain d---------g2ipmsg146logstatsplain d---------geoipupdate146logstatsplain d---------get_iplayer180logstatsplain d---------gini178logstatsplain d---------gkrellmwireless2178logstatsplain d---------glflow109logstatsplain d---------glib-networking178logstatsplain d---------gnet2178logstatsplain d---------gnetcat141logstatsplain d---------gnome-netstatus178logstatsplain d---------gnome-nettool178logstatsplain d---------gnu-dico178logstatsplain d---------gnu-radius178logstatsplain d---------go.net146logstatsplain d---------gofish146logstatsplain d---------gogoc178logstatsplain d---------google-cloud-sdk146logstatsplain d---------google-daemon178logstatsplain d---------googlecl178logstatsplain d---------gopher178logstatsplain d---------gotthard146logstatsplain d---------gpxe141logstatsplain d---------gq178logstatsplain d---------grdesktop146logstatsplain d---------grive141logstatsplain d---------grsync178logstatsplain d---------gsk178logstatsplain d---------gspoof178logstatsplain d---------gssdp178logstatsplain d---------gstreamer-plugins-libmms36logstatsplain d---------gstreamer1-plugins-libmms36logstatsplain d---------gtic178logstatsplain d---------gtk-vnc178logstatsplain d---------gtknetcat146logstatsplain d---------gupnp-av146logstatsplain d---------gupnp-igd146logstatsplain d---------gupnp-ui146logstatsplain d---------gupnp178logstatsplain d---------gutenfetch141logstatsplain d---------gwhois109logstatsplain d---------h323plus178logstatsplain d---------hanstunnel141logstatsplain d---------haproxy-devel178logstatsplain