chiark / gitweb /
dgit.git
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years agochangelog: changes for 7.0, and finalise archive/debian/7.0 debian/7.0
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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years agoi18n: git-debrebase: mark some messages (1)
Ian Jackson [Tue, 2 Oct 2018 12:45:41 +0000 (13:45 +0100)]
i18n: git-debrebase: mark some messages (1)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agogit-debrebase: Replace `git-debrebase:' with `$us:' in bad usage msg
Ian Jackson [Tue, 2 Oct 2018 12:48:27 +0000 (13:48 +0100)]
git-debrebase: Replace `git-debrebase:' with `$us:' in bad usage msg

This is a different pattern as it is in a translated message, so we
change __ to f_.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agogit-debrebase: Replace several `git-debrebase:' with `$us:'
Ian Jackson [Tue, 2 Oct 2018 12:46:02 +0000 (13:46 +0100)]
git-debrebase: Replace several `git-debrebase:' with `$us:'

In ""-strings in as-yet-untranslated messages.

This is more proper and more generic and also slightly
shorter (although more complex).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agogit-debrebase: Improve two error messages
Ian Jackson [Tue, 2 Oct 2018 12:37:15 +0000 (13:37 +0100)]
git-debrebase: Improve two error messages

Print a proper message for failure to opendir the bpd and for failure
to chdir to the toplevel.

Doing this now makes the translation markup auditable.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agoi18n: git-debrebase: Change a lot of die to confess
Ian Jackson [Tue, 2 Oct 2018 12:34:36 +0000 (13:34 +0100)]
i18n: git-debrebase: Change a lot of die to confess

These are internal errors or unexpected syscall failures.  Printing a
stack trace is reasonably helpful there.

(Also, some of them are in the experimental merge resolution code.)

Audited with i18n-diff-auditor; reviewed one questionable change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agoDgit.pm: reflog_cache_lookup: Replace `confess' with `die' after exec
Ian Jackson [Tue, 2 Oct 2018 12:31:16 +0000 (13:31 +0100)]
Dgit.pm: reflog_cache_lookup: Replace `confess' with `die' after exec

With `confess' after `exec', perl complains

  Statement unlikely to be reached at /usr/share/perl5/Debian/Dgit.pm line 770.
  (Maybe you meant system() when you said exec()?)

The error message's suggestion is not right here - what is wrong is
that confess is not really appropriate in the child in this way.

Replace it with die, using a better error string.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agochangelog: start 7.0~pre2~
Ian Jackson [Tue, 2 Oct 2018 12:23:01 +0000 (13:23 +0100)]
changelog: start 7.0~pre2~

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agochangelog: Finalise 7.0~pre1 archive/debian/7.0_pre1 debian/7.0_pre1
Ian Jackson [Tue, 2 Oct 2018 12:20:41 +0000 (13:20 +0100)]
changelog: Finalise 7.0~pre1

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agochangelog: Bump to 7.0~pre1, document changes, send to experimental
Ian Jackson [Tue, 2 Oct 2018 11:27:33 +0000 (12:27 +0100)]
changelog: Bump to 7.0~pre1, document changes, send to experimental

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agoi18n: make -C po clean all
Ian Jackson [Tue, 2 Oct 2018 11:23:51 +0000 (12:23 +0100)]
i18n: make -C po clean all

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agoi18n: Update README to reflect current situation
Ian Jackson [Mon, 1 Oct 2018 15:08:55 +0000 (16:08 +0100)]
i18n: Update README to reflect current situation

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agoi18n: Dgit.pm: mark final batch of messages (2)
Ian Jackson [Mon, 1 Oct 2018 14:28:52 +0000 (15:28 +0100)]
i18n: Dgit.pm: mark final batch of messages (2)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agoDgit.pm: parsecontrol: Improve error message for failed open
Ian Jackson [Mon, 1 Oct 2018 14:37:35 +0000 (15:37 +0100)]
Dgit.pm: parsecontrol: Improve error message for failed open

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agoDgit.pm: Split here doc for reflog cache commit message (nfc)
Ian Jackson [Mon, 1 Oct 2018 14:32:47 +0000 (15:32 +0100)]
Dgit.pm: Split here doc for reflog cache commit message (nfc)

This will make the translation markup auditable.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agoDgit.pm: Improve message for control file parse failure
Ian Jackson [Mon, 1 Oct 2018 14:30:20 +0000 (15:30 +0100)]
Dgit.pm: Improve message for control file parse failure

Use fail rather than die.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agoDgit.pm: Improve symlink failure message
Ian Jackson [Mon, 1 Oct 2018 14:27:56 +0000 (15:27 +0100)]
Dgit.pm: Improve symlink failure message

Use fail rather than die, and print a newline.  This is used sometimes
to link origs etc.  Hopefully if this fails the user will know why.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agoDgit.pm: Replace many die calls with confess
Ian Jackson [Mon, 1 Oct 2018 14:24:18 +0000 (15:24 +0100)]
Dgit.pm: Replace many die calls with confess

As a rule of thumb, anything where we would end up printing the line
number in Dgit.pm is wrong.  Most of these are internal errors or
unexpected syscall failures.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agoi18n: Dgit.pm: mark some of messages (1)
Ian Jackson [Mon, 1 Oct 2018 14:19:19 +0000 (15:19 +0100)]
i18n: Dgit.pm: mark some of messages (1)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agoDgit.pm: Improve getcwd failure message
Ian Jackson [Mon, 1 Oct 2018 14:18:31 +0000 (15:18 +0100)]
Dgit.pm: Improve getcwd failure message

Don't print the pointless line number in Dgit.pm.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
5 years agoi18n: dgit: mark final batch of messages (11)
Ian Jackson [Mon, 1 Oct 2018 13:57:20 +0000 (14:57 +0100)]
i18n: dgit: mark final batch of messages (11)

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