configure.ac | 1 - src/common/ssl.c | 4 +++- tools/filter_conv.pl | 1 + tools/kdeservicemenu/install.sh | 18 ++++++++++-------- tools/mairix.sh | 12 ++++++++++-- tools/make.themes.project | 10 ++++++++-- tools/tb2claws-mail | 2 +- tools/textviewer.pl | 2 ++ tools/textviewer.sh | 42 ++++++++++++++++++++++++----------------- tools/uudec | 15 ++++++++++++++- tools/uuooffice | 10 ++++++++-- 11 files changed, 82 insertions(+), 35 deletions(-) diff --git a/configure.ac b/configure.ac index 412a3f0..5df5f0d 100644 --- a/configure.ac +++ b/configure.ac @@ -796,7 +796,6 @@ if test x"$enable_alternate_addressbook" = xno; then dnl check for available libraries, and pull them in AC_CHECK_LIB(resolv, res_query, LDAP_LIBS="$LDAP_LIBS -lresolv") AC_CHECK_LIB(socket, bind, LDAP_LIBS="$LDAP_LIBS -lsocket") - AC_CHECK_LIB(nsl, gethostbyaddr, LDAP_LIBS="$LDAP_LIBS -lnsl") AC_CHECK_LIB(lber, ber_get_tag, LDAP_LIBS="$LDAP_LIBS -llber",, $LDAP_LIBS) diff --git a/src/common/ssl.c b/src/common/ssl.c index cc38c22..0f5c3cc 100644 --- a/src/common/ssl.c +++ b/src/common/ssl.c @@ -195,8 +195,9 @@ const gchar *claws_ssl_get_cert_file(void) { #ifndef G_OS_WIN32 const char *cert_files[]={ - "/etc/ssl/cert.pem", "/etc/pki/tls/certs/ca-bundle.crt", + "/usr/share/ca-certificates/ca-bundle.crt", + "/etc/ssl/cert.pem", "/etc/certs/ca-bundle.crt", "/etc/ssl/ca-bundle.pem", "/usr/share/ssl/certs/ca-bundle.crt", @@ -231,6 +232,7 @@ const gchar *claws_ssl_get_cert_dir(void) return g_getenv("SSL_CERT_DIR"); #ifndef G_OS_WIN32 const char *cert_dirs[]={ + "/var/lib/ssl/certs", "/etc/pki/tls/certs", "/etc/certs", "/usr/share/ssl/certs", diff --git a/tools/filter_conv.pl b/tools/filter_conv.pl index fec94e8..894e362 100755 --- a/tools/filter_conv.pl +++ b/tools/filter_conv.pl @@ -158,6 +158,7 @@ close(FILTERRC); ############################################################################### +chdir($ENV{ HOME } . "/.claws-mail") or die("You don't appear to have Sylpheed Claws installed\n"); open(MATCHERRC, ">>matcherrc"); print MATCHERRC @new_filters; close(MATCHERRC); diff --git a/tools/kdeservicemenu/install.sh b/tools/kdeservicemenu/install.sh index e3560eb..ad21f47 100755 --- a/tools/kdeservicemenu/install.sh +++ b/tools/kdeservicemenu/install.sh @@ -2,6 +2,8 @@ PERL_SCRIPT="claws-mail-kdeservicemenu.pl" DESKTOP="claws-mail-attach-files.desktop" +KDESU=kdesu +KDIALOG=kdialog function check_environ { echo "Checking for kde4-config..." @@ -21,7 +23,7 @@ else else echo "kde-config not found..." echo "asking user to find kde4-config or kde-config..." - KDECONFIG=$(kdialog --title "Locate kde-config or kde4-config" --getopenfilename / ) + KDECONFIG=$("$KDIALOG" --title "Locate kde-config or kde4-config" --getopenfilename / ) test -z $KDECONFIG && exit 1 if [[ $KDECONFIG == *4-config ]]; then SERVICEMENU_DIR="share/kde4/services/ServiceMenus" @@ -42,7 +44,7 @@ echo "Installing $PREFIX/$SERVICEMENU_DIR/$DESKTOP" mv -f $DESKTOP $PREFIX/$SERVICEMENU_DIR/$DESKTOP if [[ $? -ne 0 ]] then - kdialog --error "Could not complete installation." + "$KDIALOG" --error "Could not complete installation." exit fi echo "Installing $PREFIX/bin/$PERL_SCRIPT" @@ -51,7 +53,7 @@ echo "Setting permissions ..." chmod 0644 $PREFIX/$SERVICEMENU_DIR/$DESKTOP chmod 0755 $PREFIX/bin/$PERL_SCRIPT echo "Finished installation." -kdialog --msgbox "Finished installation." +"$KDIALOG" --msgbox "Finished installation." } function uninstall_all { @@ -59,13 +61,13 @@ echo "Removing $PREFIX/$SERVICEMENU_DIR/$DESKTOP" rm $PREFIX/$SERVICEMENU_DIR/$DESKTOP if [[ $? -ne 0 ]] then - kdialog --error "Could not complete uninstall." + "$KDIALOG" --error "Could not complete uninstall." exit fi echo "Removing $PREFIX/bin/$PERL_SCRIPT" rm $PREFIX/bin/$PERL_SCRIPT echo "Finished uninstall." -kdialog --msgbox "Finished uninstall." +"$KDIALOG" --msgbox "Finished uninstall." } function show_help { @@ -80,7 +82,7 @@ function show_help { } if [ -z $1 ] - then option="--$(kdialog --menu "Please select installation type" \ + then option="--$("$KDIALOG" --menu "Please select installation type" \ local "install for you only" \ global "install for all users" \ uninstall-local "uninstall for you only" \ @@ -94,7 +96,7 @@ case $option in PREFIX=$($KDECONFIG --prefix) echo "Installing in $PREFIX/$SERVICEMENU_DIR ..." if [ "$(id -u)" != "0" ]; then - exec kdesu "$0 --global" + exec "$KDESU" "$0 --global" fi install_all ;; @@ -115,7 +117,7 @@ case $option in PREFIX=$($KDECONFIG --prefix) echo "Uninstalling from $PREFIX/$SERVICEMENU_DIR ..." if [ "$(id -u)" != "0" ]; then - exec kdesu "$0 --uninstall-global" + exec "$KDESU" "$0 --uninstall-global" fi uninstall_all ;; diff --git a/tools/mairix.sh b/tools/mairix.sh index 46aa78b..0faf34b 100755 --- a/tools/mairix.sh +++ b/tools/mairix.sh @@ -21,6 +21,8 @@ # if any param is passed, $1 must be the mairixrc file to use # if no param is passed, ~/.mairix is assumed +MAIRIX=mairix + read TEXT test -z "$TEXT" && \ exit 0 @@ -33,6 +35,12 @@ else RCFILE=~/.mairixrc fi -mairix -f "$RCFILE" --purge && \ - mairix -f "$RCFILE" "$@" $TEXT + +which "$MAIRIX" > /dev/null 2>&1 || +{ + echo "Please install '$MAIRIX' to use this script." >&2 + exit 1 +}; +$MAIRIX -f "$RCFILE" --purge && \ + $MAIRIX -f "$RCFILE" "$@" $TEXT exit $? diff --git a/tools/make.themes.project b/tools/make.themes.project index 038bad7..68a3955 100644 --- a/tools/make.themes.project +++ b/tools/make.themes.project @@ -21,6 +21,12 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +WGET=wget +if ! type "$WGET" > /dev/null 2>&1; then + echo "Please install 'wget' to use this script." >&2 + exit 1 +fi + test x$1 = x && echo "Error: version number not given" && exit 1; VERS=$1 @@ -35,7 +41,7 @@ WLOG=themes.wget.log function getListFromPage() { test -f ${PAGE} && rm -f ${PAGE}; - wget -q -a ${WLOG} ${SITE}/${PAGE} + $WGET -q -a ${WLOG} ${SITE}/${PAGE} test ! -f ${PAGE} && echo "Error: couldn't get ${PAGE}." && exit 1; grep 'download.php?file=' ${PAGE} \ @@ -58,7 +64,7 @@ function downloadThemes() test $tarf = "png" \ && tarf=`echo $theme | cut -f3 -d/ `; echo -n "Downloading... "; - wget -q -a ${WLOG} -O ${DDIR}/$tarf ${SITE}/$theme + $WGET -q -a ${WLOG} -O ${DDIR}/$tarf ${SITE}/$theme test ! -f ${DDIR}/$tarf && echo "Error: couldn't get $tarf" && exit 1; pushd ${DDIR} > /dev/null tarops=""; diff --git a/tools/tb2claws-mail b/tools/tb2claws-mail index 7030061..d2971ba 100755 --- a/tools/tb2claws-mail +++ b/tools/tb2claws-mail @@ -53,7 +53,7 @@ closedir(CLAWS); # get all existing addressbook filenames foreach $cached (@cached) { if ($cached =~ m/^addrbook/ && $cached =~ m/[0-9].xml$/) { - push(addr, "$cached"); + push(@addr, "$cached"); } } # sort filenames, get last and set newest filename diff --git a/tools/textviewer.pl b/tools/textviewer.pl index e9f04ae..8945e84 100755 --- a/tools/textviewer.pl +++ b/tools/textviewer.pl @@ -96,6 +96,8 @@ my %fh = ( bz2 => [ "bzip2 -d < %f | strings" ], + gz => [ "zcat %f | strings" ], + zip => [ "unzip -l %f" ], # ZIP test => [ \&test ], # Internal diff --git a/tools/textviewer.sh b/tools/textviewer.sh index 38c8894..e8357db 100755 --- a/tools/textviewer.sh +++ b/tools/textviewer.sh @@ -87,6 +87,14 @@ # ############################################################################### +ANTIWORD=antiword +PDFTOTEXT=pdftotext +OOO2TXT=ooo2txt +XLHTML=xlhtml +HTML2TEXT=html2text +PPTHTML=ppthtml +UNRTF=unrtf + if [ $# -eq 0 ] then echo "No filename supplied." >&2 @@ -172,72 +180,72 @@ case $TYPE in ZIP) echo -e "Zip file contents:\n" ; unzip -l "$1" ;; - RTF) which unrtf > /dev/null 2>&1 || + RTF) which "$UNRTF" > /dev/null 2>&1 || { echo "Program 'unrtf' for displaying RTF files not found" >&2 exit 1 }; echo -e "Displaying \"$1\" using \"unrtf\":\n"; - unrtf -t text "$1" 2>/dev/null | egrep -v '^### ' | fold -s -w 72 ;; + "$UNRTF" -t text "$1" 2>/dev/null | egrep -v '^### ' | fold -s -w 72 ;; - TEXT) cat "$1" ;; + TEXT) cat "$1" | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g";; - MSWORD) which antiword > /dev/null 2>&1 || + MSWORD) which "$ANTIWORD" > /dev/null 2>&1 || { echo "Program 'antiword' for displaying MS Word files not found" >&2 exit 1 }; echo -e "Displaying \"$1\" using \"antiword\":\n"; - antiword -w 72 "$1" ;; + "$ANTIWORD" -w 72 "$1" ;; - POWERPOINT) which ppthtml > /dev/null 2>&1 || + POWERPOINT) which "$PPTHTML" > /dev/null 2>&1 || { echo "Program 'ppthtml' for displaying Powerpoint files not found" >&2 exit 1 }; - which html2text > /dev/null 2>&1 || + which "$HTML2TEXT" > /dev/null 2>&1 || { echo "Program 'html2text' for displaying Powerpoint files not found" >&2 exit 1 }; echo -e "Displaying \"$1\" using \"ppthtml\" and \"html2text\":\n"; - ppthtml "$1" | html2text ;; + "$PPTHTML" "$1" | "$HTML2TEXT" ;; - EXCEL) which xlhtml > /dev/null 2>&1 || + EXCEL) which "$XLHTML" > /dev/null 2>&1 || { echo "Program 'xlhtml' for displaying Excel files not found" >&2 exit 1 }; - which html2text > /dev/null 2>&1 || + which "$HTML2TEXT" > /dev/null 2>&1 || { echo "Program 'html2text' for displaying Excel files not found" >&2 exit 1 }; echo -e "Displaying \"$1\" using \"xlhtml\" and \"html2text\":\n"; - xlhtml "$1" | html2text ;; + "$XLHTML" "$1" | "$HTML2TEXT" ;; - OOWRITER) which ooo2txt > /dev/null 2>&1 || + OOWRITER) which "$OOO2TXT" > /dev/null 2>&1 || { echo "Program 'ooo2txt' for converting OpenOffice Writer files not files not found" >&2 exit 1 }; echo -e "Displaying \"$1\" using \"ooo2txt\":\n"; - ooo2txt "$1" ;; + "$OOO2TXT" "$1" ;; - PDF) which pdftotext > /dev/null 2>&1 || + PDF) which "$PDFTOTEXT" > /dev/null 2>&1 || { echo "Program 'pdftotext' for converting Adobe Portable Document Format to text not found" >&2 exit 1 }; echo -e "Displaying \"$1\" using \"pdftotext\":\n"; - pdftotext "$1" - ;; + "$PDFTOTEXT" "$1" - ;; - HTML) which html2text > /dev/null 2>&1 || + HTML) which "$HTML2TEXT" > /dev/null 2>&1 || { echo "Program 'html2text' for converting HTML files not found" >&2 exit 1 }; - html2text -nobs "$1" ;; + "$HTML2TEXT" -nobs "$1" ;; *) echo "Unsupported file type \"$FILETYPE\", cannot display.";; esac diff --git a/tools/uudec b/tools/uudec index 9b106bb..664f405 100755 --- a/tools/uudec +++ b/tools/uudec @@ -1,2 +1,15 @@ #!/bin/sh -uudecode -o - "$1" | display - +UUDECODE=uudecode +DISPLAY_CMD=display + +if ! type "$UUDECODE" > /dev/null 2>&1; then + echo "Please install 'uudecode' to use this script." >&2 + exit 1 +fi + +if ! type "$DISPLAY_CMD" > /dev/null 2>&1; then + echo "Please install 'display' to use this script." >&2 + exit 1 +fi + +$UUDECODE -o - "$1" | $DISPLAY_CMD - diff --git a/tools/uuooffice b/tools/uuooffice index 6a5dc06..e0b5517 100755 --- a/tools/uuooffice +++ b/tools/uuooffice @@ -18,8 +18,14 @@ # # uuooffice helper script to open documents attached to emails with OpenOffice +OOFFICE=ooffice +UUDECODE=uudecode FILENAME=$(grep -Em 1 "^begin [0-7][0-7][0-7] ." "$1" | cut -d ' ' -f 3-) TMPFILE=/tmp/${0##*/}_$FILENAME -uudecode -o - "$1" > "$TMPFILE" -ooffice "$TMPFILE" +which "$UUDECODE" > /dev/null 2>&1 && + $UUDECODE -o - "$1" > "$TMPFILE" || + echo "Please install 'uudecode' to use this script." >&2 +[ -e "$TMPFILE" ] && which "$OOFFICE" > /dev/null 2>&1 && + $OOFFICE "$TMPFILE" || + echo "Please install 'ooffice' to use this script." >&2 rm -f "$TMPFILE"