chiark / gitweb /
dgit.git
7 years agochangelog: Document changes
Ian Jackson [Wed, 4 Jan 2017 22:09:39 +0000 (22:09 +0000)]
changelog: Document changes

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Do not generate bogus commits
Ian Jackson [Wed, 4 Jan 2017 21:47:53 +0000 (21:47 +0000)]
dgit: Do not generate bogus commits

There were two places in the code where ill-formed commits were
generated: both psedumerges.

One is in dgit import-dsc, a fairly minor problem.

The other is in --overwrite and is very bad because that's an
important option.

Nothing in git seems to notice, unless you run git-fsck.  Even a git
server does not, by default.  However, some other popular git servers
do reject these broken commits.

I have tested this changes with git-fsck (by using the test suite
patches which follow in this series) and now everything seems fine.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: Clean out erroneous reflog in a worktree
Ian Jackson [Wed, 4 Jan 2017 21:02:03 +0000 (21:02 +0000)]
test suite: Clean out erroneous reflog in a worktree

git-reflog expire --expire-unreachable=now --all

Without this, this worktree causes git-fsck to complain!

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: Run git-fsck a lot
Ian Jackson [Wed, 4 Jan 2017 20:52:11 +0000 (20:52 +0000)]
test suite: Run git-fsck a lot

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: Add some missing calls to t-ok.
Ian Jackson [Wed, 4 Jan 2017 20:43:12 +0000 (20:43 +0000)]
test suite: Add some missing calls to t-ok.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: Introduce t-ok.
Ian Jackson [Wed, 4 Jan 2017 20:35:49 +0000 (20:35 +0000)]
test suite: Introduce t-ok.

