From 0eeb1ee7bb8f8da43ec5a940a8b1025b19be485833364c471deb1eec5f53091a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Tue, 29 May 2012 09:51:48 +0000 Subject: [PATCH] do not break require lines using %() macros, eg. upcomming kiwi.spec OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/obs-service-format_spec_file?expand=0&rev=87 --- obs-service-format_spec_file.changes | 5 +++++ prepare_spec | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/obs-service-format_spec_file.changes b/obs-service-format_spec_file.changes index 72bf5db..0a5a494 100644 --- a/obs-service-format_spec_file.changes +++ b/obs-service-format_spec_file.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue May 29 09:51:33 UTC 2012 - adrian@suse.de + +- do not break require lines using %() macros + ------------------------------------------------------------------- Fri May 11 09:17:10 UTC 2012 - coolo@suse.com diff --git a/prepare_spec b/prepare_spec index 5bd203e..638534a 100644 --- a/prepare_spec +++ b/prepare_spec @@ -320,8 +320,14 @@ sub read_and_parse_old_spec { } my %aa; - while ($cur_tag =~ m{([^,\s]+(\s*[<=>]+\s*(?:\%\(.*\)|[^,\s]+))?)}g) { - $aa{$1}=1; + if ($cur_tag =~ /%\(/) { + # do not touch lines with shell execution + $aa{$cur_tag}=1; + } else { + # seperate tags of all other lines + while ($cur_tag =~ m{([^,\s]+(\s*[<=>]+\s*(?:\%\(.*\)|[^,\s]+))?)}g) { + $aa{$1}=1; + } } # ignore line if it looks like a "usedforbuild" line, i.e. # if it contains too many base packages