chiark / gitweb /
dgit.git
4 years agochangelog: finalise 9.7 archive/debian/9.7 debian/9.7
Ian Jackson [Sun, 11 Aug 2019 00:11:06 +0000 (01:11 +0100)]
changelog: finalise 9.7

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agochangelog: Document chages since 9.6
Ian Jackson [Sat, 10 Aug 2019 19:00:40 +0000 (20:00 +0100)]
changelog: Document chages since 9.6

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoi18n-commit - autogenerated
Ian Jackson [Sat, 10 Aug 2019 18:42:36 +0000 (19:42 +0100)]
i18n-commit - autogenerated

4 years agodgit: vcs-git handling: Strip [...] a la Haskell Team
Ian Jackson [Sat, 10 Aug 2019 18:22:24 +0000 (19:22 +0100)]
dgit: vcs-git handling: Strip [...] a la Haskell Team

The final syntax of this is not yet agreed but this regexp ought to do
the right thing in all reasonable cases.  (Ie, no [ ] inside the [ ].)

See also #932696 against policy, which is discussing the spec.

Closes: #932699
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: update-vcs-git: Use vcs_git_url_of_ctrl
Ian Jackson [Sat, 10 Aug 2019 18:24:00 +0000 (19:24 +0100)]
dgit: update-vcs-git: Use vcs_git_url_of_ctrl

So we strip -b fragments as we ought.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: update-vcs-git: Print a less confusing message if unchanged
Ian Jackson [Sat, 10 Aug 2019 18:20:30 +0000 (19:20 +0100)]
dgit: update-vcs-git: Print a less confusing message if unchanged

Previously, we would say it was "already configured" which is
unspecific and sounds a bit like an error.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: update-vcs-git: Do not crash if url is unchanged
Ian Jackson [Sat, 10 Aug 2019 18:18:03 +0000 (19:18 +0100)]
dgit: update-vcs-git: Do not crash if url is unchanged

Previously, we would pass an empty command array to runcmd, causing a
mysterious-looking failure.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: Break out vcs_git_url_of_ctrl
Ian Jackson [Sat, 10 Aug 2019 18:11:57 +0000 (19:11 +0100)]
dgit: Break out vcs_git_url_of_ctrl

This should have been done before.  No functional change so far.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: Fix on NFS (avoid leaking an open file in a directory to rm)
Stéphane Glondu [Fri, 9 Aug 2019 05:16:46 +0000 (07:16 +0200)]
dgit: Fix on NFS (avoid leaking an open file in a directory to rm)

The file debian/source/format was open by "dgit fetch" but never
closed, causing failure to remove the extracted tree on NFS.

Closes: #933827
Signed-off-by: Stéphane Glondu <glondu@debian.org>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: alternating-dgit: New test
Ian Jackson [Thu, 8 Aug 2019 11:31:46 +0000 (12:31 +0100)]
test suite: alternating-dgit: New test

This tests alternating dgit and non-dgit uploads.  These were broken
by the bug #934126 (check_for_git always returns false), in the http
rework, and not detected by the test suite (!)

This test *does* break if check_for_git always returns false.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: Use http git check for three existing tests
Ian Jackson [Thu, 8 Aug 2019 11:33:22 +0000 (12:33 +0100)]
test suite: Use http git check for three existing tests

At the very least we want at least one test which fails when
check_for_git is nobbled ad-hoc [1] to return 1.  "clone-nogit" fits
that bill (verified experimentally).

Pick two other tests to enable this for, roughly arbitrarily.
(Two tests which chain to clone-nogit are affected too.)

Of course we also want a test which fails when check_for_git falsely
returns 0.  We don't have one right now.  Coming up...

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: WWW::Curl: Double check that $response_body was set
Ian Jackson [Thu, 8 Aug 2019 11:30:56 +0000 (12:30 +0100)]
dgit: WWW::Curl: Double check that $response_body was set

