Merge ~alexmurray/ubuntu-cve-tracker:catch-duplicate-usns into ubuntu-cve-tracker:master

Proposed by Alex Murray
Status: Merged
Merged at revision: 48a90cfbd989ee95ca8ae20697a2b4fe21b2fb17
Proposed branch: ~alexmurray/ubuntu-cve-tracker:catch-duplicate-usns
Merge into: ubuntu-cve-tracker:master
Diff against target: 52 lines (+24/-2)
1 file modified
scripts/sis-generate-usn (+24/-2)
Reviewer Review Type Date Requested Status
Alex Murray Approve
Review via email: mp+375417@code.launchpad.net

Description of the change

To post a comment you must log in.
Revision history for this message
Alex Murray (alexmurray) wrote :

Approving and merging myself due to lack of feedback.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/scripts/sis-generate-usn b/scripts/sis-generate-usn
2index ba30390..dfe452b 100755
3--- a/scripts/sis-generate-usn
4+++ b/scripts/sis-generate-usn
5@@ -512,6 +512,20 @@ print('export PATH=$PATH:%s' % (config['usn_tool']))
6 print('export USN=%s'%(usn))
7 print('export DB="--db %s"'%(local_pickle))
8 print('umask 0002')
9+print()
10+print('# check for known command-line arguments')
11+print('FORCE=""')
12+print('case $@ in')
13+print(' --force)')
14+print(' FORCE="--force"')
15+print(' ;;')
16+print(' "")')
17+print(' ;;')
18+print(' *)')
19+print(' echo Ignoring unknown command-line argument "$@"...')
20+print(' ;;')
21+print('esac')
22+print()
23 print('echo Recording USN-$USN ...')
24 print('# Wipe out the old one -- we want to create a fresh one')
25 print('rm -f %s'%(local_pickle))
26@@ -828,16 +842,24 @@ for release in releases:
27 print(' usn.py $DB $USN --release %s --package %s --all-binary-version %s' % (release,deb,version))
28 print()
29
30+# refresh the local db so when we do an import we can catch cases where a
31+# duplicate USN is used before we go to push it to the remote master DB
32+print('# Refresh the local DB')
33+print('echo Refreshing local master USN database ...')
34+print('pushd %s' % (os.path.dirname(config['usn_db_copy'])))
35+print('%s/scripts/fetch-db %s' % (os.environ['UCT'], os.path.basename(config['usn_db_copy'])))
36+print('popd')
37+
38 print('# Update the local DB')
39 print('echo Updating local master USN database ...')
40-print("usn.py $DB --export | usn.py --db %s --import" % (config['usn_db_copy']))
41+print("usn.py $DB --export | usn.py --db %s --import $FORCE" % (config['usn_db_copy']))
42
43 print('# Check local DB for unfilled templates')
44 print('%s/scripts/check-unreplaced-templates.py %s $USN' % (os.environ['UCT'], config['usn_db_copy']))
45
46 print('# Update the remote DB')
47 print('echo Updating remote master USN database and sending template email ...')
48-print("usn.py $DB --export | ssh -C people.canonical.com '/home/ubuntu-security/bin/usn.sh --db /home/ubuntu-security/usn/database-all.pickle --import && /home/ubuntu-security/bin/send-usn-email '\"$USN\"")
49+print("usn.py $DB --export | ssh -C people.canonical.com '/home/ubuntu-security/bin/usn.sh --db /home/ubuntu-security/usn/database-all.pickle --import $FORCE && /home/ubuntu-security/bin/send-usn-email '\"$USN\"")
50
51 #import pprint
52 #pp = pprint.PrettyPrinter(indent=4)

Subscribers

People subscribed via source and target branches