From 99ba99c74c9d761a502e9d3ed59f1ff72311471f Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sat, 22 Mar 2008 23:45:05 -0700 Subject: [PATCH] Changed the way version numbering of pre-releases will be done in the RPM spec file so that they order prior to the final release. --- packaging/lsb/rsync.spec | 9 +++++---- packaging/release-rsync | 21 ++++++++++++--------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/packaging/lsb/rsync.spec b/packaging/lsb/rsync.spec index 4ef50a04..2fb3f1ac 100644 --- a/packaging/lsb/rsync.spec +++ b/packaging/lsb/rsync.spec @@ -1,10 +1,11 @@ Summary: A fast, versatile, remote (and local) file-copying tool Name: rsync Version: 3.0.0 +%define fullversion %{version} Release: 1 Group: Applications/Internet -Source0: http://rsync.samba.org/ftp/rsync/rsync-%{version}.tar.gz -Source1: http://rsync.samba.org/ftp/rsync/rsync-patches-%{version}.tar.gz +Source0: http://rsync.samba.org/ftp/rsync/%{name}-%{fullversion}.tar.gz +Source1: http://rsync.samba.org/ftp/rsync/%{name}-patches-%{fullversion}.tar.gz URL: http://rsync.samba.org/ Prefix: %{_prefix} @@ -24,8 +25,8 @@ improved copy command for everyday use. %prep # Choose one -- setup source only, or setup source + rsync-patches: -%setup -q -#%setup -q -b1 +%setup -q -n %{name}-%{fullversion} +#%setup -q -n %{name}-%{fullversion} -b1 # If you you used "%setup -q -b1", choose the patches you wish to apply: #patch -p1 ); $lastversion = $_ if $_ ne ''; $lastversion =~ s/[-.]*pre[-.]*/pre/; -my $release = 1; +my $pre = $version =~ /(pre\d+)/ ? $1 : ''; + +my $release = $pre ? '0.1' : '1'; print "Please enter the RPM release number of this release: [$release] "; chomp($_ = ); $release = $_ if $_ ne ''; +$release .= ".$pre" if $pre; my($srcdir,$srcdiffdir,$lastsrcdir,$skipping); if ($lastversion =~ /pre/) { - if ($version !~ /pre/) { + if (!$pre) { die "You should not diff a release version against a pre-release version.\n"; } $srcdir = $srcdiffdir = $lastsrcdir = 'src-previews'; $skipping = ' ** SKIPPING **'; -} elsif ($version =~ /pre/) { +} elsif ($pre) { $srcdir = $srcdiffdir = 'src-previews'; $lastsrcdir = 'src'; $skipping = ' ** SKIPPING **'; @@ -132,8 +135,8 @@ print " "; $_ = ; (my $finalversion = $version) =~ s/pre\d+//; -my %specvars = ( 'Version:' => $version, 'Release:' => $release, - 'Released' => "$version." ); +my %specvars = ( 'Version:' => $finalversion, 'Release:' => $release, + '%define fullversion' => "\%{version}$pre", 'Released' => "$version." ); my @tweak_files = ( glob('packaging/*.spec'), glob('packaging/*/*.spec'), glob('*.yo'), qw( configure.in rsync.h NEWS OLDNEWS options.c ) ); @@ -159,16 +162,16 @@ foreach my $fn (@tweak_files) { } elsif ($fn eq 'rsync.h') { s/(#define\s+SUBPROTOCOL_VERSION)\s+\d+/$1 0/ or die "Unable to find SUBPROTOCOL_VERSION define in $fn\n"; - next if $version =~ /pre/; + next if $pre; } elsif ($fn eq 'NEWS') { s/^(NEWS for rsync \Q$finalversion\E) \(UNRELEASED\)\s*\n/$1 ($today)\n/mi or die "The first line of $fn is not in the right format. It must be:\n" . "NEWS for rsync $finalversion (UNRELEASED)\n"; - next if $version =~ /pre/; + next if $pre; } elsif ($fn eq 'OLDNEWS') { s/^\t\S\S\s\S\S\S\s\d\d\d\d(\t\Q$finalversion\E)/\t$ztoday$1/m or die "Unable to find \"?? ??? $year\t$finalversion\" line in $fn\n"; - next if $version =~ /pre/; + next if $pre; } elsif ($fn eq 'options.c') { if (s/(Copyright \(C\) 2002-)(\d+)( Wayne Davison)/$1$year$3/ && $2 ne $year) { @@ -259,7 +262,7 @@ foreach my $fn ($srctar_file, $pattar_file, $diff_file) { system "gpg -ba $fn"; } -if ($version !~ /pre/) { +if (!$pre) { system "rm $dest/rsync-*{.tar.gz,.asc,-NEWS} $dest/src-preview/rsync-*diffs.gz"; foreach my $fn ($srctar_file, "$srctar_file.asc", -- 2.34.1