From 6385ac95fba1f107b7e461163623694b1023b81c8051fba7242da1da995822af Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 12 Dec 2011 10:29:11 +0000 Subject: [PATCH] - preserve release tag if it's more than a number OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/obs-service-format_spec_file?expand=0&rev=30 --- obs-service-format_spec_file.changes | 5 +++++ prepare_spec | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/obs-service-format_spec_file.changes b/obs-service-format_spec_file.changes index b3b8073..aedbff9 100644 --- a/obs-service-format_spec_file.changes +++ b/obs-service-format_spec_file.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 12 10:28:57 UTC 2011 - coolo@suse.com + +- preserve release tag if it's more than a number + ------------------------------------------------------------------- Wed Dec 7 14:04:46 UTC 2011 - coolo@suse.com diff --git a/prepare_spec b/prepare_spec index 6393469..1b3a643 100644 --- a/prepare_spec +++ b/prepare_spec @@ -24,7 +24,6 @@ my $vim_modeline; my $nosrc_result = 0; my $current_section = "header"; my $had_debug_package = 0; -my %pkg_version = (); my $main_license; my %seen_licenses = (); my $main_group; @@ -490,6 +489,10 @@ sub read_and_parse_old_spec { } # reset Release if ( /^Release\s*:\s*(.*)/i ) { + if ($1 !~ m/^[0-9]*$/ && $oldspec[-1] eq "XXXRELEASE") { + pop @oldspec; + push @oldspec, sprintf("%-16s%s","Release:", $1); + } # will be after Version next; } @@ -535,7 +538,7 @@ sub read_and_parse_old_spec { $version{$c_pack} = $_; $version{$c_pack} =~ s/^Version:\s*(.*)\s*/$1/; push @oldspec, sprintf("%-16s%s","Version:",$version{$c_pack}); - push @oldspec, sprintf("%-16s%s","Release:", "0"); + push @oldspec, "XXXRELEASE"; next; } } @@ -688,6 +691,8 @@ while (@oldspec) { print "\n" unless $oldspec[0] && ($oldspec[0] =~ m/^XXX.*LINE/ || $oldspec[0] =~ /^\s*$/ || $oldspec[0] =~ /^\n/); } elsif ($line eq "XXXDOUBLELINE") { print "\n\n" unless $oldspec[0] && ($oldspec[0] =~ m/^XXX.*LINE/ || $oldspec[0] =~ /^\s*$/ || $oldspec[0] =~ /^\n/); + } elsif ($line eq "XXXRELEASE") { + printf("%-16s%s\n", "Release:", "0") ; } elsif ($line =~ m/XXXPOSTSUMMARY (.*)$/) { my $current_package = $1; my $license = $seen_licenses{$current_package} || $main_license;