[SRU,P,T,X,B,C] UBUNTU: [Packaging] git-ubuntu-log -- fix order of tracking bug commit

Message ID 20180921095448.32240-1-kleber.souza@canonical.com
State New
Headers show
Series
  • [SRU,P,T,X,B,C] UBUNTU: [Packaging] git-ubuntu-log -- fix order of tracking bug commit
Related show

Commit Message

Kleber Souza Sept. 21, 2018, 9:54 a.m.
The package tracking bug number is not inserted anymore on the changelog
by the link-to-tracker script. Instead, it creates/updates the
debian.<branch>/tracking-bug file and commits the change.

We want this commit to be added to the changelog in a similar fashion as
before, as the first entry. So change the git-ubuntu-log script to
detect that commit and insert it in the right place.

Ignore: yes
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
---
 debian/scripts/misc/git-ubuntu-log | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

Comments

Thadeu Lima de Souza Cascardo Sept. 21, 2018, 10:22 a.m. | #1
On Fri, Sep 21, 2018 at 11:54:48AM +0200, Kleber Sacilotto de Souza wrote:
[...]
>  # Suck up the git log output and extract the information we need.
>  keys = []
>  entry = None
> @@ -90,6 +96,10 @@ for key in keys:
>          for bug in key:
>              if bug.startswith('CVE-'):
>                  title_set.append(bug)
> +            if bug == '__trackingbug__':
> +                # Look for the tracking bug number on the second
> +                # position of the key
> +                continue
>              else:
>                  bug_info = None

Now, you are querying launchpad for CVEs. So, this should be a elif, maybe?

[...]
Kleber Souza Sept. 21, 2018, 11:32 a.m. | #2
On 09/21/18 12:22, Thadeu Lima de Souza Cascardo wrote:
> On Fri, Sep 21, 2018 at 11:54:48AM +0200, Kleber Sacilotto de Souza wrote:
> [...]
>>  # Suck up the git log output and extract the information we need.
>>  keys = []
>>  entry = None
>> @@ -90,6 +96,10 @@ for key in keys:
>>          for bug in key:
>>              if bug.startswith('CVE-'):
>>                  title_set.append(bug)
>> +            if bug == '__trackingbug__':
>> +                # Look for the tracking bug number on the second
>> +                # position of the key
>> +                continue
>>              else:
>>                  bug_info = None
> 
> Now, you are querying launchpad for CVEs. So, this should be a elif, maybe?
> 
> [...]
> 

Doh... good catch, thanks!

I'll send a v2.

Patch

diff --git a/debian/scripts/misc/git-ubuntu-log b/debian/scripts/misc/git-ubuntu-log
index 490ecce73c48..6520bfaa20c8 100755
--- a/debian/scripts/misc/git-ubuntu-log
+++ b/debian/scripts/misc/git-ubuntu-log
@@ -28,13 +28,19 @@  def add_entry(entry):
             else:
                 combo = '__mainline__'
         else:
-            if combo not in keys:
-                keys.append(combo)
+            if entry.get('subject', "") == 'UBUNTU: link-to-tracker: update tracking bug':
+                # Construct a key with '__trackingbug__' on the first position
+                # and the tracking bug number afterwards
+                combo.insert(0, '__trackingbug__')
+                # Tracking bug goes at the top
+                keys.insert(0, combo)
+            else:
+                if combo not in keys:
+                    keys.append(combo)
 
         entry['key'] = combo
         entries.append(entry)
 
-
 # Suck up the git log output and extract the information we need.
 keys = []
 entry = None
@@ -90,6 +96,10 @@  for key in keys:
         for bug in key:
             if bug.startswith('CVE-'):
                 title_set.append(bug)
+            if bug == '__trackingbug__':
+                # Look for the tracking bug number on the second
+                # position of the key
+                continue
             else:
                 bug_info = None
 
@@ -132,8 +142,9 @@  for key in keys:
 
             emit_title = False
 
-        title_lines = textwrap.wrap(entry['subject'], 76)
-        print('    - ' + title_lines[0])
-        for line in title_lines[1:]:
-            line = line.replace('LP###', 'LP: #')
-            print('      ' + line)
+        if key[0] != '__trackingbug__':
+            title_lines = textwrap.wrap(entry['subject'], 76)
+            print('    - ' + title_lines[0])
+            for line in title_lines[1:]:
+                line = line.replace('LP###', 'LP: #')
+                print('      ' + line)