From 4afcf72f3dfea70a24aab1fa1b14f896e8892f9a3d97b4740cfc706c77bd377a Mon Sep 17 00:00:00 2001 From: Ruediger Oertel Date: Mon, 4 Jul 2011 09:43:18 +0000 Subject: [PATCH] - fix empty line handling (multiple subsequent empty lines) OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/obs-service-format_spec_file?expand=0&rev=15 --- obs-service-format_spec_file.changes | 5 +++++ obs-service-format_spec_file.spec | 6 ++++++ prepare_spec | 5 +++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/obs-service-format_spec_file.changes b/obs-service-format_spec_file.changes index 2ec3fea..4117da9 100644 --- a/obs-service-format_spec_file.changes +++ b/obs-service-format_spec_file.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Jul 4 11:42:26 CEST 2011 - ro@suse.de + +- fix empty line handling (multiple subsequent empty lines) + ------------------------------------------------------------------- Mon Jul 4 00:16:05 CEST 2011 - ro@suse.de diff --git a/obs-service-format_spec_file.spec b/obs-service-format_spec_file.spec index 6d1c595..9d5696d 100644 --- a/obs-service-format_spec_file.spec +++ b/obs-service-format_spec_file.spec @@ -30,6 +30,7 @@ Requires: osc-source_validator BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch + %description This is a source service for openSUSE Build Service. @@ -43,17 +44,22 @@ spec file instead of creating a new one. %setup -q -D -T 0 -n . + %build + %install mkdir -p $RPM_BUILD_ROOT/usr/lib/obs/service/format_spec_file.files install -m 0755 %{SOURCE0} $RPM_BUILD_ROOT/usr/lib/obs/service install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/obs/service install -m 0755 %{SOURCE2} $RPM_BUILD_ROOT/usr/lib/obs/service/format_spec_file.files + %files %defattr(-,root,root) %dir /usr/lib/obs /usr/lib/obs/service + + %changelog diff --git a/prepare_spec b/prepare_spec index 4f3f699..37945ba 100644 --- a/prepare_spec +++ b/prepare_spec @@ -95,7 +95,7 @@ sub capitalize_case($) sub maybe_add_empty_line() { - push @oldspec, "" + push @oldspec, "XXXBLANKLINE" if ($current_section ne "description" && $oldspec[-1] !~ /^\s*$/); } @@ -284,6 +284,7 @@ sub read_and_parse_old_spec { $args[1] =~ s/^\!//; $if_not = 1; } + $args[2] = "" unless $args[2]; if ( ($args[1] eq "0") || ($args[1] eq "%name" && $args[2] eq "!=" && $args[3] eq $base_package) || ($args[1] eq "%name" && $args[2] eq "==" && $args[3] ne $base_package) @@ -382,7 +383,7 @@ sub read_and_parse_old_spec { warn "changed to $current_section for $_\n" if $debug; } - push @oldspec, $_; + push @oldspec, "$_"; # multiline macros need an extra newline with old RPMs if (/^%(\w[\w\d]+).*[^\\]$/) { push @oldspec, "" if (defined($multiline_macros{$1}));