From bb4b69ac447eaabada80400b3822dcfcc27e7881 Mon Sep 17 00:00:00 2001 From: fidian Date: Fri, 23 Mar 2001 21:22:48 +0000 Subject: [PATCH] * Now supports the new naming scheme plugin_name.plugin.version-sm.version.tar.gz git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@1204 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- plugins/make_archive.pl | 42 +++++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/plugins/make_archive.pl b/plugins/make_archive.pl index 3a3bf173..f593bf9b 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"; +print "Creating $Plugin.$Version-$SMVersion.tar.gz\n"; system("tar cvfz $Plugin-$Version.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.zip\n"; +#system("zip -r $Plugin-$Version.zip $Plugin/" . FindZipExcludes(@Files) +# . $QuietString); -sub VerifyInfo +sub VerifyPluginDir { - local ($Plugin, $Version) = @_; + local ($Plugin) = @_; if (! -e $Plugin && ! -d $Plugin) { -- 2.25.1