X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=plugins%2Fmake_archive.pl;h=b7124bbc697418cf6920e87b3df8903d65d2c9db;hp=3a3bf1739774f11d0db2f98efb259dd96c725f39;hb=618d1e63258ce8902efd1b311e3c9acbd80647f1;hpb=2a6b3977f779fe4355366761cea53f43392dc9e2 diff --git a/plugins/make_archive.pl b/plugins/make_archive.pl index 3a3bf173..b7124bbc 100755 --- a/plugins/make_archive.pl +++ b/plugins/make_archive.pl @@ -6,6 +6,7 @@ $i = 0; $Verbose = 0; $Plugin = ""; $Version = ""; +$SMVersion = ""; foreach $arg (@ARGV) { @@ -21,6 +22,10 @@ foreach $arg (@ARGV) { $Version = $arg; } + elsif ($SMVersion eq "") + { + $SMVersion = $arg; + } else { print "Unrecognized argument: $arg\n"; @@ -28,19 +33,32 @@ foreach $arg (@ARGV) } } -if ($Version eq "") +if ($SMVersion eq "") { - print "Syntax: make_archive.pl [-v] plugin_name version.number\n"; + print "Syntax: make_archive.pl [-v] plugin_name version sm_version\n"; print "-v = be verbose\n"; + print "plugin_name: The name of the plugin\n"; + print "version: The plugin's version number (1.0, 2.3, etc)\n"; + print "sm_version: The oldest version of SquirrelMail that this\n"; + print " plugin is for sure compatible with (1.0.1, 0.5, 1.1.0, etc)\n"; exit(0); } -print "Reformatting plugin name and version number.\n" if ($Verbose); +print "Validating name and version\n" if ($Verbose); $Plugin =~ s/\///g; -$Version =~ s/\./_/g; +if ($Plugin =~ /[^a-z_]/) +{ + print "Plugin name can only contain a-z and _\n"; + exit(0); +} +if ($Version =~ /[^\.0-9]/ || $SMVersion =~ /[^\.0-9]/) +{ + print "Version numbers can only have 0-9 and period\n"; + exit(0); +} -VerifyInfo($Plugin, $Version); +VerifyPluginDir($Plugin); print "Getting file list.\n" if ($Verbose); @Files = RecurseDir($Plugin); @@ -48,20 +66,20 @@ print "Getting file list.\n" if ($Verbose); $QuietString = " > /dev/null 2> /dev/null" if (! $Verbose); print "\n\n" if ($Verbose); -print "Creating $Plugin-$Version.tar.gz\n"; -system("tar cvfz $Plugin-$Version.tar.gz $Plugin" . FindTarExcludes(@Files) - . $QuietString); +print "Creating $Plugin.$Version-$SMVersion.tar.gz\n"; +system("tar cvfz $Plugin.$Version-$SMVersion.tar.gz $Plugin" . + FindTarExcludes(@Files) . $QuietString); -print "\n\n" if ($Verbose); -print "Creating $Plugin-$Version.zip\n"; -system("zip -r $Plugin-$Version.zip $Plugin/" . FindZipExcludes(@Files) - . $QuietString); +#print "\n\n" if ($Verbose); +#print "Creating $Plugin.$Version-$SMVersion.zip\n"; +#system("zip -r $Plugin.$Version-$SMVersion.zip $Plugin/" . +# FindZipExcludes(@Files) . $QuietString); -sub VerifyInfo +sub VerifyPluginDir { - local ($Plugin, $Version) = @_; + local ($Plugin) = @_; if (! -e $Plugin && ! -d $Plugin) { @@ -82,15 +100,10 @@ sub FindTarExcludes { if ($File =~ /^(.*\/CVS)\/$/) { - $ExcludeStr .= " $1"; + $ExcludeStr .= " --exclude $1"; } } - if ($ExcludeStr ne "") - { - $ExcludeStr = " --exclude" . $ExcludeStr; - } - return $ExcludeStr; }