No functional change.

 perl -i~ -pe 's/^echo ok\.$/t-ok/' tests/tests/*[^~]
 perl -i~ -pe 's/^echo ok\.$/t-ok/' tests/setup/*[^~]
 perl -i~ -pe 's/^echo done\.$/t-ok/' tests/tests/*[^~]
 perl -i~ -pe 's/^echo done\.$/t-ok/' tests/setup/*[^~]

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: start 2.14
Ian Jackson [Wed, 21 Dec 2016 14:13:30 +0000 (14:13 +0000)]
changelog: start 2.14

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: finalise 2.13 archive/debian/2.13 debian/2.13
Ian Jackson [Wed, 21 Dec 2016 01:32:54 +0000 (01:32 +0000)]
changelog: finalise 2.13

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: document dgit-sponsorship fix
Ian Jackson [Tue, 20 Dec 2016 23:33:41 +0000 (23:33 +0000)]
changelog: document dgit-sponsorship fix

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-sponsorship(7): Update in light of fixed #844129
Sean Whitton [Mon, 19 Dec 2016 21:32:51 +0000 (21:32 +0000)]
dgit-sponsorship(7): Update in light of fixed #844129

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
7 years agochangelog: document dgit-maint-gbp fix
Ian Jackson [Tue, 20 Dec 2016 23:31:37 +0000 (23:31 +0000)]
changelog: document dgit-maint-gbp fix

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-maint-gbp(7): Remove reference to closed bug.
Sean Whitton [Mon, 19 Dec 2016 21:14:32 +0000 (21:14 +0000)]
dgit-maint-gbp(7): Remove reference to closed bug.

Thanks Felipe Sateler for the bug report.

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
7 years agoImport fix: Switch back to unpa branch on patch import iterations.
Ian Jackson [Tue, 20 Dec 2016 21:40:15 +0000 (21:40 +0000)]
Import fix: Switch back to unpa branch on patch import iterations.

In particular, do not fail utterly if dpkg-source and gbp
disagree. Closes:#848843.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoImprove "cannot represent change" message
Ian Jackson [Tue, 20 Dec 2016 21:38:34 +0000 (21:38 +0000)]
Improve "cannot represent change" message

Print the git old and new modes too.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoquilt fixup: Permit creation of patches which delete files
Ian Jackson [Tue, 20 Dec 2016 21:14:48 +0000 (21:14 +0000)]
quilt fixup: Permit creation of patches which delete files

By psssing --include-removal to dpkg-source, and tolerating it when we
do our quilt fixup analysis.

dpkg-source has supported this since at least stretch.

Closes:#848901.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: start 2.13
Ian Jackson [Tue, 20 Dec 2016 20:45:34 +0000 (20:45 +0000)]
changelog: start 2.13

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: finalise 2.12 archive/debian/2.12
Ian Jackson [Mon, 19 Dec 2016 17:35:37 +0000 (17:35 +0000)]
changelog: finalise 2.12

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoabsurd/git: Do not fail to import a .dsc containing patches to .git/ (!)
Ian Jackson [Mon, 19 Dec 2016 14:54:30 +0000 (14:54 +0000)]
absurd/git: Do not fail to import a .dsc containing patches to .git/ (!)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoabsurd/git Do not fail to import certain weird .dscs
Ian Jackson [Mon, 19 Dec 2016 14:51:48 +0000 (14:51 +0000)]
absurd/git Do not fail to import certain weird .dscs

A .dsc containing patches which patch files multiple times would be
rejected by dpkg-source due to #848611.

Work around this by arranging for the patch of interest to never be
the first patch, by introducing (and then evaporating) a dummy patch.

Yuk.

Closes:#848391.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoProduce better error reporting when absurd git wrapper fails on a patch
Ian Jackson [Mon, 19 Dec 2016 14:45:18 +0000 (14:45 +0000)]
Produce better error reporting when absurd git wrapper fails on a patch

during .dsc import.  Apropos of #848391.

gbp swallows the error from the first run (without --whitespace=fix).
Previously only that first run would do anything useful; the second
would complain about --whitespace=fix.  So failures of dpkg-source
would always produce a useless error message.

Instead, tolerate (and ignore) the --whitespace=fix option which gbp
passes during the second run.  This means that the second run tries to
do the actual work.

This only does extra work if the first run failed, and since the first
and second runs are now equivalent, that happens when the second run
fails too.  But in return for that extra work, we get a report which
actually mentions something that unexpectedly went wrong.

(The alternative would be to have absurd/git try to stash and then
reproduce its previous error, or to make more fragile assumptions
about gbp's behaviour.)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoabsurd/git: Better debugging
Ian Jackson [Mon, 19 Dec 2016 14:35:30 +0000 (14:35 +0000)]
absurd/git: Better debugging

Honour DGIT_ABSURD_DEBUG, which is set by dgit from $debuglevel.
Also, in dgit, open the output file for append.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoabsurd/git: Introduce log()
Ian Jackson [Mon, 19 Dec 2016 14:33:55 +0000 (14:33 +0000)]
absurd/git: Introduce log()

Right now this simply replaces all the echo >&2, producing no
significant functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoDo not fail when cloning a package containing dangling symlinks.
Ian Jackson [Mon, 19 Dec 2016 13:37:30 +0000 (13:37 +0000)]
Do not fail when cloning a package containing dangling symlinks.

Closes:#848512.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoBy default, generate a DEP-14 tag as well as a dgit archive/* tag
Ian Jackson [Thu, 15 Dec 2016 00:54:21 +0000 (00:54 +0000)]
By default, generate a DEP-14 tag as well as a dgit archive/* tag

Even in non-split-view quilt modes.  Closes:#844129.

This breaks one of the test suite test cases, so disable it there.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Break out access_cfg_tagformats_can_splitbrain
Ian Jackson [Thu, 15 Dec 2016 00:52:34 +0000 (00:52 +0000)]
dgit: Break out access_cfg_tagformats_can_splitbrain

While we're at it, use a hash %y rather than repeatedly grepping.

No overall functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoSuppress some leftover debugging output from import-dsc. Closes:#847658.
Ian Jackson [Thu, 15 Dec 2016 00:07:44 +0000 (00:07 +0000)]
Suppress some leftover debugging output from import-dsc. Closes:#847658.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoIf we cannot hardlink origs into our extraction area, use symlinks instead.
Ian Jackson [Thu, 15 Dec 2016 00:06:19 +0000 (00:06 +0000)]
If we cannot hardlink origs into our extraction area, use symlinks instead.

Closes:#844570.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Give better advice if .dsc/.changes signing fails
Ian Jackson [Wed, 14 Dec 2016 21:39:10 +0000 (21:39 +0000)]
dgit: Give better advice if .dsc/.changes signing fails

If no changes are needed to the package, user may indeed just debsign
and dput.  Closes:#844131.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Mention #844128
Ian Jackson [Wed, 14 Dec 2016 21:31:44 +0000 (21:31 +0000)]
changelog: Mention #844128

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Document closure of #847987
Ian Jackson [Wed, 14 Dec 2016 18:27:30 +0000 (18:27 +0000)]
changelog: Document closure of #847987

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-maint-native: clarify which sort of native
Philip Hands [Sat, 10 Dec 2016 18:58:08 +0000 (19:58 +0100)]
dgit-maint-native: clarify which sort of native

7 years agoSlightly better message when .dsc not found.
Ian Jackson [Wed, 16 Nov 2016 18:17:51 +0000 (18:17 +0000)]
Slightly better message when .dsc not found.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoVersion tags mangling: Protect dots, as per proposed update to DEP-14.
Ian Jackson [Wed, 9 Nov 2016 21:37:52 +0000 (21:37 +0000)]
Version tags mangling: Protect dots, as per proposed update to DEP-14.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoIntroduce dep14_version_quote
Ian Jackson [Wed, 9 Nov 2016 21:35:58 +0000 (21:35 +0000)]
Introduce dep14_version_quote

Removes three identical copies of this y/// rune.  No functional
change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Mention dgit-maint-merge changes
Ian Jackson [Mon, 19 Dec 2016 14:59:19 +0000 (14:59 +0000)]
changelog: Mention dgit-maint-merge changes

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoMerge remote-tracking branch 'spwhitton/maint-merge-updates' into fix
Ian Jackson [Mon, 19 Dec 2016 16:57:16 +0000 (16:57 +0000)]
Merge remote-tracking branch 'spwhitton/maint-merge-updates' into fix

7 years agoProvide and use stunt lintian and debuild
Ian Jackson [Mon, 19 Dec 2016 16:17:00 +0000 (16:17 +0000)]
Provide and use stunt lintian and debuild

This avoids lintian complaining about our stupid test packages.

We need the stunt debuild because debuild likes to launder the
environment, removing our stunt lintian from PATH !

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-repos-policy-debian; Unset GIT_ALTERNATE_OBJECT_DIRECTORIES
Ian Jackson [Mon, 19 Dec 2016 16:01:47 +0000 (16:01 +0000)]
dgit-repos-policy-debian; Unset GIT_ALTERNATE_OBJECT_DIRECTORIES

This broke due to recent git setting GIT_ALTERNATE_OBJECT_DIRECTORIES
in the pre-receive-hook.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-maint-merge(7): Add upstream remote after dgit clone
Sean Whitton [Mon, 19 Dec 2016 13:13:57 +0000 (13:13 +0000)]
dgit-maint-merge(7): Add upstream remote after dgit clone

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
7 years agodgit-maint-merge(7): Missing 'first'
Sean Whitton [Mon, 19 Dec 2016 13:13:21 +0000 (13:13 +0000)]
dgit-maint-merge(7): Missing 'first'

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
7 years agodgit-maint-merge(7): Add upstream remote when converting
Sean Whitton [Mon, 19 Dec 2016 13:12:48 +0000 (13:12 +0000)]
dgit-maint-merge(7): Add upstream remote when converting

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
7 years agodgit-maint-merge(7): After converting, need --overwrite
Sean Whitton [Mon, 19 Dec 2016 12:55:29 +0000 (12:55 +0000)]
dgit-maint-merge(7): After converting, need --overwrite

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
7 years agodgit-maint-merge(7): Converting existing packages
Sean Whitton [Mon, 19 Dec 2016 09:29:49 +0000 (09:29 +0000)]
dgit-maint-merge(7): Converting existing packages

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
7 years agodgit-maint-merge(7): Missing -o
Sean Whitton [Mon, 19 Dec 2016 09:13:11 +0000 (09:13 +0000)]
dgit-maint-merge(7): Missing -o

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
7 years agochangelog: start 2.12~
Ian Jackson [Wed, 9 Nov 2016 21:28:47 +0000 (21:28 +0000)]
changelog: start 2.12~

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: finalise 2.11 archive/debian/2.11
Ian Jackson [Tue, 8 Nov 2016 22:41:40 +0000 (22:41 +0000)]
changelog: finalise 2.11

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit(1): Improve formatting of rpush section.
Ian Jackson [Tue, 8 Nov 2016 22:14:01 +0000 (22:14 +0000)]
dgit(1): Improve formatting of rpush section.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit(1), dgit(7): Better reference docs for combined suites.
Ian Jackson [Tue, 8 Nov 2016 22:10:28 +0000 (22:10 +0000)]
dgit(1), dgit(7): Better reference docs for combined suites.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Document dgit-user(7) updates
Ian Jackson [Tue, 8 Nov 2016 22:09:57 +0000 (22:09 +0000)]
changelog: Document dgit-user(7) updates

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-user(7): Explain comma notation better.
Ian Jackson [Tue, 8 Nov 2016 21:41:01 +0000 (21:41 +0000)]
dgit-user(7): Explain comma notation better.

Wording suggested by Sean Whitton, and amended.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-user(7): Suggest avoiding ,-security for sid
Ian Jackson [Tue, 8 Nov 2016 21:39:17 +0000 (21:39 +0000)]
dgit-user(7): Suggest avoiding ,-security for sid

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Replace make in Test-Depends with build-essential.
Ian Jackson [Tue, 8 Nov 2016 20:51:45 +0000 (20:51 +0000)]
Test suite: Replace make in Test-Depends with build-essential.

Most of the tests do in fact run dpkg-buildpackage which bombs out if
build-essential is missing.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: start 2.11~
Ian Jackson [Tue, 8 Nov 2016 20:48:17 +0000 (20:48 +0000)]
changelog: start 2.11~

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: finalise 2.10 archive/debian/2.10
Ian Jackson [Tue, 8 Nov 2016 01:09:08 +0000 (01:09 +0000)]
changelog: finalise 2.10

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-user(7): More info about multisuite branch
Ian Jackson [Tue, 8 Nov 2016 01:06:44 +0000 (01:06 +0000)]
dgit-user(7): More info about multisuite branch

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Gardening
Ian Jackson [Tue, 8 Nov 2016 00:24:44 +0000 (00:24 +0000)]
changelog: Gardening

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: import-tarbomb: Split out from import-nonnative
Ian Jackson [Mon, 7 Nov 2016 23:53:46 +0000 (23:53 +0000)]
Test suite: import-tarbomb: Split out from import-nonnative

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: lib-import-chk: Break out from import-nonnative
Ian Jackson [Mon, 7 Nov 2016 23:52:23 +0000 (23:52 +0000)]
Test suite: lib-import-chk: Break out from import-nonnative

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTests suite: import-nonnative: Put a .pc in the craziest .orig too
Ian Jackson [Mon, 7 Nov 2016 23:48:54 +0000 (23:48 +0000)]
Tests suite: import-nonnative: Put a .pc in the craziest .orig too

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: remove_stray_gits: Print a slightly better message
Ian Jackson [Mon, 7 Nov 2016 23:44:52 +0000 (23:44 +0000)]
dgit: remove_stray_gits: Print a slightly better message

Change all call sites, and callers of mktree_in_ud_from_only_subdir.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: git_add_write_tree: Replace two open-coded git-add sites
Ian Jackson [Mon, 7 Nov 2016 23:40:22 +0000 (23:40 +0000)]
dgit: git_add_write_tree: Replace two open-coded git-add sites

No overall functional change.  (We end up passing `.' to git add,
which these two sites didn't previously.)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: import-nonnative: Test origs with .git directories
Ian Jackson [Mon, 7 Nov 2016 23:24:54 +0000 (23:24 +0000)]
Test suite: import-nonnative: Test origs with .git directories

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: import-nonnative: Test tarbombs
Ian Jackson [Mon, 7 Nov 2016 23:21:22 +0000 (23:21 +0000)]
Test suite: import-nonnative: Test tarbombs

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoCope when an orig tarball is a tarbomb.
Ian Jackson [Mon, 7 Nov 2016 23:12:42 +0000 (23:12 +0000)]
Cope when an orig tarball is a tarbomb.

Ie, if it contains other than one single directory toplevel.
Closes:#843422.

Specifically:

 * We change the unpack directory to _unpack-tar in unpack, rather
   than ../unpack-tar.  This means that mktree_in_ud DTRT in that
   directory, rather than in its supposed only subdiredctory
 * We do write-tree on the whole tarball.
 * Then if the tarball had only one subdir in it, we fish the
   subtree's tree object out of the git tree object.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: import-nonnative: Check that .orig contents match imported trees
Ian Jackson [Mon, 7 Nov 2016 23:05:42 +0000 (23:05 +0000)]
Test suite: import-nonnative: Check that .orig contents match imported trees

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: import-nonnative: Prepare for more tests
Ian Jackson [Mon, 7 Nov 2016 23:04:22 +0000 (23:04 +0000)]
Test suite: import-nonnative: Prepare for more tests

* Break chk into chk1 and chk2, so we can do stuff in the middle
* Remove $p between runs, so that we can do another test with the same $p

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Introduce git_add_write_tree
Ian Jackson [Mon, 7 Nov 2016 23:03:31 +0000 (23:03 +0000)]
dgit: Introduce git_add_write_tree

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoFix an unconditional print that was supposed to be a printdebug:
Ian Jackson [Mon, 7 Nov 2016 20:58:12 +0000 (20:58 +0000)]
Fix an unconditional print that was supposed to be a printdebug:

origs <blah>.orig.tar.gz f.same=1 #f._differ=-1

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: aptget: un-disable cache clean
Ian Jackson [Mon, 7 Nov 2016 20:51:12 +0000 (20:51 +0000)]
dgit: aptget: un-disable cache clean

Have fudged it to see what it did, and it seems to work.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit(1): Add caveat about multisuite-generated branches
Ian Jackson [Mon, 7 Nov 2016 03:11:33 +0000 (03:11 +0000)]
dgit(1): Add caveat about multisuite-generated branches

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: clone-reprepro: Use stunt parsechangelog
Ian Jackson [Mon, 7 Nov 2016 03:05:55 +0000 (03:05 +0000)]
Test suite: clone-reprepro: Use stunt parsechangelog

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoBetter error message for inappropriate multi-suite
Ian Jackson [Mon, 7 Nov 2016 02:38:33 +0000 (02:38 +0000)]
Better error message for inappropriate multi-suite

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoDocument multisuite
Ian Jackson [Mon, 7 Nov 2016 02:41:44 +0000 (02:41 +0000)]
Document multisuite

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: reprepro: Test multisuite with package absent in suite
Ian Jackson [Mon, 7 Nov 2016 02:59:13 +0000 (02:59 +0000)]
Test suite: reprepro: Test multisuite with package absent in suite

It is convenient to do this in this test case, particularly as that
lets us check that our apt-get method handles missing packages
properly.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: multisuite: New test
Ian Jackson [Mon, 7 Nov 2016 02:58:49 +0000 (02:58 +0000)]
Test suite: multisuite: New test

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Implement multi-suites
Ian Jackson [Mon, 7 Nov 2016 02:58:03 +0000 (02:58 +0000)]
dgit: Implement multi-suites

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: lib-reprepro: cope with non-codenamed suites
Ian Jackson [Mon, 7 Nov 2016 02:57:17 +0000 (02:57 +0000)]
Test suite: lib-reprepro: cope with non-codenamed suites

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: t-archive: DTRT if $suite is not sid
Ian Jackson [Mon, 7 Nov 2016 02:57:00 +0000 (02:57 +0000)]
Test suite: t-archive: DTRT if $suite is not sid

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoActually honour the branch name for $isuite, if we are on dgit branch
Ian Jackson [Mon, 7 Nov 2016 02:56:08 +0000 (02:56 +0000)]
Actually honour the branch name for $isuite, if we are on dgit branch

As documented in the manpage.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Print a debug message if clone removes due to error
Ian Jackson [Mon, 7 Nov 2016 02:55:22 +0000 (02:55 +0000)]
dgit: Print a debug message if clone removes due to error

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Move canonicalise_suite into fetch()
Ian Jackson [Mon, 7 Nov 2016 02:51:23 +0000 (02:51 +0000)]
dgit: Move canonicalise_suite into fetch()

fetchpullargs has to run before we have dealt with multisuites, which
cannot be straightforwardly canonicalised.

Move the canonicalisation out of fetchpullargs.  Previously,
fetchpullargs would always call canonicalise_suite if it wasn't going
to fail.  In one of the cases it would print a message, but we have
just changed canonicalise_suite to print a message too, so the one
from fetchpullargs was redundant.

fetchpullargs is called right before fetch, in cmd_fetch; and, in
cmd_pull.  In cmd_pull the split brain check intervenes between
fetchpullargs and pull which calls fetch.  So overall there is now no
functional change other than the loss of the now-redundant message.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoclone: Postpone canonicalise_suite
Ian Jackson [Mon, 7 Nov 2016 02:50:12 +0000 (02:50 +0000)]
clone: Postpone canonicalise_suite

We are going to want to do some other things beforehand, but after the
dryrun safety catch.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Make clone_set_head not depend on $giturl
Ian Jackson [Mon, 7 Nov 2016 02:49:22 +0000 (02:49 +0000)]
dgit: Make clone_set_head not depend on $giturl

When cloning a distro which has no git server, correctly leave the
user on the local dgit branch, not on `master'.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: clone: Break out clone_set_head and clone_finish
Ian Jackson [Mon, 7 Nov 2016 02:47:55 +0000 (02:47 +0000)]
dgit: clone: Break out clone_set_head and clone_finish

Again, we are going to want to reuse these bits.

No functional change right now.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: fetch_from_archive: Break out _record_1 and _2.
Ian Jackson [Mon, 7 Nov 2016 02:45:13 +0000 (02:45 +0000)]
dgit: fetch_from_archive: Break out _record_1 and _2.

We are going to want to reuse these bits of the fetch finishing-up.

No functional change right now.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Always print canonical suite name
Ian Jackson [Mon, 7 Nov 2016 02:44:23 +0000 (02:44 +0000)]
dgit: Always print canonical suite name

Not only when a noncanonical one was specified.  This makes some
output less confusing - especially when combined with the forthcoming
multisuite feature.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: printdone: Use $us.
Ian Jackson [Mon, 7 Nov 2016 02:43:59 +0000 (02:43 +0000)]
dgit: printdone: Use $us.

No significant functional change right now.
When $us changes, it will be more right.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Pass --force-distribution to dch
Ian Jackson [Mon, 7 Nov 2016 02:39:11 +0000 (02:39 +0000)]
Test suite: Pass --force-distribution to dch

If it's wrong, we know what we're doing.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Provide reprepro test (for aptget method)
Ian Jackson [Sun, 6 Nov 2016 20:43:41 +0000 (20:43 +0000)]
Test suite: Provide reprepro test (for aptget method)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: orig-include-exclude: Remove some commented-out obsolete bit
Ian Jackson [Sun, 6 Nov 2016 20:41:33 +0000 (20:41 +0000)]
Test suite: orig-include-exclude: Remove some commented-out obsolete bit

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Introduce $t_archive_method
Ian Jackson [Sun, 6 Nov 2016 20:40:04 +0000 (20:40 +0000)]
Test suite: Introduce $t_archive_method

* Indirect t-archive-none and t-archive-query via this variable

* Rename t-archive-updated; it is for callers that have updated
  aq/package.$suite.$p.  There is one out-of-lib caller.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: canonicalise_suite_aptget: Add a bit of debug
Ian Jackson [Sun, 6 Nov 2016 20:35:13 +0000 (20:35 +0000)]
dgit: canonicalise_suite_aptget: Add a bit of debug

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoSupport the Debian *-security suites.
Ian Jackson [Sun, 6 Nov 2016 18:29:47 +0000 (18:29 +0000)]
Support the Debian *-security suites.

(Provide the configuration to use the aptget method.)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: aptget archive access method
Ian Jackson [Sun, 6 Nov 2016 18:28:37 +0000 (18:28 +0000)]
dgit: aptget archive access method

Uses Sources.  This is not very efficient and should be avoided for
large apt repositories.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: config: Allow dgit-suite.PATTERN.distro
Ian Jackson [Sun, 6 Nov 2016 18:26:01 +0000 (18:26 +0000)]
dgit: config: Allow dgit-suite.PATTERN.distro

This is going to be useful for *-security.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Introduce access_nomdistro()
Ian Jackson [Sun, 6 Nov 2016 18:23:01 +0000 (18:23 +0000)]
dgit: Introduce access_nomdistro()

This distro name is used for tag names, protocol elements, etc., and
also as a search element for config lookups.

Each distro can specify a nominal-distro.

No functional change with current config.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Introduce archive_query_prepend_mirror
Ian Jackson [Sun, 6 Nov 2016 18:21:50 +0000 (18:21 +0000)]
dgit: Introduce archive_query_prepend_mirror

Now the archive_query functions return urls, not subpaths.

No overall functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: parsecontrol: Support $allowsigned (nfc)
Ian Jackson [Sun, 6 Nov 2016 18:20:45 +0000 (18:20 +0000)]
dgit: parsecontrol: Support $allowsigned (nfc)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Add fakeroot and make to Test-Depends.
Ian Jackson [Tue, 1 Nov 2016 21:05:41 +0000 (21:05 +0000)]
Test suite: Add fakeroot and make to Test-Depends.

These aren't necessarily pulled in by anything else.  (dpkg-dev
Recommends build-essential.  But we don't actually need
build-essential.)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: start 2.10~
Ian Jackson [Tue, 1 Nov 2016 21:00:32 +0000 (21:00 +0000)]
changelog: start 2.10~

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>