svn commit: samba r17838 - in branches/SAMBA_4_0/source/script: .

metze at samba.org metze at samba.org
Sat Aug 26 08:40:52 GMT 2006


Author: metze
Date: 2006-08-26 08:40:51 +0000 (Sat, 26 Aug 2006)
New Revision: 17838

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=17838

Log:
revert rev 17754

readd --always-create option to mkproto.pl

metze
Modified:
   branches/SAMBA_4_0/source/script/mkproto.pl


Changeset:
Modified: branches/SAMBA_4_0/source/script/mkproto.pl
===================================================================
--- branches/SAMBA_4_0/source/script/mkproto.pl	2006-08-26 02:53:45 UTC (rev 17837)
+++ branches/SAMBA_4_0/source/script/mkproto.pl	2006-08-26 08:40:51 UTC (rev 17838)
@@ -25,6 +25,7 @@
 my $private_data = \$_private;
 my $builddir = undef;
 my $srcdir = undef;
+my $always_create = $ENV{MK_PROTO_ALWAYS_CREATE};
 
 sub public($)
 {
@@ -49,6 +50,7 @@
 	print "  --private-define=DEF   Same as --define, but just for private header\n";
 	print "  --srcdir=path          Read files relative to this directory\n";
 	print "  --builddir=path        Write file relative to this directory\n";
+	print "  --always-create        Always create new proto headers, even if the content hasn't changed\n";
 	print "  --help                 Print this help message\n\n";
 	exit 0;
 }
@@ -65,6 +67,7 @@
 	'private-define=s' => \$private_define,
 	'srcdir=s' => sub { my ($f,$v) = @_; $srcdir = $v; },
 	'builddir=s' => sub { my ($f,$v) = @_; $builddir = $v; },
+	'always-create' => \$always_create,
 	'help' => \&usage
 ) or exit(1);
 
@@ -238,12 +241,20 @@
 	print STDOUT $$private_data;
 }
 
-mkpath(dirname($public_file), 0, 0755);
-open(PUBLIC, ">$public_file") or die("Can't open `$public_file': $!"); 
-print PUBLIC "$$public_data";
-close(PUBLIC);
+my $old_public_data = file_load($public_file);
+my $old_private_data = file_load($private_file);
 
-if ($public_file ne $private_file) {
+if (defined($always_create) or not defined($old_public_data) or ($old_public_data ne $$public_data))
+{
+	mkpath(dirname($public_file), 0, 0755);
+	open(PUBLIC, ">$public_file") or die("Can't open `$public_file': $!"); 
+	print PUBLIC "$$public_data";
+	close(PUBLIC);
+} 
+
+if (($public_file ne $private_file) and (defined($always_create) or 
+	not defined($old_private_data) or ($old_private_data ne $$private_data))) {
+
 	mkpath(dirname($private_file), 0, 0755);
 	open(PRIVATE, ">$private_file") or die("Can't open `$private_file': $!"); 
 	print PRIVATE "$$private_data";



More information about the samba-cvs mailing list