chiark / gitweb /
dgit.git
7 months agopo4a: pairwise-pocheck: Force it to be run sometimes
Ian Jackson [Wed, 7 Nov 2018 22:33:22 +0000 (22:33 +0000)]
po4a: pairwise-pocheck: Force it to be run sometimes

 * when building a binary package
 * when preparing a translation preview

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 months agopo4a: pairwise-pocheck: Provide make targets to invoke it explicitly
Ian Jackson [Wed, 7 Nov 2018 22:33:06 +0000 (22:33 +0000)]
po4a: pairwise-pocheck: Provide make targets to invoke it explicitly

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 months agopo4a: Fix gitignore to actually ignore right .po4a.LANG.cfg
Ian Jackson [Wed, 7 Nov 2018 22:28:09 +0000 (22:28 +0000)]
po4a: Fix gitignore to actually ignore right .po4a.LANG.cfg

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 months agopo4a: New pairwise-pocheck script
Ian Jackson [Wed, 7 Nov 2018 22:27:03 +0000 (22:27 +0000)]
po4a: New pairwise-pocheck script

This currently just detects if a translator has dropped the B or I
or some such from POD constructs like B<...> and I<...>.

Suggested-by: Colin Watson <cjwatson@chiark.greenend.org.uk>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agochangelog: start 8.1~
Ian Jackson [Sat, 13 Oct 2018 23:02:27 +0000 (00:02 +0100)]
changelog: start 8.1~

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agochangelog: finalise 8.0
Ian Jackson [Sat, 13 Oct 2018 22:57:52 +0000 (23:57 +0100)]
changelog: finalise 8.0

The not-entirely-compatible change means a bump of major version I
think.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n-commit - autogenerated
Ian Jackson [Sat, 13 Oct 2018 22:59:01 +0000 (23:59 +0100)]
i18n-commit - autogenerated

8 months agopo/README: Give a pointer to salsa; remind the translator to commit
Ian Jackson [Sat, 13 Oct 2018 20:21:54 +0000 (21:21 +0100)]
po/README: Give a pointer to salsa; remind the translator to commit

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agopo/README: Mention -k10 threshold
Ian Jackson [Sat, 13 Oct 2018 20:21:30 +0000 (21:21 +0100)]
po/README: Mention -k10 threshold

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agopo/list-documents: Set translation threshold to 10%
Ian Jackson [Sat, 13 Oct 2018 20:15:51 +0000 (21:15 +0100)]
po/list-documents: Set translation threshold to 10%

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoREADME.md: Add this document for the benefit of Salsa
Ian Jackson [Sat, 13 Oct 2018 20:22:26 +0000 (21:22 +0100)]
README.md: Add this document for the benefit of Salsa

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n-commit - autogenerated
Ian Jackson [Sat, 13 Oct 2018 19:41:46 +0000 (20:41 +0100)]
i18n-commit - autogenerated

8 months agoMakefile: Provide i18n-commit target
Ian Jackson [Sat, 13 Oct 2018 19:41:33 +0000 (20:41 +0100)]
Makefile: Provide i18n-commit target

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agotest suite: push-source-with-changes: Make it test -wdda
Ian Jackson [Sat, 13 Oct 2018 15:21:11 +0000 (16:21 +0100)]
test suite: push-source-with-changes: Make it test -wdda

We have plenty of other places where we used -wddn or ,no-check.

Here we have an opportunity to test -wdda: create a ~ file (which
would be ignored), clean everything else, and check that -wdda fails
but the default (-wdd) succeds.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agotest suite: push-source*: Drop --dpkg-buildpackage:-d
Ian Jackson [Sat, 13 Oct 2018 14:47:23 +0000 (15:47 +0100)]
test suite: push-source*: Drop --dpkg-buildpackage:-d