We are making some assumptions about how WWW::Curl behaves. This
confess, with appropriate tests, should catch any future problems.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: WWW::Curl Set $response_body to '' explicitly
Ian Jackson [Thu, 8 Aug 2019 11:30:46 +0000 (12:30 +0100)]
dgit: WWW::Curl Set $response_body to '' explicitly

check_for_git calls url_fetch with a WWW::Curl parameter
CURLOPT_NOBODY which suppresses saving the body.  The result is that
CURLOPT_WRITEDATA does not update $response_body.  Then, even on
success, url_fetch returns undef (which ought to mean 404).

Strictly this is a bit sneaky of check_for_git.  But, rather than
trying to make this interface more formal, just make url_fetch set
$response_body to ''.  It does return this except in the success case,
so the error cases are still handled right.

Closes: #934126
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: examplegit: Call t-select-package
Ian Jackson [Thu, 8 Aug 2019 11:10:33 +0000 (12:10 +0100)]
test suite: examplegit: Call t-select-package

This can save our importers from havig to t-select-package themselves.

Drop the now-redundant call from the one importer that had it.
Various of the importers call t-archive-* or t-git-* that also call
t-select-package, but this is not a problem.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: Break out t-non-dgit-upload
Ian Jackson [Thu, 8 Aug 2019 11:32:16 +0000 (12:32 +0100)]
test suite: Break out t-non-dgit-upload

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: http-git-check: New provision
Ian Jackson [Thu, 8 Aug 2019 10:41:37 +0000 (11:41 +0100)]
test suite: http-git-check: New provision

Importing this makes us use a local http server for the git check.
It's a setup so that it can imply the http-git-check dependency.

Right now nothing imports this so no functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: Honour new DGIT_TEST_KEEP_MUSTCLEAN
Ian Jackson [Thu, 8 Aug 2019 10:38:58 +0000 (11:38 +0100)]
test suite: Honour new DGIT_TEST_KEEP_MUSTCLEAN

FTR, using this typically results in runes like

  DGIT_TEST_KEEP_MUSTCLEAN=y tests/using-intree tests/tests/ftpmasterapi-http 2>&1 | tee tests/tmp/log

hanging instead of exiting, because the http server is still running
and its stderr is still going to tee.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: Rename http-static-server from ftpmasterapi-
Ian Jackson [Thu, 8 Aug 2019 10:10:44 +0000 (11:10 +0100)]
test suite: Rename http-static-server from ftpmasterapi-

We are going to use this for other things too.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohttp[s] tests: Add http test case
Ian Jackson [Thu, 25 Jul 2019 02:52:53 +0000 (03:52 +0100)]
http[s] tests: Add http test case

Maybe we will turn this into a TLS test case in due course.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohttp[s] tests: Fix stdout handling in ftpmaster test server
Ian Jackson [Thu, 25 Jul 2019 18:30:51 +0000 (19:30 +0100)]
http[s] tests: Fix stdout handling in ftpmaster test server

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohttp[s] tests: More-or-less functional ftpmaster http server
Ian Jackson [Thu, 25 Jul 2019 01:54:59 +0000 (02:54 +0100)]
http[s] tests: More-or-less functional ftpmaster http server

Not used anywhere yet.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohttp[s] tests: Import and slightly hack example script
Ian Jackson [Thu, 25 Jul 2019 00:30:33 +0000 (01:30 +0100)]
http[s] tests: Import and slightly hack example script

This is basically a copy of some of the example code from the
HTTP::Server::Simple docs, hacked up with my own (so far) nonsense.

Add copyright info to file and d/copyright.  Upstream licence is
Artistic or GPL-1+.  We choose GPL-1+ and upgrade to GPL-3+.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: lib: Provide $tmp/must-clean directory to tests
Ian Jackson [Thu, 25 Jul 2019 18:01:44 +0000 (19:01 +0100)]
test suite: lib: Provide $tmp/must-clean directory to tests

