3 # This all could (maybe) be done in a shell script, but I suck at those.
21 elsif ($Version eq "")
25 elsif ($SMVersion eq "")
31 print "Unrecognized argument: $arg\n";
38 print "Syntax: make_archive.pl [-v] plugin_name version sm_version\n";
39 print "-v = be verbose\n";
40 print "plugin_name: The name of the plugin\n";
41 print "version: The plugin's version number (1.0, 2.3, etc)\n";
42 print "sm_version: The oldest version of SquirrelMail that this\n";
43 print " plugin is for sure compatible with (1.0.1, 0.5, 1.1.0, etc)\n";
48 print "Validating name and version\n" if ($Verbose);
50 if ($Plugin =~ /[^a-z_]/)
52 print "Plugin name can only contain a-z and _\n";
55 if ($Version =~ /[^\.0-9]/ || $SMVersion =~ /[^\.0-9]/)
57 print "Version numbers can only have 0-9 and period\n";
61 VerifyPluginDir
($Plugin);
63 print "Getting file list.\n" if ($Verbose);
64 @Files = RecurseDir
($Plugin);
66 $QuietString = " > /dev/null 2> /dev/null" if (! $Verbose);
68 print "\n\n" if ($Verbose);
69 print "Creating $Plugin.$Version-$SMVersion.tar.gz\n";
70 system("tar cvfz $Plugin-$Version.tar.gz $Plugin" . FindTarExcludes
(@Files)
73 #print "\n\n" if ($Verbose);
74 #print "Creating $Plugin-$Version.zip\n";
75 #system("zip -r $Plugin-$Version.zip $Plugin/" . FindZipExcludes(@Files)
84 if (! -e
$Plugin && ! -d
$Plugin)
86 print "The $Plugin directory doesn't exist, " .
87 "or else it is not a directory.\n";
99 foreach $File (@Files)
101 if ($File =~ /^(.*\/CVS
)\
/$/)
103 $ExcludeStr .= " $1";
107 if ($ExcludeStr ne "")
109 $ExcludeStr = " --exclude" . $ExcludeStr;
121 foreach $File (@Files)
123 if ($File =~ /^(.*\/CVS
)\
/$/)
125 $ExcludeStr .= " $1/ $1/*";
129 if ($ExcludeStr ne "")
131 $ExcludeStr = " -x" . $ExcludeStr;
140 local (@Files, @Results);
143 @Files = readdir(DIR
);
146 @Results = ("$Dir/");
148 foreach $file (@Files)
150 next if ($file =~ /^[\.]+/);
153 push (@Results, RecurseDir
("$Dir/$file"));
157 push (@Results, "$Dir/$file");