These have been here since these test was created.  I think this must
have been done by copying the example of some other tests - but those
other tests didn't use the `example' test package and actually needed
it.  `example' does not.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Demand that all clean modes are handled by clean_tree_check
Ian Jackson [Sat, 13 Oct 2018 12:31:52 +0000 (13:31 +0100)]
dgit: Demand that all clean modes are handled by clean_tree_check

We've dealt with all the cases now, so we can add the default.

Also, in the test suite.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: clean_tree: confess rather than die on unknown clean mode
Ian Jackson [Sat, 13 Oct 2018 12:31:19 +0000 (13:31 +0100)]
dgit: clean_tree: confess rather than die on unknown clean mode

That would be an internal error.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: -wn clean check is a no-op
Ian Jackson [Sat, 13 Oct 2018 12:30:46 +0000 (13:30 +0100)]
dgit: -wn clean check is a no-op

Handle this explicitly in the clean_tree_check conditional and in the
test suite.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: -wg / -wgf clean check is a no-op
Ian Jackson [Sat, 13 Oct 2018 12:29:01 +0000 (13:29 +0100)]
dgit: -wg / -wgf clean check is a no-op

Document this, and handle it explicitly in the clean_tree_check
conditional and in the test suite.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Provide --clean=dpkg-source[-d],all-check aka -wda / -wdda
Ian Jackson [Sat, 13 Oct 2018 12:23:21 +0000 (13:23 +0100)]
dgit: Provide --clean=dpkg-source[-d],all-check aka -wda / -wdda

This seems logically necessary and could help debug a clean target.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agotest suite: dgit: Test that -wd catches the uncommitted changes
Ian Jackson [Sat, 13 Oct 2018 14:01:14 +0000 (15:01 +0100)]
test suite: dgit: Test that -wd catches the uncommitted changes

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: --clean=dpkg-source: Check for untracked unignored files
Ian Jackson [Sat, 13 Oct 2018 12:12:39 +0000 (13:12 +0100)]
dgit: --clean=dpkg-source: Check for untracked unignored files

We would like to spot if the user forgot to `git add' a file.
This can be done by calling clean_tree_check_git, after rules
clean (if applicable).

We need to make this configurable.  We do so via the clean mode, with
a comma-separated checking control suffix (and short aliases) like we
did for --clean=git,ignores.

The default should be cautious, ie to do this check, but often the
user will want to disable it because the source package has a buggy
clean target or no or insufficient .gitignore.  Existing users should
probably get the new check until they choose otherwise (which we have
made easier for them with the .clean-mode-newer config option).

So we change the meanings of -wd and -wdd to include the new check,
and provide new build modes ...,no-check aka -wdn / -wddn to disable
it.

To implement this we introduce a new clean_tree_check_git_wd function
to do the actual work, particularly because both during cleaning and
cleanliness checking, we want to print some hints to the user if the
check fails.

We can't do the new check if we applied patches dirtily to run the
rules target, because it will trip over the result of patch
application.  This way of working is just too poor to support this new
check.

The test suite generally tests the default versions, not the no-check
versions.  We must teach the test to expect the new check.  This is
most easily done with a separate case for the check side of the -wd
clean modes.  And we need to support the no-check variant too,
because:

The push-source-with-changes test does in fact work with a built tree
and needs to test the no-check variant.

The gbp tests sometimes involve patch application.  Rather than trying
to predict which of them do (in which cases there would be no clean
check), we force them all to ,no-check.

The oldnewtagalt test can use -wgf.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agotest suite: lib-build-modes: Honour $cleanmodes_dpkgsource_extra
Ian Jackson [Sat, 13 Oct 2018 15:17:32 +0000 (16:17 +0100)]
test suite: lib-build-modes: Honour $cleanmodes_dpkgsource_extra

Nothing sets this now so NFC.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agotest suite: lib-build-modes: Reformat a couple of lines
Ian Jackson [Sat, 13 Oct 2018 14:22:00 +0000 (15:22 +0100)]
test suite: lib-build-modes: Reformat a couple of lines

This will make forthcoming change a less disruptive diff.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit(1): Document that rules clean sometimes not run
Ian Jackson [Sat, 13 Oct 2018 11:48:12 +0000 (12:48 +0100)]
dgit(1): Document that rules clean sometimes not run

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Combine option parsing of -wd and -wdd
Ian Jackson [Sat, 13 Oct 2018 11:33:12 +0000 (12:33 +0100)]
dgit: Combine option parsing of -wd and -wdd