This is a directory for things which should be removed on exit.
Currently there are none.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: Slightly more debugging for check_for_git with http[s]
Ian Jackson [Thu, 8 Aug 2019 09:22:18 +0000 (10:22 +0100)]
dgit: Slightly more debugging for check_for_git with http[s]

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agochangelog: Fix a typo in the entry for 9.6
Ian Jackson [Thu, 8 Aug 2019 09:21:42 +0000 (10:21 +0100)]
changelog: Fix a typo in the entry for 9.6

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agochangelog: Document changes to enumerate-tests
Ian Jackson [Sat, 10 Aug 2019 23:09:07 +0000 (00:09 +0100)]
changelog: Document changes to enumerate-tests

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: enumerate-tests: Spot t-alt-test
Ian Jackson [Sat, 10 Aug 2019 22:54:44 +0000 (23:54 +0100)]
test suite: enumerate-tests: Spot t-alt-test

And find the dependencies of the referred-to test.  No functional
change since currently no chained-to test has any nonstandard
dependencies.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: enumerate-tests: gencontrol-add-things: restrictions
Ian Jackson [Sat, 10 Aug 2019 22:54:09 +0000 (23:54 +0100)]
test suite: enumerate-tests: gencontrol-add-things: restrictions

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: enumerate-tests: gencontrol-add-things: delim feature
Ian Jackson [Sat, 10 Aug 2019 22:53:47 +0000 (23:53 +0100)]
test suite: enumerate-tests: gencontrol-add-things: delim feature

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: enumerate-tests: Break out gencontrol-add-things
Ian Jackson [Sat, 10 Aug 2019 22:45:22 +0000 (23:45 +0100)]
test suite: enumerate-tests: Break out gencontrol-add-things

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agochangelog: Start 9.7
Ian Jackson [Thu, 25 Jul 2019 12:14:20 +0000 (13:14 +0100)]
changelog: Start 9.7

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agochangelog: Write and finalise for 9.6 archive/debian/9.6 debian/9.6
Ian Jackson [Thu, 25 Jul 2019 12:12:11 +0000 (13:12 +0100)]
changelog: Write and finalise for 9.6

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agogit-playtree-create: Drop an unwanted set -x
Ian Jackson [Thu, 25 Jul 2019 11:53:28 +0000 (12:53 +0100)]
git-playtree-create: Drop an unwanted set -x

Closes: #932959
Reported-by: Sean Whitton <spwhitton@spwhitton.name>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodebian/control: Drop now unused dependency on libwww-perl.
Ian Jackson [Tue, 23 Jul 2019 20:50:56 +0000 (21:50 +0100)]
debian/control: Drop now unused dependency on libwww-perl.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit(1): Drop mention of LWP::UserAgent since we don't use it now
Ian Jackson [Tue, 23 Jul 2019 20:50:37 +0000 (21:50 +0100)]
dgit(1): Drop mention of LWP::UserAgent since we don't use it now

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: Abolish url_get in favour of url_fetch
Ian Jackson [Tue, 23 Jul 2019 17:18:53 +0000 (18:18 +0100)]
dgit: Abolish url_get in favour of url_fetch

This removes use of LWP from dgit.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: Use libcurl, not @curl, for git check
Ian Jackson [Tue, 23 Jul 2019 16:42:08 +0000 (17:42 +0100)]
dgit: Use libcurl, not @curl, for git check

This means that when we sort out our TLS problems this will be fixed
too.

The remaining use of command-line curl is just to download additional
.dsc compoments.  I intend to leave that as-is.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: url_fetch: Honour new CurlOpts
Ian Jackson [Tue, 23 Jul 2019 16:33:41 +0000 (17:33 +0100)]
dgit: url_fetch: Honour new CurlOpts

No functional change with the existing callers.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: url_fetch: Honour new AccessBase
Ian Jackson [Tue, 23 Jul 2019 16:33:16 +0000 (17:33 +0100)]
dgit: url_fetch: Honour new AccessBase

