die "The checkout is not clean:\n", $status unless $status =~ /\nnothing to commit \(working directory clean\)/;
die "The checkout is not on the master branch.\n" unless $status =~ /^# On branch master\n/;
- open(IN, '<', 'prepare-source.mak') or die "Couldn't open prepare-source.mak: $!\n";
- $_ = join('', <IN>);
+ my @extra_files;
+ open(IN, '<', 'Makefile.in') or die "Couldn't open Makefile.in: $!\n";
+ while (<IN>) {
+ if (s/^GENFILES=//) {
+ while (s/\\$//) {
+ $_ .= <IN>;
+ }
+ @extra_files = split(' ', $_);
+ last;
+ }
+ }
close IN;
-
- my @extra_files = m{\n([^\s:]+):.*\n\t\S}g;
map { s#^#$name/# } @extra_files;
print "Creating $name.tar.gz\n";
- system "./prepare-source && touch proto.h";
+ system "make gen";
symlink('.', $name);
system "git-archive --format=tar --prefix=$name/ HEAD >$dest/$name.tar";
system "fakeroot tar rf $dest/$name.tar @extra_files; gzip -9 $dest/$name.tar";
my $curdir = Cwd::cwd;
-open(IN, '<', 'prepare-source.mak') or die "Couldn't open prepare-source.mak: $!\n";
-$_ = join('', <IN>);
+my @extra_files;
+open(IN, '<', 'Makefile.in') or die "Couldn't open Makefile.in: $!\n";
+while (<IN>) {
+ if (s/^GENFILES=//) {
+ while (s/\\$//) {
+ $_ .= <IN>;
+ }
+ @extra_files = split(' ', $_);
+ last;
+ }
+}
close IN;
-my @extra_files = m{\n([^\s:]+):.*\n\t\S}g;
-
my $break = <<EOT;
==========================================================================
EOT
close OUT;
}
-system "./prepare-source && touch proto.h";
+system "make gen";
print $break;
system "git-diff --color |less -p '^diff .*'";
die "No 'patches' directory present in the current dir.\n" unless -d 'patches';
die "No '.git' directory present in the current dir.\n" unless -d '.git';
-open(IN, '<', 'prepare-source.mak') or die "Couldn't open prepare-source.mak: $!\n";
-$_ = join('', <IN>);
+my @extra_files;
+open(IN, '<', 'Makefile.in') or die "Couldn't open Makefile.in: $!\n";
+while (<IN>) {
+ if (s/^GENFILES=//) {
+ while (s/\\$//) {
+ $_ .= <IN>;
+ }
+ @extra_files = split(' ', $_);
+ last;
+ }
+}
close IN;
-my @extra_files = m{\n([^\s:]+):.*\n\t\S}g;
my $incl_generated_files = shift if @ARGV && $ARGV[0] eq '--gen';
system "git-checkout master" and exit 1;
if ($incl_generated_files) {
die "'a' must not exist in the current directory.\n" if -e 'a';
die "'b' must not exist in the current directory.\n" if -e 'b';
- system "./prepare-source && rsync -a @extra_files a/" and exit 1;
+ system "make gen && rsync -a @extra_files a/" and exit 1;
}
my $last_touch = time;
system "rm -rf a b";
}
-print "-------- master --------\n";
-sleep 1 if $last_touch == time;
-system "git-checkout master && ./prepare-source";
-
exit;
}
if ($incl_generated_files) {
- system "./prepare-source && rsync -a @extra_files b/" and exit 1;
+ system "make gen && rsync -a @extra_files b/" and exit 1;
}
$last_touch = time;