From: Paul Mangan Date: Fri, 7 Dec 2001 12:25:01 +0000 (+0000) Subject: script to switch between main and claws X-Git-Tag: rel_0_6_6~69 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=1c1e7463ba68d05a382bff1940e8a55bee213370 script to switch between main and claws --- diff --git a/tools/sylpheed-switcher b/tools/sylpheed-switcher new file mode 100644 index 000000000..b8f3a3016 --- /dev/null +++ b/tools/sylpheed-switcher @@ -0,0 +1,148 @@ +#!/usr/bin/perl + +# * Copyright © 2001 Paul Mangan +# * +# * This file is free software; you can redistribute it and/or modify it +# * under the terms of the GNU 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 +# * General Public License for more details. +# * +# * You should have received a copy of the GNU General Public License +# * along with this program; if not, write to the Free Software +# * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# * + +# Script Name: The Nasnas +# Script Version: 0.4 + +###################################################### +###################################################### +### ### +### FOR USAGE INSTRUCTIONS RUN THIS SCRIPT WITH ### +### THE FOLLOWING OPTION: ### +### ### +### ./sylpheed-switcher --help ### +### ### +###################################################### +###################################################### + +use File::Path; +use Getopt::Long; + +my $sylpheed = 0; +my $claws = 0; +my $sylphpath = ''; +my $clawspath = ''; +my $debug = 0; +my $YouWantHelp = 0; + +GetOptions("main" => \$sylpheed, + "claws" => \$claws, + "main-path=s" => \$sylphpath, + "claws-path=s" => \$clawspath, + "debug" => \$debug, + "help" => \$YouWantHelp); + +chdir; ## use $HOME for the working directory + +unless (-e ".sylpheed") { ## check for the .sylpheed directory + print "Your '.sylpheed' directory is missing. This probably means that "; + print "you have never run sylpheed before.\n"; + print "Before running sylpheed-switcher run sylpheed normally at least once.\n"; + exit; +} + +open (SYLSWIT, "<.sylpheed-switcher"); ## read the config file + @conf_file = ; +close SYLSWIT; + +if ($sylphpath && $clawspath) { ## this is the initial set-up part +## write the config file + $PATH_INFO = "$clawspath\n$sylphpath"; + open (CONFFILE, ">.sylpheed-switcher"); + print CONFFILE $PATH_INFO; + close CONFFILE; +## it appears that you'd run this script before, but the config file was missing + $DIR_CHECK = opendir(CHECKDIR, ".sylpheed-claws"); + closedir(CHECKDIR); + if ($DIR_CHECK == 1) { + print "\nNow you can run either the main branch or the claws\n"; + print "branch by using one of the following options:\n\n"; + print "./sylpheed-switcher --main\n./sylpheed-switcher --claws\n\n"; + exit; + } +## copy the directory tree + system "cp -R .sylpheed .sylpheed-main"; + system "cp -R .sylpheed .sylpheed-claws"; +## when setting-up is done print a little message + print "\nNow you can run either the main branch or the claws\n"; + print "branch by using one of the following options:\n\n"; + print "./sylpheed-switcher --main\n./sylpheed-switcher --claws\n\n"; + exit; +} +## the --help option stuff +if ($YouWantHelp) { + print "\n The SYLPHEED<->CLAWS SWITCHER\n\n"; + print "If you are running this script for the first time you will need \n"; + print "to set up the configuration. Here is an example, adjust the paths\n"; + print "to suit your set-up, but remember you need the full path with the\n"; + print "executable included:\n"; + print "./sylpheed-switcher --main-path=/usr/local/bin/sylpheed --claws-path=/usr/bin/sylpheed\n\n"; + print "When you have done the initial set-up, you run either the main branch\n"; + print "or the claws branch by using one of the following switches:\n\n"; + print "./sylpheed-switcher --main\n./sylpheed-switcher --claws\n\n"; + print "Add --debug to run sylpheed in debug mode\n\n"; + exit; +} +## if the config file doesn't exist... +if (!@conf_file) { + print "Use the following set-up options first, or --help for more info:\n"; + print "--claws-path=PATH # path to (and including) the claws sylpheed executable\n"; + print "--main-path=PATH # path to (and including) the main sylpheed executable\n"; + exit; +} +## check that the chosen execuatble exists +## get rid of the old symbolic link, make a new one, and run the required executable +if ($claws) { + chomp $conf_file[0]; + unless (-e $conf_file[0]) { + print "\n$conf_file[0] does not exist\n\n"; + exit; + } + rmtree(".sylpheed"); + symlink(".sylpheed-claws",".sylpheed"); + if ($debug eq 1) { + exec "$conf_file[0] --debug"; + } else { + exec "$conf_file[0]"; + } + exit; +} elsif ($sylpheed) { + chomp $conf_file[1]; + unless (-e $conf_file[1]) { + print "\n$conf_file[1] does not exist\n\n"; + exit; + } + rmtree(".sylpheed"); + symlink(".sylpheed-main",".sylpheed"); + if ($debug eq 1) { + exec "$conf_file[1] --debug"; + } else { + exec "$conf_file[1]"; + } + exit; +} elsif (!$claws && !$sylpheed && @conf_file) { ## you've got the config file but haven't said + print "\nUse one of the following switches:\n"; ## which version you want to run + print " --main # to run sylpheed main\n"; + print " --claws # to run sylpheed claws\n"; + print " --help # to view the help message\n"; + print "Optionally, you can also use:\n"; + print " --debug # to run in debug mode [optional]\n\n"; + exit; +} +###############################