No functional change with the existing callers.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: Reorganise url_fetch
Ian Jackson [Tue, 23 Jul 2019 16:26:51 +0000 (17:26 +0100)]
dgit: Reorganise url_fetch

This was archive_api_query_curl.  We're working on making it good for
other things too.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: libcurl usage: Install SIGPIPE handler ourselv
Ian Jackson [Tue, 23 Jul 2019 17:22:26 +0000 (18:22 +0100)]
dgit: libcurl usage: Install SIGPIPE handler ourselv

We don't want a global SIGPIPE setting.  In particular we do not want
to run any of subprocesses with SIGPIPE ignored.

Just in case libcurl gets this wrong, tell it CURLOPT_NOSIGNAL, and do
it ourselves.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: Set $SIG{INT} to DEFAULT
Ian Jackson [Tue, 23 Jul 2019 20:47:57 +0000 (21:47 +0100)]
dgit: Set $SIG{INT} to DEFAULT

There is a bug in libdpkg-perl, where Dpkg::Source::Package installs a
handler on loading.  This has the effect of making in-process C
calls (eg to libcurl) uninterruptible by ^C.

Work around it by unconditionally resetting SIGINT.  (Anyone who
deliberately invoked us with SIGINT ignored deserves to keep all the
resulting pieces.)

See #932841.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: archive_api_query_curl: Add a bit of debug
Ian Jackson [Tue, 23 Jul 2019 16:06:38 +0000 (17:06 +0100)]
dgit: archive_api_query_curl: Add a bit of debug

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: Use WWW::Curl rather than invoking curl(1) for archive api
Ian Jackson [Tue, 23 Jul 2019 15:35:01 +0000 (16:35 +0100)]
dgit: Use WWW::Curl rather than invoking curl(1) for archive api

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: Drop support for old attempts at cert/key pinning
Ian Jackson [Tue, 23 Jul 2019 15:22:19 +0000 (16:22 +0100)]
dgit: Drop support for old attempts at cert/key pinning

I don't think anyone is using these.  We are going to do something
different to try fo fix #932570.

When #790093 is fixed we may need something like archive-query-tls-key
(or even exactly that) but we would have to reimplement it for
WWW::Curl anyway.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotag2upload: Use the non-readonly method for dgit fetch
Ian Jackson [Tue, 23 Jul 2019 15:03:49 +0000 (16:03 +0100)]
tag2upload: Use the non-readonly method for dgit fetch

The principal effect in the Debian configuration is to access the
master dgit git server via ssh, rather than the mirror via https.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: Provide --for-push option
Ian Jackson [Tue, 23 Jul 2019 15:03:13 +0000 (16:03 +0100)]
dgit: Provide --for-push option

This is much more conveient and in some cases sensible than
 -cdgit-distro.DISTRO.readonly=0

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: Make cmd_archive_api_query call api_query_raw
Ian Jackson [Tue, 23 Jul 2019 14:24:55 +0000 (15:24 +0100)]
dgit: Make cmd_archive_api_query call api_query_raw

In support of #932570.  Now there is only one caller of
archive_api_query_cmd.

