Slight improvements to URL and email address parsing.
[sw-tools] / perl / sw.in
CommitLineData
961ce1c2 1#! @PERL@
2# -*-perl-*-
3#
9abee809 4# $Id: sw.in,v 1.2 1999/07/30 20:24:02 mdw Exp $
961ce1c2 5#
6# CGI interface for software installations
7#
8# (c) 1999 EBI
9#
10
11#----- Licensing notice -----------------------------------------------------
12#
13# This file is part of sw-tools.
14#
15# sw-tools is free software; you can redistribute it and/or modify
16# it under the terms of the GNU General Public License as published by
17# the Free Software Foundation; either version 2 of the License, or
18# (at your option) any later version.
19#
20# sw-tools is distributed in the hope that it will be useful,
21# but WITHOUT ANY WARRANTY; without even the implied warranty of
22# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23# GNU General Public License for more details.
24#
25# You should have received a copy of the GNU General Public License
26# along with sw-tools; if not, write to the Free Software Foundation,
27# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
28
29#----- Revision history -----------------------------------------------------
30#
31# $Log: sw.in,v $
9abee809 32# Revision 1.2 1999/07/30 20:24:02 mdw
33# Fix titles for debugging actions.
34#
961ce1c2 35# Revision 1.1 1999/07/30 18:46:38 mdw
36# New CGI script for browsing installed software and documentation.
37#
38
39#----- Required packages ----------------------------------------------------
40
41use lib qw(@pkgdatadir@);
42
43use POSIX;
44use IO;
45
46use SWConfig;
47use SW;
48use SWCGI qw(:DEFAULT :debug);
49
50#----- Get packages implementing various actions ----------------------------
51
52BEGIN { %ACT = (); }
53use SWList;
54use SWDoc;
55use SWMan;
56use SWInfo;
57
58#----- Some built-in debugging actions --------------------------------------
59
60sub debug($\%) {
61 my ($what, $h) = @_;
62 SWCGI::header($what);
63 SWCGI::dumphash(%$h);
64 SWCGI::footer();
65}
66
67$ACT{"show-config"} = sub { debug("configuration", %C); };
9abee809 68$ACT{"show-environment"} = sub { debug("environment", %ENV); };
69$ACT{"show-query"} = sub { debug("query", %Q); };
961ce1c2 70
71#----- Snarf arguments ------------------------------------------------------
72
73$C{"edited-config-file"} eq "yes" or
74 barf("Config file $C{datadir}/sw.conf hasn't been edited.");
75
76SWCGI::read();
77$act = $Q{"act"} || "list";
78if ($ACT{$act}) {
79 &{$ACT{$act}};
80} else {
81 barf("unknown action `$act'");
82}
83
84#----- That's all, folks ----------------------------------------------------
85
86exit;