summaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAge
* Import: Use absurd `git apply' emulation if gbp pq import failsIan Jackson2016-10-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gbp import can fail due to git apply not understanding patches. This is #841867 (against dgit). The underlying problem is #841866 (in gbp pq) which exposes things like #841865 and #829067 (in git). I imagine there are other lurking incompatibilities between git-apply and dpkg-source. We could in principle reimplement the gbp patch metadata extraction. But that would be quite tiresome and have its own compatibility problems. The real problem is just `git apply'. (Indeed gbp already tries git apply without, and then with, a whitespace fix option.) We work around the trouble by providing our own implementation of `git apply'. Specifically: We try to do things the sane way (just running gbp pq import) first. If that works, great. If it doesn't, we put /usr/share/dgit/absurd on the PATH. That contains only a sh script called `git'. This sh script figures out whether the caller is trying to invoke `git apply'. If not, it runs the real git. If the caller wanted git-apply, the absurd git script emulates it using dpkg-source --before-build. Conveniently, we know that the series file will not be touched by patches. So we can write just the patch we care about into the series file, and run --before-build, which applies just that one patch. The results are committed (minus the .pc), and for the next patch, dpkg-source sees again a tree with simply a single patch to apply. We try ordinary gbp pq first because our absurd approach is very slow on a big tree. Also we would like to maximise our chances of the import working. If git and/or gbp ever work better by themselves, all of this craziness will simply not happen. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Build system substitutions, for absurditiesIan Jackson2016-10-24
| | | | | | | | | | * Introduce absurddir, which is where the absurdities will go * Substitute the absurddir into the dgit script during make all * Install the substituted scripts rather than the originals in make install * Provide a default in dgit, based on $0 * Clean the substitutions up in make clean Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Manpage: add dgit-maint-merge.7.podSean Whitton2016-10-20
| | | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name> Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Makefile: build and clean prospective *.7.podSean Whitton2016-10-20
| | | | | | | | | Build the pod section 7 manpages in "make all"; and install them, There aren't any yet, so this does nothing. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name> Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Infra: dgit-infrastructure has, and uses, its own copies of the perl modulesIan Jackson2016-10-15
| | | | | | | | This avoids introducing a versioned dependency between dgit and dgit-infrastructure (and also makes it easier to test cross-version compatibility). Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Copyright: Add notices to some more of the (larger) filesIan Jackson2016-10-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* README.dsc-import: Ship to /usr/share/docIan Jackson2016-10-10
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Mirroring: Provide rsync-based mirror hook scriptIan Jackson2015-07-11
|
* Fix the rules clean target to remove test results and output.Ian Jackson2015-07-05
|
* Manpages: Break out dgit(7) from dgit(1).Ian Jackson2015-07-04
|
* Infra: Add get-suitesIan Jackson2015-06-28
|
* Infra: Add drs-cron-wrapIan Jackson2015-06-28
|
* Packaging: package the dgit-repos-* scriptsIan Jackson2015-06-22
|
* Packaging: package the perl modules (!)Ian Jackson2015-06-22
|
* Update copyright datesIan Jackson2015-06-20
|
* New dgit-infrastructure binary package containing dgit-repos-server et al. ↵Ian Jackson2014-11-09
| | | | Client users probably don't want this stuff. Also, it provides a convenient way to publish the dependencies.
* ship dgit-repos-serverIan Jackson2014-08-13
|
* install manpageIan Jackson2013-08-16
|
* make it experimentalIan Jackson2013-08-15