It is OK to pass `undef' because
  - archive_

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: Move $data check into api_query
Ian Jackson [Tue, 23 Jul 2019 14:27:51 +0000 (15:27 +0100)]
dgit: Move $data check into api_query

In support of #932570.  Our intended other caller doesn't have a
$data.  No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: Break out api_query_raw
Ian Jackson [Tue, 23 Jul 2019 14:18:22 +0000 (15:18 +0100)]
dgit: Break out api_query_raw

In support of #932570.  No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agochangelog: Add missing Closes of #932476 to changelog entry for 9.5
Ian Jackson [Tue, 23 Jul 2019 14:06:16 +0000 (15:06 +0100)]
changelog: Add missing Closes of #932476 to changelog entry for 9.5

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agochangelog: start 9.6
Sean Whitton [Mon, 22 Jul 2019 20:42:03 +0000 (21:42 +0100)]
changelog: start 9.6

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
4 years agochangelog: finalise 9.5 archive/debian/9.5 debian/9.5
Sean Whitton [Mon, 22 Jul 2019 20:38:22 +0000 (21:38 +0100)]
changelog: finalise 9.5

4 years agochangelog: Bug close syntax fix
Sean Whitton [Mon, 22 Jul 2019 20:38:02 +0000 (21:38 +0100)]
changelog: Bug close syntax fix

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
4 years agochangelog: Minor fixes
Ian Jackson [Mon, 22 Jul 2019 16:20:36 +0000 (17:20 +0100)]
changelog: Minor fixes

Mention two omitted bug Closes.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agochangelog: Mention Vcs-Git change
Ian Jackson [Mon, 22 Jul 2019 16:14:55 +0000 (17:14 +0100)]
changelog: Mention Vcs-Git change

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agochangelog: Update
Sean Whitton [Mon, 22 Jul 2019 15:32:35 +0000 (16:32 +0100)]
changelog: Update

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
4 years agogit-debpush: Check for a detached head when pushing HEAD
Sean Whitton [Mon, 22 Jul 2019 15:17:34 +0000 (16:17 +0100)]
git-debpush: Check for a detached head when pushing HEAD

See discussion in #932612.

Suggested-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
4 years agogit-debpush: Check for unstitched git-debrebase branch
Sean Whitton [Mon, 22 Jul 2019 09:39:56 +0000 (10:39 +0100)]
git-debpush: Check for unstitched git-debrebase branch

Closes: #932612
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
4 years agodebian/control: Name salsa as our Vcs-*
Ian Jackson [Mon, 22 Jul 2019 15:14:16 +0000 (16:14 +0100)]
debian/control: Name salsa as our Vcs-*

That is mostly what we are using now.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agochangelog: Wrap a line and mention HACKING.
Ian Jackson [Mon, 22 Jul 2019 15:10:29 +0000 (16:10 +0100)]
changelog: Wrap a line and mention HACKING.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agochangelog: Update
Sean Whitton [Mon, 22 Jul 2019 14:45:10 +0000 (15:45 +0100)]
changelog: Update

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
4 years agogit-debpush: Check that patches are (un)applicable
Sean Whitton [Sun, 21 Jul 2019 08:31:50 +0000 (09:31 +0100)]
git-debpush: Check that patches are (un)applicable

Closes: #932477
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
4 years agogit-debpush: check_treesame: Show diffstat when there is a diff
Sean Whitton [Mon, 22 Jul 2019 08:04:15 +0000 (09:04 +0100)]
git-debpush: check_treesame: Show diffstat when there is a diff

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
4 years agogit-debpush: check_treesame: Also pass --quiet to 'git diff'
Sean Whitton [Sun, 21 Jul 2019 10:35:38 +0000 (11:35 +0100)]
git-debpush: check_treesame: Also pass --quiet to 'git diff'

Otherwise, when using git-debpush in a terminal, the user will get a
pile of unwanted diff output each time check_treesame is called.

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
4 years agoHACKING: First cut
Ian Jackson [Mon, 22 Jul 2019 14:55:22 +0000 (15:55 +0100)]
HACKING: First cut

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agogit-debpush: Do not spuriously print -sn/-sk
Ian Jackson [Mon, 22 Jul 2019 01:06:15 +0000 (02:06 +0100)]
git-debpush: Do not spuriously print -sn/-sk

When looking for -sn or -sk in debian/source/options, we need to not
print it to stdout even if grep finds it.  So use -q.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Acked-by: Sean Whitton <spwhitton@spwhitton.name>
4 years agogit-debpush: use -m rather than -F- <<EOF
Ian Jackson [Mon, 22 Jul 2019 00:59:16 +0000 (01:59 +0100)]
git-debpush: use -m rather than -F- <<EOF

This means that a run with set -x shows the tag data that is being
signed.  The user can even then try it again.  It will make it easier
to do some kind of dry run, too, if we want to.

We are really not in danger of hitting a command line length limit.

(It also involves fewer syscalls, less use of /tmp etc., although that
is really irrelevant here.)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Acked-by: Sean Whitton <spwhitton@spwhitton.name>
4 years agodgit clone: No longer create an "origin" remote
Ian Jackson [Sun, 21 Jul 2019 22:58:01 +0000 (23:58 +0100)]
dgit clone: No longer create an "origin" remote

This was a normal git remote pointing to the dgit git server.

This is not really sensible because
1. it can't simply be pushed to
2. sometimes (if the package was never pushed with dgit)
    it doesn't even exist
3. it may be out of date with respect to the archive

The effect of 2 is that it can break `git remote update'.