We are going to introduce more variants, so we need to refactor this.

No functionalk change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Break out clean_tre_check_git
Ian Jackson [Sat, 13 Oct 2018 11:26:19 +0000 (12:26 +0100)]
dgit: Break out clean_tre_check_git

This will make it easier to handle the other clean modes more clearly.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit(1): Combine descriptions of --clean=dpkg-source and ...-d
Ian Jackson [Sat, 13 Oct 2018 11:01:35 +0000 (12:01 +0100)]
dgit(1): Combine descriptions of --clean=dpkg-source and ...-d

We are going to add another dimension to the matrix here, which would
result in a profusion of cases.  Instead, combine the two sections.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Provide new clean mode --clean=check,ignores
Ian Jackson [Sat, 13 Oct 2018 10:56:06 +0000 (11:56 +0100)]
dgit: Provide new clean mode --clean=check,ignores

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: $cleanmode_re: Use extended syntax
Ian Jackson [Sat, 13 Oct 2018 10:41:09 +0000 (11:41 +0100)]
dgit: $cleanmode_re: Use extended syntax

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: clean_tree_check: Reorganise command construction
Ian Jackson [Sat, 13 Oct 2018 10:38:30 +0000 (11:38 +0100)]
dgit: clean_tree_check: Reorganise command construction

This will make it easier to make the command vary.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: clean_tree_check: Add a comment about modifed tracked files
Ian Jackson [Sat, 13 Oct 2018 10:37:06 +0000 (11:37 +0100)]
dgit: clean_tree_check: Add a comment about modifed tracked files

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Use a regexp to match clean mode check
Ian Jackson [Sat, 13 Oct 2018 10:17:55 +0000 (11:17 +0100)]
dgit: Use a regexp to match clean mode check

This will make it easier to introduce new variants.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Implement clean_tree_check for mode -wc
Ian Jackson [Sat, 13 Oct 2018 10:15:57 +0000 (11:15 +0100)]
dgit: Implement clean_tree_check for mode -wc

This part of the fix for #910705.  This makes -wc actually work with
build_source.

But per the discussion in #910705 we want to implement some checking
in dpkg-source[-d] mode too.

We need to teach the test suite about this notion of checking
cleanlines rather than cleaning.  For now we wildcard C*.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Move clean_tree_check
Ian Jackson [Sat, 13 Oct 2018 10:13:35 +0000 (11:13 +0100)]
dgit: Move clean_tree_check

Code motion.  No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Rorganise dpkg-source[-d] clean implementation
Ian Jackson [Sat, 13 Oct 2018 10:12:51 +0000 (11:12 +0100)]
dgit: Rorganise dpkg-source[-d] clean implementation

This will make it easier to introduce new variants.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Abolish obsolete variable $clean_using_builder
Ian Jackson [Sat, 13 Oct 2018 10:08:27 +0000 (11:08 +0100)]
dgit: Abolish obsolete variable $clean_using_builder

Nothing ever sets this to a trueish value.  Abolish it.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Reorganise cleaning in build_prep
Ian Jackson [Sat, 13 Oct 2018 10:04:48 +0000 (11:04 +0100)]
dgit: Reorganise cleaning in build_prep

1. Replace the open-coded $includedirty with the equivalent
building_source_in_playtree(), because the latter is what we actually
care about here.

2. Reformat into if blocks.

3. Introuce and call clean_tree_check (currently a no-op).  Now,
writing clean_tree_check will be part of fixing #910705.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Honour new .clean-mode-newer access config option
Ian Jackson [Sat, 13 Oct 2018 09:55:36 +0000 (10:55 +0100)]
dgit: Honour new .clean-mode-newer access config option

This will allow us to extend the set of clean modes without causing
irresolvable compatibility problems for users.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Put (?: ) around $cleanmode_re and use qr{}.
Ian Jackson [Sat, 13 Oct 2018 09:52:25 +0000 (10:52 +0100)]
dgit: Put (?: ) around $cleanmode_re and use qr{}.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Drop (?!\n) from a use of $cleanmode_re
Ian Jackson [Sat, 13 Oct 2018 09:51:42 +0000 (10:51 +0100)]
dgit: Drop (?!\n) from a use of $cleanmode_re

