vcswatch reports that
this package seems to have a new changelog entry (version
12.5~, distribution
unstable) and new commits
in its VCS. You should consider whether it's time to make
an upload.
Here are the relevant commit messages:
commit 663958321f5c340c59217c19e3c12e9d810e0066
Merge: efc4072 5c9148c
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Fri Jan 10 23:50:48 2025 +0000
Merge branch 'verify' into 'master'
Completely rework dgit-repos-server t2u mode
Closes #20, #9, and #8
See merge request dgit-team/dgit!86
commit 5c9148c4dbb6643f29367c5cd65bfd3abc8964f2
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Fri Jan 10 11:44:12 2025 +0000
tests: t2u: Add test case for missing verify_finish call
As per
https://salsa.debian.org/dgit-team/dgit/-/merge_requests/86#note_568995
I have verified that with this test case, removing these lines
> # Check that the package is right for a DM upload, now that we know it
> verifytag_finish $verifytag_info;
from d-r-s causes this test case to fail, with the error being that
the package was uploaded - as would be expected.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 26402b8510f7b12dda08313a9aa987863bdc0da8
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Fri Jan 10 11:50:58 2025 +0000
tests: t2u: Run t-archive-process-incoming on 1.0-1
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 5294a5ab851652a3fe597fa612e730f32b1b0612
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Fri Jan 10 12:01:54 2025 +0000
tests: t-archive-process-incoming: allow overriding $v
We're about to want to move something earlier out of incoming, even
though we've already moved on to another version (setting v).
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit ef7c6783cb516e48ebea452cb4917d6a55ad14fa
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 8 19:19:22 2025 +0000
d-r-s: t2u: Use X-Debian-Tag2upload- for info email headers
See
https://salsa.debian.org/dgit-team/dgit/-/merge_requests/86#note_567835
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 36b49c87030b119be734626b386eaa221c103d3a
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 8 19:17:50 2025 +0000
d-r-s: t2u: Remove an otiose pair of quotes
As per
https://salsa.debian.org/dgit-team/dgit/-/merge_requests/86#note_568806
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit bc10cfbd736d0daa97ae13edff352658de9fb8e6
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 8 19:15:11 2025 +0000
d-r-s: Change "headline" terminology to "summary line"
As per
https://salsa.debian.org/dgit-team/dgit/-/merge_requests/86#note_567832
This replaces the intent behind
d-r-s: Use "headline" terminology to refer to the tag title line
which we now think is less clear. (But, this commit is not a revert.)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 94a08d55f0869fe4b42cda6f65438cf614f91b90
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 8 19:05:45 2025 +0000
tag2upload-oracled: Remove an unused variable
This became unused in "t2u: Rework error handling in d-r-s".
As per
https://salsa.debian.org/dgit-team/dgit/-/merge_requests/86#note_567842
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 920cb8937b2a0f443418ef275a5b22d7d2b5d9dc
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Tue Jan 7 18:07:44 2025 +0000
t2u: d-r-s: Improve some user-facing messages
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 4f6d9b69c57f7836e9c52f81a9e8b42b132c844a
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 21:24:41 2025 +0000
d-r-s: t2u: Rename @dgitcmd to @cmd
This code used to be in a function which ran various commands. Now it
just does this. Using @cmd is clearer. For example, helps avoid
thinking that this is some kind of global that we might be adding to
or that other functions might use.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit b651e5fd19d8735e0e470a0600e4a4ffb5ab7669
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 21:18:55 2025 +0000
d-r-s: t2u: Remove an otiose check
$t2u_upstreamt can't be defined here. It comes from the tag, which we
are just starting parsing at this point.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit a3aaeee90be351ff80b492dd14257fa2504fa941
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 21:21:20 2025 +0000
d-r-s: t2u: Clarify dgit rpush-source invocation
Putting the rpush-source verb on its own line makes it stand out more,
which I think is clearer. This is where the principal work is done!
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit b8968968a6b6a5c21dd423e0fe75f0f557aea262
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 22:33:21 2025 +0000
d-r-s: t2u: Add doc comments to t2uv_runcmd and _cmdprefix
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 36124e449fbf3d029e9868650180219a3e57322e
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Sun Dec 29 18:46:03 2024 +0000
d-r-s: t2u: Write "rejected:" rather than "reject:" in emails
This is better grammar, I think.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 4d3a4d7a4960138ef76de82728475d56f970b717
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 21:29:20 2025 +0000
d-r-s: t2u: Improve some error messages
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 0ee444eba0471447b7e18da43c1888c76e22319c
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Sun Dec 29 23:55:01 2024 +0000
d-r-s: t2u: Add more useful email headers
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 7013995f0514e41ef967afb42ad998ec2303edea
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 23:03:25 2025 +0000
d-r-s: t2u: Send email when starting, and on success
This is most of dgit#23. But we do *not* yet email the email address
associated with the signing key.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 2b1c087890fd2322910a47afe5c52e5309e9adbc
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 22:41:02 2025 +0000
d-r-s: t2u: Remove some unhelpful defaulting
$distro is set on our command line. $version is set in
tag2upload_check_args. Both of these run before we try to send any
emails.
We don't unconditionallly need $package any more, since now the
Subject (which used to use this) is supplied by our caller.
Only include the X- header line if we have it, though.
Setting these global variables to default values was always a bit
shonky.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 814cc5b2f32a0c1ce56a19e1e8a416b75c2aad4a
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 23:28:40 2025 +0000
d-r-s: t2u: Have callers of t2u_send_email provide some info
We're going to call this in more circumstances, including when we
start a job, and on success. So a "failed" message is not always
appropriate.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 30cbb5c84013e2e31954788f40ffb8c2a325a879
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 20:16:40 2025 +0000
d-r-s: t2u: Abolish vestigial $quit
And merge tag2upload_parsetag2 into tag2upload_parsetag,
as planned.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 60ff5a86f80972bc76ebc264e5c09c86cff48228
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Fri Jan 10 14:45:01 2025 +0000
t2u: Rework error handling in d-r-s
* Change the order of events to the one we intend.
Now we verify the signature first (dgit#9).
* Have d-r-s provide the manager protocol response.
See b686522e8f1d. This is a change to the oracle-to-drs protocol,
so bump the version to --tag2upload5.
* Abolish overall.log. Logging is now done by the oracled.*.
* The message in the protocol response to the manager now contains
more helpful information - notably, whether email reports were sent.
Much internal rearrangement:
* Use a new $reject_hook to make it possible to call `reject` everywhere
(this sort-of-replaces the plumbed-through $quit closure, but its
functionality is rather different).
* Have each failure path provide the informational text in email reports.
In the tests:
* Capture the drs-generated protocol response, so we can examine it.
* Always run d-r-s with LC_MESSAGES=C. We don't intend to translate
this, and doing it that way simplifies some things.
* No longer expect d-r-s to crash. It's not supposed to.
We retain the $quit arguments for a moment, to avoid adding more noise
to the diff.
I don't know if logging of commands to the emails works properly.
I have filed dgit#32 for that.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit eebb9a7c0802b06b5e1ab9f4feedebbb283ddcdb
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 21:20:42 2025 +0000
d-r-s: t2u: Abolish ad-hoc scanning of the git tag
Previously, this code ran before parsetag, to try to procheck whether
this is a t2u tag at all. Now that is done much earlier, typically by
the Manager.
That the tag contains a please-upload request is still checked via
%need by other code in tag2upload_parsetag.
Get the tagger out of the parsed headers.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit cfcb6ff974f69b1774c4f7b6267b5312a57e46f4
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 19:28:40 2025 +0000
d-r-s: t2u: Simplify our git fetch
Don't clone the input tag with --depth=1 and then unshallow if
upstream is provided. Simply always clone the whole tree.
(It's not d-r-s's job to try to optimise this by some kind of shallow
clone; dgit might know how to do that, depending on the quilt mode,
but it doesn't offer an API for it.)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 0400ebf9d4b3c450dd90f88bfcde4c3560b4114b
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 19:58:00 2025 +0000
d-r-s: t2u: Use t2u_add_to_report to progressively improve emails
Call t2u_add_to_report whenever we have more information or progress
to report. This replaces the information added at the end in
t2u_send_email.
Introduce a new function tag2upload_verifytag which does the email
reporting for signature verification. Do the reporting for the dm.txt
check in tag2upload_parsetag2, which will become part of
tag2upload_parsetag (but can't yet, because things aren't happening in
the right order).
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 5ca9d0e41647e5e8d4b20ab650be6c46675c4776
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 21:44:48 2025 +0000
d-r-s: t2u: Obtain the suite from the changelog, not the heading line
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 5efb9ff43d47d9d75b10982478d57844d27882a0
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 19:01:30 2025 +0000
d-r-s: t2u: Break apart tag2upload_prebuild
It is clearer to think of this as separate operations, even though
they'll remain consecutive even after all the reorganisation.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit a9e4886317209534b720c918fed8da536ec8075c
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 22:10:48 2025 +0000
d-r-s: New internal verifytag API
We are going to need to verify the signature on the tag, using our
keyrings, before we know which package the tag is supposedly for -
since the package is obtained by parsing the tag.
So we must split verifytag up into two pieces. The push receiver code
can just use verifytag, which retains the old behaviour.
The t2u code calls the pieces (including parsetag_split) separately:
We split that up now, and the ordering of events will be changed
later.
The tests remain untouched, since there is no behavioural change.
The principal test case for this code is drs-push-rejects.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 6f2ad20a2381739b851df3c5beb3f4f5c18ae538
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 22:06:15 2025 +0000
d-r-s: New internal parsetag API
The previous arrangements were quite bizarre, with various shared file
handles being left in various states halfway through the tag, etc.
Replace parsetag_start with parsetag_split (dismantles the tag into
plaintext and signature, and also splits off the message part).
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 9e122d3c13289f27d831089976bda040b641df3b
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 22:01:04 2025 +0000
Behavioural change: d-r-s: Reject tags with no distro=
In d0c5d6629f42b2efa52fb48a5f24407ef18f86b2 in March 2015, we added a
`distro=` to the signed tags used as push instructions to dgit-repos.
This was released as part of dgit 0.30 which is necessary to use the
new dgit-repos server.
We don't need to support tags without distro= any more.
Make the check call `reject` rather than `die`. (This makes d-r-s
report it by email, in t2u mode, which seems correct.)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit e45cc4de333aa6b061e3b62b190768e9d3a7bf49
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 21:13:23 2025 +0000
d-r-s: t2u: Code motion to put functions in intended execution order
This is not the *current* execution order, yet.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 121e2b2c0f62bc2cb57c10b7de437539713a25f9
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 21:16:15 2025 +0000
d-r-s: t2u: Centralise and defer fetching
Introduce tag2upload_fetch. This contains the git fetch invocations
from the origin.
Previously, this was done in two stages: firstly the shallow clone,
and then a deep one after the tag had been parsed. This was necessary
because in the old design d-r-s would need to fetch the tag itself.
In this commit we move the code into the new function, and we call it
later.
tag2upload_prep contained only fetching code, and is abolished.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 38743ee38a23f7a76e6a20e338f051b01e1c4711
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Thu Jan 2 01:07:35 2025 +0000
tests: t2u: Disable the mangled tag test
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 7c9c60efd59aaed5a219bbd49642f9c667eea523
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 21:16:11 2025 +0000
d-r-s: t2u: Move tag headline parsing to parsetag
This code is wrong. We shouldn't be parsing the headline at all.
But, for now, we need to move it. This is because parts of the rest
of the code use the values we obtain here. We are about to change the
order of events, and the old location would be too late. We can't
abolish it until we've done other major rework to the tag handling.
Later in the branch the the ad-hoc headline match will then be
abolished. (And parsetag_start is going to be replaced too.)
Change the TODO to a XXXX to reflect the intent to abolish this in the
same MR branch.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 5f6e245818e5394b51422dd1188f298d8e71923a
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 22:44:12 2025 +0000
d-r-s: t2u: Break out tag2upload_check_args
* We're wanting to abolish tag2upload_prep, which has a very generic
name. Also we will want to check these things earlyiish.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 7893dc94312635c89bbca216ec2f4843efd25737
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 12:27:37 2025 +0000
d-r-s: Be able to send email before we have the tagger
This will be needed when we start to reorganise things. In
particular, we're going to want to send emails before we've even
parsed the tag.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit bf7a0da62537648baaf4fc4d4c391c67a5f186f3
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed Jan 1 22:43:34 2025 +0000
d-r-s: t2u: Actually read the tag from stdin
This gets us the tag in wholetag much earlier, and will let us start
changing the order things happen in.
We check that the tag we find in the cloned tree is the same as the
one we got from stdin.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 55200fba340e54736a12892950f1470505a2b3a3
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Tue Dec 31 10:55:31 2024 +0000
d-r-s: t2u: Break out tag2upload_prep_dir
This is clearer. Also, we're going to reorganise the order of events
and this part wants to be done fairly early.
The variable $work was unused, so can be deleted.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 1b6aa5bec20e1a0f8b8da7a4d50c772cb51e20d7
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Tue Dec 31 12:19:39 2024 +0000
d-r-s: Formatting tidying
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 3f5164ba31a678968e8b54faef9ea27d1f9285cf
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Tue Dec 31 11:39:19 2024 +0000
d-r-s: t2u: Use correct $tagname variable, not $tagval
$tagval is supposed to be the objectid. But this is the name.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 4e29d22777c35ca9da50d2bd8d09cdf9a45e6c91
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Mon Dec 30 00:54:58 2024 +0000
d-r-s: t2u: Attach the actual tag as a MIME part
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 70c4a187c0de7c7cd8c68d55e7f4afc75ce4a1eb
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Thu Jan 2 00:08:06 2025 +0000
tests: t2u: mime-decode the emails we send
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit a3fc81fe844ada64be47131e404c1986a26496fd
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Thu Jan 2 00:07:14 2025 +0000
tests: Use cd in stunt sendmail
This deduplicates. We're about to use a lot more temporary files.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 56f40efe9bd9b507b77f9dd941913ddffff18ee1
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Mon Dec 30 19:26:12 2024 +0000
d-r-s: t2u: Send emails in MIME format
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 39b0e789dc78487cd3cae89090d2deceb4ce356e
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Mon Dec 30 19:22:52 2024 +0000
d-r-s: t2u: Tolerate lack of log when sending email
We're going to call t2u_send_email very near the start, before we've
started the build log.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit a7dabf4618af0248f72aa1fb607e31f2896e8e6a
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Mon Dec 30 00:08:10 2024 +0000
d-r-s: t2u: Introduce EMAIL_REPORT buffer
This will be the principal body part for the email we'll send.
Putting it in a file lets us append stuff to it as we go,
and it will also let us reuse code for adding MIME parts.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 13eb1d8fbfd54658ec9535e9865a1951f864c979
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Sun Dec 29 23:53:55 2024 +0000
d-r-s: t2u: Use T2u rather than Push in the headers
I wrote "Push" because hopefully eventually much of this will go away,
but (a) maybe this whole system and its emails will go away and
(b) right now this is confusing and (c) we might want to use Push for
something else.
So use "T2u".
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 77e903c4cb5eaf108b0894e40351a9ac7125d684
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Sun Dec 29 23:43:45 2024 +0000
d-r-s: t2u: Buffer the email
This will become more critical when we send MIME messages: we don't
want to send a truncated MIME sstructure.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 6bdd3184e172c1e33e1e15870ae761dc20baf87d
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Sun Dec 29 23:10:08 2024 +0000
d-r-s: t2u: Break out t2u_send_email
We're going to want to call this from more than just the one failure
path.
Also it's going to get more complicated.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 8bc08dacdede61bbee025c7af7e66d377e3e282a
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Mon Dec 30 00:23:01 2024 +0000
d-r-s: t2u: Create dgit-tmp much earlier
We're going to need teo read the tag from stdin into this directory.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit 71130ad1c94b8655ba8e67b7c1303dd814c6e2b2
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Mon Dec 30 00:18:34 2024 +0000
d-r-s: t2u: Break out _receive_args
This seems like it ought to be its own subroutine. It makes
mode_tag2upload4 smaller.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
commit efc4072de460fccd111bd3d0828a47a7f69f9d61
Author: Sean Whitton <spwhitton@spwhitton.name>
Date: Wed Jan 8 09:12:27 2025 +0000
changelog: Start 12.5
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>