This "git remote add" was introduced in 2013 in
  39c6c123ab730d42ec7c9ed01c30e0175c7691e7
  fix branch usage
and was first included in 0.2.  There doesn't seem to be any evidence
of me having deeply considered the merits of this at the time.

Closes: #932694
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: Rename debian/3-1 tag to test-dummy/ in a test git
Ian Jackson [Sun, 21 Jul 2019 23:41:50 +0000 (00:41 +0100)]
test suite: Rename debian/3-1 tag to test-dummy/ in a test git

Our distro is test-dummy.  We are going to stop randomly fetching tags
from the dgit git server, so the debian/ one would be omitted.

Replace the tag with a fresh equivalent one and change the one use
site.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agogit-playtree-setup: Rename from git-playtree-create
Ian Jackson [Sun, 21 Jul 2019 15:39:58 +0000 (16:39 +0100)]
git-playtree-setup: Rename from git-playtree-create

The name is from when I thought it would actually mkdir.  But it
doesn't.  No overall functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agogit-playtree-create: Fix with tests/using-intree
Ian Jackson [Sun, 21 Jul 2019 15:35:22 +0000 (16:35 +0100)]
git-playtree-create: Fix with tests/using-intree

Reported-by: Sean Whitton <spwhitton@spwhitton.name>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agocopyright: credit Genome Research Limited
Matthew Vernon [Sun, 21 Jul 2019 13:22:13 +0000 (14:22 +0100)]
copyright: credit Genome Research Limited

I work for the Wellcome Sanger Institute, but am employed by Genome
Research Limited, so it is they who should be credited in Copyright
notices.

Signed-off-by: Matthew Vernon <mv3@sanger.ac.uk>
Closes: #932630
4 years agogit-debrebase(1): Make this manpage a less intimidating entry point
Sean Whitton [Sat, 20 Jul 2019 12:00:34 +0000 (13:00 +0100)]
git-debrebase(1): Make this manpage a less intimidating entry point

- Nicer short description right in the first section.

- Don't use the term 'delta queue' until it's needed.

- Don't talk about other manpages so early.

- Cater for people who type `man git-debrebase` looking for a
  barebones tutorial, not (just) a command line reference.

  - That tutorial should minimise references to dgit, especially since
    users might want to use git-debpush to upload.

Thanks to Sam Hartman for the user feedback which prompted this and
Ian Jackson for feedback on the content of "QUICK REFERENCE".

Closes: #926656
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoDgit.pm: Abolish now-unused $t_local_git_cfg playtree_setup arg
Ian Jackson [Sun, 21 Jul 2019 00:19:53 +0000 (01:19 +0100)]
Dgit.pm: Abolish now-unused $t_local_git_cfg playtree_setup arg

This was there so that dgit's -c options would be honoured here.
But now, we get this information via @git, which dgit adds -c
options to, which we pass to git-playtree-create by invoking it
via git.

So this is no longer used and can be abolished.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agogit-playtree-setup: Provide to git-debpush
Ian Jackson [Sun, 21 Jul 2019 00:52:27 +0000 (01:52 +0100)]
git-playtree-setup: Provide to git-debpush