The config machinery now defends us from newlines.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Reject all git config options containing newlines
Ian Jackson [Sat, 13 Oct 2018 09:46:41 +0000 (10:46 +0100)]
dgit: Reject all git config options containing newlines

If we find something like this our regexp-based checking approaches
are likely to fail and other strange may will go wrong.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Refuse to work if critical files have uncommitted changes
Ian Jackson [Thu, 11 Oct 2018 00:33:21 +0000 (01:33 +0100)]
dgit: Refuse to work if critical files have uncommitted changes

Notably, d/source/format and options, and the forbidden files.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Factor out debian/source/.. in check_not_dirty
Ian Jackson [Thu, 11 Oct 2018 00:30:55 +0000 (01:30 +0100)]
dgit: Factor out debian/source/.. in check_not_dirty

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Break out @forbid in check_not_dirty
Ian Jackson [Thu, 11 Oct 2018 00:28:31 +0000 (01:28 +0100)]
dgit: Break out @forbid in check_not_dirty

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agochangedir_git_toplevel: Special error for not in git tree
Ian Jackson [Thu, 11 Oct 2018 00:18:52 +0000 (01:18 +0100)]
changedir_git_toplevel: Special error for not in git tree

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Change to git toplevel dir before starting
Ian Jackson [Thu, 11 Oct 2018 00:15:36 +0000 (01:15 +0100)]
dgit: Change to git toplevel dir before starting

Closes: #910724.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoDgit.pm: Move changedir_git_toplevel from git-debrebase
Ian Jackson [Thu, 11 Oct 2018 00:15:08 +0000 (01:15 +0100)]
Dgit.pm: Move changedir_git_toplevel from git-debrebase

NFC other than hardcoded qw(git).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoDgit.pm: rename_link_xf: Avoid copying if src is a link to dst
Ian Jackson [Wed, 10 Oct 2018 23:43:45 +0000 (00:43 +0100)]
Dgit.pm: rename_link_xf: Avoid copying if src is a link to dst

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoDgit.pm: rename_link_xf: Always use cp
Ian Jackson [Wed, 10 Oct 2018 23:36:08 +0000 (00:36 +0100)]
Dgit.pm: rename_link_xf: Always use cp

If we use mv on a symlink, it moves the link, not the file.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoDgit.pm: rename_link_xf: Minor style fix
Ian Jackson [Wed, 10 Oct 2018 23:35:52 +0000 (00:35 +0100)]
Dgit.pm: rename_link_xf: Minor style fix

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Handle EXDEV when putting in place output source
Ian Jackson [Wed, 10 Oct 2018 23:28:55 +0000 (00:28 +0100)]
dgit: Handle EXDEV when putting in place output source

Replace a rename call with rename_link_xf, and change the subsequent
error handling to use $@ iff appropriate.

Closes: #910730.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Add missing error check in single-debian-patch handling
Ian Jackson [Wed, 10 Oct 2018 23:23:17 +0000 (00:23 +0100)]
dgit: Add missing error check in single-debian-patch handling

We called rename here without checking the error at all.
Handle ENOENT in case dpkg-source makes no patch.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Handle EXDEV when saving origs
Ian Jackson [Wed, 10 Oct 2018 23:19:41 +0000 (00:19 +0100)]
dgit: Handle EXDEV when saving origs

Replace two link calls with rename_link_xf, and change the subsequent
error handling to use $@ iff appropriate.

Part of the fix to #910730.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoDgit.pm: Provide rename_link_xf
Ian Jackson [Wed, 10 Oct 2018 23:18:45 +0000 (00:18 +0100)]
Dgit.pm: Provide rename_link_xf

This will be used for cross-filesystem support.  No callers yet.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Forbid source building with --include-dirty non-.. bpd
Ian Jackson [Wed, 10 Oct 2018 12:40:46 +0000 (13:40 +0100)]
dgit: Forbid source building with --include-dirty non-.. bpd

