+++ /dev/null
-#!/usr/bin/perl
-
-sub create_patches {
- my $tag=shift;
- my $pdir=shift;
- my $n=1;
- my @lines;
- my $fname;
- my $f=0;
-
- mkdir $pdir, 0755;
-
- open( GIT, 'git log -p --pretty=email --stat -m --first-parent --reverse '.$tag.'..HEAD |');
-
- while (<GIT>) {
- if (/^From [a-z0-9]{40} .*$/) {
- $fname = sprintf("%04d", $n++).".patch";
- open FH, ">".$pdir."/".$fname;
- $f=1;
- }
- if (/^---$/ && $f == 1) {
- push @lines, $fname;
- $f=0;
- }
- print FH;
- }
-
- return @lines;
-};
-
-use POSIX qw(strftime);
-my $datestr = strftime "%Y%m%d", gmtime;
-
-my $tag=shift;
-my $pdir=shift;
-$tag=`git describe --abbrev=0 --tags` if not defined $tag;
-chomp($tag);
-my @patches=&create_patches($tag, $pdir);
-my $num=$#patches + 2;
-$tag=~s/[^0-9]+?([0-9]+)/$1/ if $tag !~ /\b[0-9a-f]{5,40}\b/;
-my $release="$num.git$datestr";
-$release="1" if $num == 1;
-
-while(<>) {
- if (/^Version:/) {
- print "Version: $tag\n";
- }
- elsif (/^%define dist_free_release/) {
- print "%define dist_free_release $release\n";
- }
- elsif ((/^Source0:/) || (/^Source:/)) {
- print $_;
- $num=1;
- for(@patches) {
- s/.*\///g;
- print "Patch$num: $_\n";
- $num++;
- }
- print "\n";
- }
- else {
- print $_;
- }
-}