Not used yet, so no overall functional change to the script.
The .deb has a new file.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
4 years agogit-playtree-setup: Rewrite in shell and call it from Perl
Ian Jackson [Sun, 21 Jul 2019 00:52:05 +0000 (01:52 +0100)]
git-playtree-setup: Rewrite in shell and call it from Perl

We want this because git-debpush is going to want this functionality
but doesn't want to include (or have a copy of) Dgit.pm.

The installation arrangements are rather ugly.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
4 years agoDgit.pm: Provide @git
Ian Jackson [Sun, 21 Jul 2019 00:07:55 +0000 (01:07 +0100)]
Dgit.pm: Provide @git

This clears the way for some parts of Dgit.pm to honour dgit's
git invocation conventions.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoi18n-commit - autogenerated
Ian Jackson [Sun, 21 Jul 2019 00:37:03 +0000 (01:37 +0100)]
i18n-commit - autogenerated

4 years agogit-debpush: Check upstream source is identical in the upstream tag
Sean Whitton [Sat, 20 Jul 2019 16:17:06 +0000 (17:17 +0100)]
git-debpush: Check upstream source is identical in the upstream tag

Closes: #932476
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Acked-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit-maint-pbo(7): Add to .gitignore
Ian Jackson [Sat, 20 Jul 2019 17:48:19 +0000 (18:48 +0100)]
dgit-maint-pbo(7): Add to .gitignore

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit-maint-bpo(7): new manpage
Sean Whitton [Sun, 3 Mar 2019 00:53:39 +0000 (17:53 -0700)]
dgit-maint-bpo(7): new manpage

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Closes: #857490
4 years agogit-debrebase(*): Fix references to dgit-maint-debrebase(7)
Sean Whitton [Sat, 20 Jul 2019 12:00:18 +0000 (13:00 +0100)]
git-debrebase(*): Fix references to dgit-maint-debrebase(7)

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Closes: #932536
4 years agogit-debpush: Support forcing individual checks
Sean Whitton [Fri, 19 Jul 2019 16:11:22 +0000 (17:11 +0100)]
git-debpush: Support forcing individual checks

While using git-debpush interactively, if the user sees that checks
have failed which they know to be safe to override, they typically
just use --force or -f.

However, it is useful for scripts to be able to skip single checks,
and if the user knows that a check will fail in advance of running
git-debpush, it is convenient to be able to specify that but still see
whether other checks fail, where those failures were unexpected.  This
can avoid the user having to run git-debpush more than once.

The list of any checks which failed but were overridden is not stored
in the generated tag.  git-debpush's checks are for the convenience of
the local user only, and the list of failed but overridden checks is
not considered to be metadata for the upload.  Not recording failed
but overridden checks in the git tag keeps git-debpush's checking
independent of its wrapping of git-tag and git-push, which makes
git-debpush simpler and easier to understand.  The complexity is on
the server side, in tag2upload.

git-debpush(1): We want the list of checks that can be overridden to
be at the bottom of the list of options because most users will not
need to look at it.  We also want the description of --force|-f to be
adjacent to the description of --force=<check>.  So move the
description of --force|-f to the end of the list of options.

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Closes: #932459
4 years agogit-debpush: Subheaders
Sean Whitton [Fri, 19 Jul 2019 15:33:01 +0000 (16:33 +0100)]
git-debpush: Subheaders

No functional change.

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
4 years agogit-debpush(1): Correct description of --force
Sean Whitton [Fri, 19 Jul 2019 15:22:50 +0000 (16:22 +0100)]
git-debpush(1): Correct description of --force

Checks are still performed, but turned from errors into warnings.

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
4 years agochangelog: start 9.5
Ian Jackson [Sat, 20 Jul 2019 15:29:42 +0000 (16:29 +0100)]
changelog: start 9.5

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agochangelog: finalise 9.4 archive/debian/9.4 debian/9.4
Ian Jackson [Sat, 20 Jul 2019 15:26:41 +0000 (16:26 +0100)]
changelog: finalise 9.4

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoUpdate copyright notices in many files
Ian Jackson [Sat, 20 Jul 2019 00:26:11 +0000 (01:26 +0100)]
Update copyright notices in many files