Right now, this does bizarre damage to ..
Fixing this is very hard without bpd support in dpkg-source.

Closes: #910725.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: quilt linearisation: Stop at debian/source/format changes
Ian Jackson [Wed, 10 Oct 2018 11:58:50 +0000 (12:58 +0100)]
dgit: quilt linearisation: Stop at debian/source/format changes

Traversing a change of source format will not end well.
Discovered this possibility while investigating #910687.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Replace mention of alioth by salsa
Ian Jackson [Tue, 9 Oct 2018 23:50:04 +0000 (00:50 +0100)]
dgit: Replace mention of alioth by salsa

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Fix spelling errors etc. in messages
Ian Jackson [Tue, 9 Oct 2018 23:49:52 +0000 (00:49 +0100)]
dgit: Fix spelling errors etc. in messages

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit-sponsorship(7): Fix spelling error
Ian Jackson [Tue, 9 Oct 2018 23:43:32 +0000 (00:43 +0100)]
dgit-sponsorship(7): Fix spelling error

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit(7): Fix spelling errors
Ian Jackson [Tue, 9 Oct 2018 23:36:18 +0000 (00:36 +0100)]
dgit(7): Fix spelling errors

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit(1): Fix spelling errors
Ian Jackson [Tue, 9 Oct 2018 23:30:33 +0000 (00:30 +0100)]
dgit(1): Fix spelling errors

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Avoid crash if branch_is_gdr finds an origin commit
Ian Jackson [Tue, 9 Oct 2018 22:46:25 +0000 (23:46 +0100)]
dgit: Avoid crash if branch_is_gdr finds an origin commit

Closes: #910687.
Reported-by: Mattia Rizzolo <mattia@debian.org>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoDgit.pm: git_cat_file: When passed undef, crash with \n at end
Ian Jackson [Tue, 9 Oct 2018 22:37:28 +0000 (23:37 +0100)]
Dgit.pm: git_cat_file: When passed undef, crash with \n at end

Interpolating $objname into this string means that the crash occors
before "GCFF>| " has been "printed" - but actually sits in a stdio
buffer, waiting to appear after the output from confess.

Reported-by: Mattia Rizzolo <mattia@debian.org>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agochangelog: start 7.1~
Ian Jackson [Thu, 4 Oct 2018 19:37:17 +0000 (20:37 +0100)]
changelog: start 7.1~

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agochangelog: changes for 7.0, and finalise
Ian Jackson [Thu, 4 Oct 2018 19:34:00 +0000 (20:34 +0100)]
changelog: changes for 7.0, and finalise

Based on output from gbp-dch.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agomake i18n
Ian Jackson [Thu, 4 Oct 2018 11:36:24 +0000 (12:36 +0100)]
make i18n

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: Provide `i18n-update' target in toplevel Makefile
Ian Jackson [Thu, 4 Oct 2018 10:43:19 +0000 (11:43 +0100)]
i18n: Provide `i18n-update' target in toplevel Makefile

With a convenience alias `i18n'.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: po: Rename `all-po' target to `pofiles'
Ian Jackson [Thu, 4 Oct 2018 10:42:21 +0000 (11:42 +0100)]
i18n: po: Rename `all-po' target to `pofiles'

I think this is more conventional.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: po4a: Fix reference to nonexistent translated-always target
Ian Jackson [Thu, 4 Oct 2018 10:39:41 +0000 (11:39 +0100)]
i18n: po4a: Fix reference to nonexistent translated-always target

This -always suffix was replaced with the use of .PHONY during
development (and the result squashed), but this one was missed.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agogit-debrebase: merges: Make warnings of lossage less overblown
Ian Jackson [Thu, 4 Oct 2018 01:36:20 +0000 (02:36 +0100)]
git-debrebase: merges: Make warnings of lossage less overblown

