chiark / gitweb /
Ian Jackson [Sun, 30 Oct 2016 19:49:31 +0000 (19:49 +0000)]
Test suite: gbp-orig: New test (for #841094)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 19:49:12 +0000 (19:49 +0000)]
Test suite: t-splitbrain-pushed-good--unpack: Handle new .origs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 19:48:43 +0000 (19:48 +0000)]
dgit gbp-build will arrange to let gbp buildpackage generate .orig tarballs
if it seems applicable. Closes:#841094.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 19:44:43 +0000 (19:44 +0000)]
dgit: Introduce build_prep_early
Currently only one call site which is only ever called once. We make
it idempotent since we're going to want that.
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 20:57:01 +0000 (20:57 +0000)]
dgit-maint-gbp(7): Remove optimistic claim of 1-command NMU inclusion
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 19:44:36 +0000 (19:44 +0000)]
dgit: Introduce upstreamversion
And many call sites. No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 17:55:55 +0000 (17:55 +0000)]
Support dgit --delayed= push
(with a warning in the manpage about possible skew).
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 16:34:11 +0000 (16:34 +0000)]
dgit clone: Set timestamps in cloned tree to a single unified time.
This makes it less likely that the user will trip over any
timestamp-dependent FTBFS bugs (eg #842452).
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 16:26:00 +0000 (16:26 +0000)]
Test suite: Test --dgit-view-save everywhere
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 16:25:31 +0000 (16:25 +0000)]
New option --dgit-view-save= for split view quilt modes.
In particular, means that the output of a split view quilt-fixup is
left somewhere useful.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 15:03:39 +0000 (15:03 +0000)]
Test suite: Make t-ref-same* errors better by tracking and printing names
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 14:39:14 +0000 (14:39 +0000)]
Test suite: Make t-refs-same* not wrongly ignore some nonexistent refs
Previously, t_ref_val="" was meant to mean "no refs specified yet" but
could also arise from "ref was specified but did not exist".
Distinguish these two cases, by using t_ref_val="" to mean only the
latter. "No refs specified yet" is represented as t_ref_val unset.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 15:04:07 +0000 (15:04 +0000)]
Test suite: inarchivecopy: Fix tag-vs-remote checking
This was entirely broken, and only works because (a) $vtag^1 does not
exist, and (b) this is erroneously not spotted by t-ref-same-*.
Instead check that the suite branch has the tag (of the package which
has been moved into that suite) as a direct ancestor.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 15:03:23 +0000 (15:03 +0000)]
Test suite: Provide t-has-parent
No callers yet.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 15:03:07 +0000 (15:03 +0000)]
Test suite: Document args to t-has-ancestor
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 27 Oct 2016 19:22:10 +0000 (20:22 +0100)]
Test suite: Explicitly configure user.name and user.email
So that tests work when environment doesn't have
defaults.
Closes:#842279 (I hope).
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 25 Oct 2016 15:42:07 +0000 (16:42 +0100)]
import-dsc: Actually print signature warning without --require-valid
If --require-valid-signature was not set, we would not print the
warning if there was one. That is quite wrong.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 20:16:11 +0000 (21:16 +0100)]
import-dsc: Document --require-valid-signature
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 20:12:12 +0000 (21:12 +0100)]
Test suite: import-dsc: Test --require-valid-signature
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 20:12:02 +0000 (21:12 +0100)]
import-dsc: Support --require-valid-signature
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 20:11:37 +0000 (21:11 +0100)]
import-dsc: Check the signature
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 19:26:40 +0000 (20:26 +0100)]
import-dsc: Document new ff checks
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 19:20:24 +0000 (20:20 +0100)]
Test suite: import-dsc: New test
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 19:19:50 +0000 (20:19 +0100)]
import-dsc: Introduce ff checking
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 19:19:22 +0000 (20:19 +0100)]
import-dsc: Introduce $newhash (nfc)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 19:18:54 +0000 (20:18 +0100)]
import-dsc: Introduce $info (nfc)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 19:16:17 +0000 (20:16 +0100)]
import-dsc: Refuse to update a checked-out branch
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 18:29:46 +0000 (19:29 +0100)]
import dsc: Documentation
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 18:29:22 +0000 (19:29 +0100)]
import dsc: Actually permit --force-import-dsc-with-dgit-field
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 18:18:03 +0000 (19:18 +0100)]
import-dsc: New feature
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 18:17:45 +0000 (19:17 +0100)]
Properly look for .origs etc. in .., fetching them less often.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 18:15:30 +0000 (19:15 +0100)]
.dsc and file handling: Add some debugging output
No other change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 18:14:04 +0000 (19:14 +0100)]
dgit: Break out parse_dscdata.
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 15:57:23 +0000 (16:57 +0100)]
Provide --force-changes-origs-exactly
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 15:33:08 +0000 (16:33 +0100)]
Test suite: orig-include-exclude: Test orig tarball hash mismatch
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 00:40:35 +0000 (01:40 +0100)]
Test suite: orig-include-exclude-chkquery: New test
Check that we make the right file_in_archive ftpmaster API queries.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 15:32:12 +0000 (16:32 +0100)]
Test suite: lib-orig-include-exclude: Prepare for more reuse
Support a suite argument to test-push-1 and dgit argument arguments to
test-push-2. cd back to $tmp at the end.
No overall functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Sean Whitton [Sun, 30 Oct 2016 18:55:52 +0000 (11:55 -0700)]
dgit-maint-gbp(7): Don't try to use `dgit pull`
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sun, 30 Oct 2016 18:50:08 +0000 (11:50 -0700)]
dgit-sponsorship(7): Suggest --dgit-view-save
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sun, 30 Oct 2016 18:46:22 +0000 (11:46 -0700)]
dgit-nmu-simple(7): Mention --delayed
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Ian Jackson [Sun, 30 Oct 2016 17:42:20 +0000 (17:42 +0000)]
dgit-*(7): Sort out Makefile, .gitignore and changelog
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Sean Whitton [Sat, 29 Oct 2016 22:37:28 +0000 (15:37 -0700)]
dgit-sponsorship(7): About deleting tag
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sat, 29 Oct 2016 19:08:26 +0000 (12:08 -0700)]
dgit-maint-gbp(7): Note that patches-unapplied
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sat, 29 Oct 2016 17:58:11 +0000 (10:58 -0700)]
dgit-sponsorship(7): Add import-dsc for NEW package
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sat, 29 Oct 2016 16:13:04 +0000 (09:13 -0700)]
dgit-maint-gbp(7): Mention --overwrite
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sat, 29 Oct 2016 15:53:35 +0000 (08:53 -0700)]
dgit-sponsorship(7): Mention gbp-clone
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sat, 29 Oct 2016 15:32:37 +0000 (08:32 -0700)]
dgit-maint-gbp(7): New manpage
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sat, 29 Oct 2016 14:57:35 +0000 (07:57 -0700)]
dgit-user(7): Use `apt install ./foo.deb`
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sat, 29 Oct 2016 14:36:06 +0000 (07:36 -0700)]
dgit-user(7): Add "... without a .pc directory"
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sat, 29 Oct 2016 14:35:32 +0000 (07:35 -0700)]
dgit-user(7): Explain "binary package"
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sat, 29 Oct 2016 14:34:09 +0000 (07:34 -0700)]
dgit-nmu-simple(7): Cannot yet use DELAYED
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Ian Jackson [Sun, 30 Oct 2016 17:22:06 +0000 (17:22 +0000)]
local-pod-man: Wrapper script to make previewing pod manpages easy
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 17:17:43 +0000 (17:17 +0000)]
dgit-nmu-simple(7): Fix missing quotes
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Sean Whitton [Sat, 29 Oct 2016 14:33:51 +0000 (07:33 -0700)]
dgit-nmu-simple(7): Sample `dch` commands
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sat, 29 Oct 2016 14:30:18 +0000 (07:30 -0700)]
dgit-nmu-simple(7): Maintainer's *git* workflow
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sat, 29 Oct 2016 14:29:44 +0000 (07:29 -0700)]
dgit-sponsorship(7): Demote to subsection
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sat, 29 Oct 2016 14:29:30 +0000 (07:29 -0700)]
dgit-sponsorship(7): Correct sponsee/sponsor
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sat, 29 Oct 2016 14:29:08 +0000 (07:29 -0700)]
dgit-sponsorship(7): Mention RFS procedure
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sat, 29 Oct 2016 14:28:43 +0000 (07:28 -0700)]
dgit-sponsorship(7): "sample dgit push"
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Sean Whitton [Sat, 29 Oct 2016 14:26:24 +0000 (07:26 -0700)]
dgit-sponsorship(7): Suggest pristine-tar(1)
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Ian Jackson [Thu, 27 Oct 2016 13:00:45 +0000 (14:00 +0100)]
dgit-sponsorship.7 (wip)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 26 Oct 2016 23:38:46 +0000 (00:38 +0100)]
dgit-user(7), dgit-nmu-simple(7): Much work
These are in reasonable shape now.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 26 Oct 2016 17:19:26 +0000 (18:19 +0100)]
dgit-user(7): More work in progress
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 21:27:00 +0000 (22:27 +0100)]
dgit-user(7): work in progress
Used one of the existing tutorials as a template, so currently
contains many lies (including the AUTHOR).
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 00:39:34 +0000 (01:39 +0100)]
Test suite: orig-include-exclude: Move bulk into a lib-*
We're going to want to re-use it as-is. Well, modulo the introduction
of $test_push_2_hook.
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 00:00:42 +0000 (01:00 +0100)]
Test suite: orig-include-exclude: Refactor: introduce test-push-[12]
No functional change (diffed two test logs to check).
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 22 Oct 2016 23:17:16 +0000 (00:17 +0100)]
Test suite: orig-include-exclude: Tests orig auto-inclusion/exclusion
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 22 Oct 2016 23:16:01 +0000 (00:16 +0100)]
Test suite: t-archive-process-incoming: Process everything
The previous rune wouldn't process any new .origs. And in fact there
is no good reason to restrict this.
certainly not right now, because right now we are going to want to
process whatever is in incoming so that the orig-include-exclude test
can easily see what dgit push uploaded.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 22 Oct 2016 23:09:22 +0000 (00:09 +0100)]
Automatically calculate which .origs are required
* Spot if any of our .origs have different hashes to the archive's
* Update the .changes to have the set of .origs that the archive doesn't
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 22 Oct 2016 23:08:16 +0000 (00:08 +0100)]
Test suite: Switch by default archive access method to dummycatapi
Now dgit can, during the test suite, make file_in_archive queries,
without exploding.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 22 Oct 2016 23:05:07 +0000 (00:05 +0100)]
dummyapicat: New archive query method
Like ftpmasterapi but knows that actually behind the scenes it's just
mostly cat. Ths is relevant because file_in_archive_dummycatapi has
to be different.
(This is because the test suite can't sensibly predict what queries
dgit might make, because the relevant bits of the test suite don't
actually really know what .origs might be supposed to exist.)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 22 Oct 2016 23:03:46 +0000 (00:03 +0100)]
Some archive queries: Remove prototypes
That makes these easier to reuse for another method. No functional
change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 19 Oct 2016 23:24:16 +0000 (00:24 +0100)]
dopush: Break out $changes variable
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 19 Oct 2016 23:23:17 +0000 (00:23 +0100)]
dopush: Move $upstreamversion setting out to give it wider scope
No functional change yet.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 19 Oct 2016 23:22:09 +0000 (00:22 +0100)]
@files_csum_info_fields: Provide ftpmaster api database field name
No functional change as nothing looks here yet.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 19 Oct 2016 23:21:35 +0000 (00:21 +0100)]
archive_query: Provide file_in_archive methods
No functional change as no callers yet.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 19 Oct 2016 23:21:14 +0000 (00:21 +0100)]
archive_query: Support further arguments to methods
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 19 Oct 2016 21:57:09 +0000 (22:57 +0100)]
api query: Provide ability to tolerate 404
This is useful for backward-compatibility with earlier ftpmaster api
versions.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 14:34:57 +0000 (14:34 +0000)]
Test suite: Test --new in split brain mode
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 30 Oct 2016 14:36:04 +0000 (14:36 +0000)]
Split brain mode: Fix --new. Closes:#842354.
Test $archive_hash for undef early enough.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 25 Oct 2016 16:37:22 +0000 (17:37 +0100)]
changelog: start 2.9~
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 25 Oct 2016 16:29:35 +0000 (17:29 +0100)]
changelog: Finalise 2.8
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 25 Oct 2016 15:58:37 +0000 (16:58 +0100)]
build modes handling: Check for stray .changes on all split brain build entries
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 25 Oct 2016 15:58:12 +0000 (16:58 +0100)]
build changes handling: Break out midbuild_checkchanges
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 25 Oct 2016 15:04:19 +0000 (16:04 +0100)]
Test suite: build-mode-*: Check that right .changes comes out.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 25 Oct 2016 15:00:50 +0000 (16:00 +0100)]
build changes handling: Run mergechanges when needed in non-sbuild build modes
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 25 Oct 2016 14:05:44 +0000 (15:05 +0100)]
build changes handling: Introduce postbuild_mergechanges
Affects only the `sbuild' subcommand.
Mostly code motion.
Other changes include:
* Provide in_parent, and use it.
* "sbuild" changed to "build" in the msg_if_onlyone failure message
* Unapply patches before merging changelogs
* Reorganise so that it is possible to use this code when there
is only one output changes file.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 25 Oct 2016 12:44:10 +0000 (13:44 +0100)]
Test suite: bm-*: turn bm-report-source into bm-report-test
No overall functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 25 Oct 2016 12:05:57 +0000 (13:05 +0100)]
absurd git-apply fallback: defend against debian/patches/series being an unusual object, in case dpkg-source doesn't.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Mon, 24 Oct 2016 01:41:47 +0000 (02:41 +0100)]
changelog: Start 2.8~
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Mon, 24 Oct 2016 01:37:48 +0000 (02:37 +0100)]
changelog: Finalise 2.7
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Mon, 24 Oct 2016 01:04:52 +0000 (02:04 +0100)]
Test suite: Provide absurd-gitapply test
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Mon, 24 Oct 2016 01:02:07 +0000 (02:02 +0100)]
Import: Allow --force to enable/disable
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 15:56:20 +0000 (16:56 +0100)]
Ignore unknown force options (with a warning)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 15:55:41 +0000 (16:55 +0100)]
Provide --force-dsc-changes-mismatch
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 23 Oct 2016 15:47:29 +0000 (16:47 +0100)]
Provide --force-unsupported-source-format
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Mon, 24 Oct 2016 00:25:51 +0000 (01:25 +0100)]
Import: Docuemnt absurdity in changelog
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Mon, 24 Oct 2016 00:06:29 +0000 (01:06 +0100)]
Import: Use absurd `git apply' emulation if gbp pq import fails
gbp import can fail due to git apply not understanding patches.
This is #841867 (against dgit).
The underlying problem is #841866 (in gbp pq) which exposes things
like #841865 and #829067 (in git). I imagine there are other lurking
incompatibilities between git-apply and dpkg-source.
We could in principle reimplement the gbp patch metadata extraction.
But that would be quite tiresome and have its own compatibility
problems.
The real problem is just `git apply'. (Indeed gbp already tries git
apply without, and then with, a whitespace fix option.) We work
around the trouble by providing our own implementation of `git apply'.
Specifically:
We try to do things the sane way (just running gbp pq import) first.
If that works, great. If it doesn't, we put /usr/share/dgit/absurd on
the PATH. That contains only a sh script called `git'. This sh
script figures out whether the caller is trying to invoke `git apply'.
If not, it runs the real git.
If the caller wanted git-apply, the absurd git script emulates it
using dpkg-source --before-build. Conveniently, we know that the
series file will not be touched by patches. So we can write just the
patch we care about into the series file, and run --before-build,
which applies just that one patch.
The results are committed (minus the .pc), and for the next patch,
dpkg-source sees again a tree with simply a single patch to apply.
We try ordinary gbp pq first because our absurd approach is very slow
on a big tree. Also we would like to maximise our chances of the
import working. If git and/or gbp ever work better by themselves, all
of this craziness will simply not happen.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Mon, 24 Oct 2016 00:04:22 +0000 (01:04 +0100)]
Build system substitutions, for absurdities
* Introduce absurddir, which is where the absurdities will go
* Substitute the absurddir into the dgit script during make all
* Install the substituted scripts rather than the originals in make install
* Provide a default in dgit, based on $0
* Clean the substitutions up in make clean
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Mon, 24 Oct 2016 00:01:58 +0000 (01:01 +0100)]
Dgit.pm: Break out failedcmd_waitstatus
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>