Mostly, adding 2019.  Also adding some missing credits to Sean

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodebian/copyright: Add some missing credtis
Ian Jackson [Sat, 20 Jul 2019 00:22:17 +0000 (01:22 +0100)]
debian/copyright: Add some missing credtis

  Frans Spiesschaert (.nl translation)
  Matthew Vernon / Sanger Institute
  Paul Hardy

Information obtained by hand from git.  This should have been done
much earlier.  If only we had some tool for this.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: read-only access to the Ubuntu Cloud Archive (Closes: #932322)
Matthew Vernon [Fri, 19 Jul 2019 12:32:51 +0000 (13:32 +0100)]
dgit: read-only access to the Ubuntu Cloud Archive (Closes: #932322)

This adds -d ubuntucloud for the Ubuntu Cloud Archive (see
https://wiki.ubuntu.com/OpenStack/CloudArchive for details thereof).

Access is by the aptget: query mechanism, suites are spelled like
bionic-updates:train or bionic-proposed:train, additionally the
shorthand bionic:train for bionic-updates:train is allowed.

Closes: #932322
Signed-off-by: Matthew Vernon <mv3@sanger.ac.uk>
Acked-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodgit: move suite name check to after suite rmap
Matthew Vernon [Fri, 19 Jul 2019 09:13:24 +0000 (10:13 +0100)]
dgit: move suite name check to after suite rmap

The Ubuntu Cloud Archive has Codenames of the form
bionic-updates/train (the / in which suitere doesn't match); this can
be corrected by suite rmap, so apply that before doing the suitere
sanity check.

Signed-off-by: Matthew Vernon <mv3@sanger.ac.uk>
Acked-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: tag-to-upload tests: Tolerate a changed git message
Ian Jackson [Fri, 19 Jul 2019 21:20:29 +0000 (22:20 +0100)]
test suite: tag-to-upload tests: Tolerate a changed git message

git changed
  Couldn't find remote ref
to
  couldn't find remote ref
and this broke our test case.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Closes: #932475
4 years agotest suite: tag-to-upload tests: Make message checks regexps
Ian Jackson [Fri, 19 Jul 2019 21:19:31 +0000 (22:19 +0100)]
test suite: tag-to-upload tests: Make message checks regexps

No functional change yet.  All the existing message strings are
already equivalently valid when interpreted by egrep.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: tag-to-upload tests: Set LC_MESSAGES in with-mangled
Ian Jackson [Fri, 19 Jul 2019 21:15:02 +0000 (22:15 +0100)]
test suite: tag-to-upload tests: Set LC_MESSAGES in with-mangled

t-expect-fail would do this but we aren't using it here, so we need to
do it explicitly.

This will avoid the tests failing in some locales.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agochangelog: start 9.4
Ian Jackson [Thu, 18 Jul 2019 02:13:42 +0000 (03:13 +0100)]
changelog: start 9.4

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agochangelog: finalis 9.3 archive/debian/9.3 debian/9.3
Ian Jackson [Thu, 18 Jul 2019 02:10:31 +0000 (03:10 +0100)]
changelog: finalis 9.3

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agochangelog: Document changes for tagupl-gbp
Ian Jackson [Thu, 18 Jul 2019 02:10:07 +0000 (03:10 +0100)]
changelog: Document changes for tagupl-gbp

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: tagupl-gbp: New test
Ian Jackson [Wed, 17 Jul 2019 23:52:56 +0000 (00:52 +0100)]
test suite: tagupl-gbp: New test

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotest suite: t-debpolicy: mkdir -p the git repo
Ian Jackson [Wed, 17 Jul 2019 23:48:06 +0000 (00:48 +0100)]
test suite: t-debpolicy: mkdir -p the git repo

This makes t-debpolicy compatible with (eg) setup imports that already
made a $tmp/git.

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