In particular, everyone's gdr (if it's new enough) should cope with
the generated merged-breakwaters commits.  And there are at least a
couple of tests now, so the risks of total craziness are lower.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agotest suite: gdr-makepatches7: Test dgit with missing git-debrebase
Ian Jackson [Thu, 4 Oct 2018 00:49:55 +0000 (01:49 +0100)]
test suite: gdr-makepatches7: Test dgit with missing git-debrebase

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agodgit: Do not sometimes crash in quilt-fixup if git-debrebase missing
Ian Jackson [Thu, 4 Oct 2018 00:57:19 +0000 (01:57 +0100)]
dgit: Do not sometimes crash in quilt-fixup if git-debrebase missing

Closes:#910221.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agotest suite: gdr-makepatches7: Fix test for broken git-debrebase
Ian Jackson [Thu, 4 Oct 2018 00:55:36 +0000 (01:55 +0100)]
test suite: gdr-makepatches7: Fix test for broken git-debrebase

dgit should treat git-debrebase not existing the same way as it
exiting 7 (which in fact, is the same way it treats it succeeding).

We are going to fix that.  But first we need to make this test case
not expect dgit to break in this situation.  To test dgit with an
actually *broken* git-debrebase, we specify `false' instead.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agopo4a: dummy test case git-debrebase_5.en_US.po: Abolish again
Ian Jackson [Thu, 4 Oct 2018 00:24:15 +0000 (01:24 +0100)]
po4a: dummy test case git-debrebase_5.en_US.po: Abolish again

Though this was a useful test, and having this in the git history is
useful, these files are, now, a distraction.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agopo4a: dummy test case git-debrebase_5.en_US.po: Add a string
Ian Jackson [Thu, 4 Oct 2018 00:12:28 +0000 (01:12 +0100)]
po4a: dummy test case git-debrebase_5.en_US.po: Add a string

Change just one string for testing.

I have verified that when the resulting package is installed,
      LC_MESSAGES=en_US.UTF-8 man 5 git-debrebase
produces a manpage saying `reorganized' where previously it said
`reorganised', as expected.  Ie the translation machinery works.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agopo4a: dummy test case git-debrebase_5.en_US.po: Create
Ian Jackson [Thu, 4 Oct 2018 00:05:57 +0000 (01:05 +0100)]
po4a: dummy test case git-debrebase_5.en_US.po: Create

This is the result of following the instructions in po4a/README on how
to start a translation.  For economy I have committed only this one
new .po file, even though po4a generated loads and normally a
translator would therefore send a PR with one file per document.

This is part of testing that the machinery works.  It is not practical
to make this a proper test case, but I can at least leave records in
the git history of how to do things.

This change results in that one manpage actually being generated and
installed, although it is very similar to the untranslated one.

I have verified that unless the translated manpages line in
debian/git-debrebase.install is uncommented, the package build now
fails, which is reassuring, because it means that when we get a real
translation we can't forget to actually ship it.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agopo4a: Makefile: Honour PO4A and use i18n-common.make
Ian Jackson [Thu, 4 Oct 2018 00:14:19 +0000 (01:14 +0100)]
po4a: Makefile: Honour PO4A and use i18n-common.make

No functional change unless PO4A is in the environment.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: po4a: debian/rules: Install translated documents
Ian Jackson [Wed, 3 Oct 2018 22:58:06 +0000 (23:58 +0100)]
i18n: po4a: debian/rules: Install translated documents

XXX I have tested this by creating a git-debrebase_5.en_US.po containing
one translation, forcing -k0 (in list-documents), uncommenting the two
.install file entries, installing the resulting package, and asking
for

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agopo4a: Run po4a to generate .pot files and commit the result
Ian Jackson [Thu, 4 Oct 2018 00:05:02 +0000 (01:05 +0100)]
po4a: Run po4a to generate .pot files and commit the result

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: po4a: Add a symlink to po/README
Ian Jackson [Thu, 4 Oct 2018 00:03:30 +0000 (01:03 +0100)]
i18n: po4a: Add a symlink to po/README

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: po4a: Add a test that po4a.cfg is up to date
Ian Jackson [Wed, 3 Oct 2018 23:48:24 +0000 (00:48 +0100)]
i18n: po4a: Add a test that po4a.cfg is up to date

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: po4a: Add the translated output to the global .gitignore
Ian Jackson [Wed, 3 Oct 2018 21:39:12 +0000 (22:39 +0100)]
i18n: po4a: Add the translated output to the global .gitignore

Since that is where it ends up (for path convenience reasons).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: po4a: Run `make po4a.cfg' and commit the result
Ian Jackson [Wed, 3 Oct 2018 23:57:20 +0000 (00:57 +0100)]
i18n: po4a: Run `make po4a.cfg' and commit the result

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: po4a: Introduce machinery
Ian Jackson [Wed, 3 Oct 2018 23:56:49 +0000 (00:56 +0100)]
i18n: po4a: Introduce machinery

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: Update po/README to discuss document translation
Ian Jackson [Wed, 3 Oct 2018 23:56:01 +0000 (00:56 +0100)]
i18n: Update po/README to discuss document translation

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: po/Makefile: Remove some obsolete comment (nfc)
Ian Jackson [Wed, 3 Oct 2018 22:55:36 +0000 (23:55 +0100)]
i18n: po/Makefile: Remove some obsolete comment (nfc)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: Break out i18n-common.make (nfc)
Ian Jackson [Wed, 3 Oct 2018 22:55:16 +0000 (23:55 +0100)]
i18n: Break out i18n-common.make (nfc)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agopackaging: Use dh_missing --fail-missing
Ian Jackson [Wed, 3 Oct 2018 23:23:09 +0000 (00:23 +0100)]
packaging: Use dh_missing --fail-missing

This will spot if `make install' or similar installs anything that we
forgot to put anywhere.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agotest suite: Test that the binary packages can be built
Ian Jackson [Thu, 4 Oct 2018 00:44:32 +0000 (01:44 +0100)]
test suite: Test that the binary packages can be built

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: git-debrebase: mark final batch of messages (5)
Ian Jackson [Tue, 2 Oct 2018 16:15:19 +0000 (17:15 +0100)]
i18n: git-debrebase: mark final batch of messages (5)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: git-debrebase: mark some messages (4)
Ian Jackson [Tue, 2 Oct 2018 15:59:04 +0000 (16:59 +0100)]
i18n: git-debrebase: mark some messages (4)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: i18n-diff-auditor: Handle printf => print f_
Ian Jackson [Tue, 2 Oct 2018 16:09:21 +0000 (17:09 +0100)]
i18n: i18n-diff-auditor: Handle printf => print f_

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n, packaging: Add missing build-dependency on xgettext
Ian Jackson [Thu, 4 Oct 2018 01:01:23 +0000 (02:01 +0100)]
i18n, packaging: Add missing build-dependency on xgettext

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: git-debrebase: mark some messages (3)
Ian Jackson [Tue, 2 Oct 2018 15:37:12 +0000 (16:37 +0100)]
i18n: git-debrebase: mark some messages (3)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agogit-debrebase: anchor: Print the anchor, not the breakwater tip (!)
Ian Jackson [Tue, 2 Oct 2018 15:31:14 +0000 (16:31 +0100)]
git-debrebase: anchor: Print the anchor, not the breakwater tip (!)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: git-debrebase: mark some messages (2)
Ian Jackson [Tue, 2 Oct 2018 15:29:11 +0000 (16:29 +0100)]
i18n: git-debrebase: mark some messages (2)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agoi18n: i18n-diff-auditor: Handle comments
Ian Jackson [Tue, 2 Oct 2018 15:48:39 +0000 (16:48 +0100)]
i18n: i18n-diff-auditor: Handle comments

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agogit-debrebase: new-upstream: Drop `sleep 2' (!)
Ian Jackson [Tue, 2 Oct 2018 15:29:33 +0000 (16:29 +0100)]
git-debrebase: new-upstream: Drop `sleep 2' (!)

This is leftover debugging code.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
8 months agogit-debrebase: Refactor fail_unprocessable message construction
Ian Jackson [Tue, 2 Oct 2018 13:10:52 +0000 (14:10 +0100)]
git-debrebase: Refactor fail_unprocessable message construction

Clearer and easier to mark up for translation.

No functional change (verified by grepping the test logs).

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