source: npl/mailserver/cyrus-imapd/mkimap

Last change on this file was c5c522c, checked in by Edwin Eefting <edwin@datux.nl>, 8 years ago

initial commit, transferred from cleaned syn3 svn tree

  • Property mode set to 100755
File size: 3.0 KB
RevLine 
[c5c522c]1#!/bin/sh
2#
3# Copyright (c) 2000 Carnegie Mellon University.  All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions
7# are met:
8#
9# 1. Redistributions of source code must retain the above copyright
10#    notice, this list of conditions and the following disclaimer.
11#
12# 2. Redistributions in binary form must reproduce the above copyright
13#    notice, this list of conditions and the following disclaimer in
14#    the documentation and/or other materials provided with the
15#    distribution.
16#
17# 3. The name "Carnegie Mellon University" must not be used to
18#    endorse or promote products derived from this software without
19#    prior written permission. For permission or any other legal
20#    details, please contact 
21#      Office of Technology Transfer
22#      Carnegie Mellon University
23#      5000 Forbes Avenue
24#      Pittsburgh, PA  15213-3890
25#      (412) 268-4387, fax: (412) 268-7395
26#      tech-transfer@andrew.cmu.edu
27#
28# 4. Redistributions of any form whatsoever must retain the following
29#    acknowledgment:
30#    "This product includes software developed by Computing Services
31#     at Carnegie Mellon University (http://www.cmu.edu/computing/)."
32#
33# CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
34# THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
35# AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
36# FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
37# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
38# AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
39# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
40#
41exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
42#!perl -w
43
44if ($] !~ /^5\..*/) {
45  # uh-oh. this isn't perl 5.
46  foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
47    exec("$_/perl5", "-x", "-S", $0, @ARGV) if (-x "$_/perl5");
48  }
49  # we failed. bail.
50  die "Your perl is too old; I need perl 5.\n";
51}
52
53# load the real script. this is isolated in an 'eval' so perl4 won't
54# choke on the perl5-isms.
55eval join("\n", <DATA>);
56if ($@) { die "$@"; }
57
58__END__
59require 5;
60
61$imapdconf = shift || "/etc/imapd.conf";
62
63open CONF, $imapdconf or die "can't open $imapdconf";
64print "reading configure file...\n";
65while (<CONF>) {
66    if (/^#/) {
67        next;
68    }
69    if (/^configdirectory:\s+(.*)$/) {
70        $conf = $1;
71        print "i will configure directory $conf.\n";
72    }
73    if (/^partition-.*:\s+(.*)$/) {
74        if (grep /$1/, @parts) {
75            next;
76        }
77        print "i saw partition $1.\n";
78        push @parts, $1;
79    }
80}
81print "done\n";
82close CONF;
83
84$d = $conf;
85
86print "configuring $d...\n";
87
88chdir $d or die "couldn't change to $d";
89
90mkdir "proc", 0755;
91mkdir "db", 0755;
92mkdir "socket", 0755;
93mkdir "log", 0755;
94mkdir "msg", 0755;
95mkdir "ptclient", 0755;
96
97while ($part = shift @parts) {
98    print "creating $part...\n";
99    mkdir $part, 0755;
100    chdir $part or die "couldn't change to partition $part";
101}
102
103print "done\n";
Note: See TracBrowser for help on using the repository browser.