summaryrefslogtreecommitdiff
path: root/dgit
Commit message (Collapse)AuthorAge
* dgit: Abolish url_get in favour of url_fetchIan Jackson2019-07-23
| | | | | | This removes use of LWP from dgit. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Use libcurl, not @curl, for git checkIan Jackson2019-07-23
| | | | | | | | | | 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>
* dgit: url_fetch: Honour new CurlOptsIan Jackson2019-07-23
| | | | | | No functional change with the existing callers. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: url_fetch: Honour new AccessBaseIan Jackson2019-07-23
| | | | | | No functional change with the existing callers. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Reorganise url_fetchIan Jackson2019-07-23
| | | | | | | | | 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>
* dgit: libcurl usage: Install SIGPIPE handler ourselvIan Jackson2019-07-23
| | | | | | | | | | 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>
* dgit: Set $SIG{INT} to DEFAULTIan Jackson2019-07-23
| | | | | | | | | | | | | | 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>
* dgit: archive_api_query_curl: Add a bit of debugIan Jackson2019-07-23
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Use WWW::Curl rather than invoking curl(1) for archive apiIan Jackson2019-07-23
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Drop support for old attempts at cert/key pinningIan Jackson2019-07-23
| | | | | | | | | | | 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>
* dgit: Provide --for-push optionIan Jackson2019-07-23
| | | | | | | 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>
* dgit: Make cmd_archive_api_query call api_query_rawIan Jackson2019-07-23
| | | | | | | | | | | | 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>
* dgit: Move $data check into api_queryIan Jackson2019-07-23
| | | | | | | 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>
* dgit: Break out api_query_rawIan Jackson2019-07-23
| | | | | | In support of #932570. No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit clone: No longer create an "origin" remoteIan Jackson2019-07-22
| | | | | | | | | | | | | | | | | | | | | 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>
* copyright: credit Genome Research LimitedMatthew Vernon2019-07-21
| | | | | | | | | 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
* Dgit.pm: Abolish now-unused $t_local_git_cfg playtree_setup argIan Jackson2019-07-21
| | | | | | | | | | | 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>
* Dgit.pm: Provide @gitIan Jackson2019-07-21
| | | | | | | | | 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>
* Update copyright notices in many filesIan Jackson2019-07-20
| | | | | | Mostly, adding 2019. Also adding some missing credits to Sean Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: read-only access to the Ubuntu Cloud Archive (Closes: #932322)Matthew Vernon2019-07-20
| | | | | | | | | | | | | 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>
* dgit: move suite name check to after suite rmapMatthew Vernon2019-07-19
| | | | | | | | | | 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>
* dgit: Do not translate tag subject linesIan Jackson2019-07-06
| | | | | | | These are parsed by dgit-repos-server. Translating them breaks things. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Include dgit tag metadata in maintainer view tag tooIan Jackson2019-07-06
| | | | | | | This is for the use of git-debpush and other tools which want to figure out the quilt mode from the git history. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: tags: Add missing blank lines to messagesIan Jackson2019-07-06
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Move tag metadata calculation earlierIan Jackson2019-07-06
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Allow -p with various push modesIan Jackson2019-07-06
| | | | | | This checks the supplied package name against the changelog. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: Move $suite_re from dgitIan Jackson2019-07-06
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Include quilt mode in archive/ tag in split viewIan Jackson2019-07-05
| | | | | | | | | | | | | | | | | | | | | | | | After this, a program examining this tag can see one of the following possibilities: "split --quilt=<splitting>" splitting quilt view, `3.0 (quilt)' "split --quilt=<nonsplitting>" `3.0 (quilt)', mostly-dgit-compatible branch, but split view (bureaucracy commits not on maintainer branch) "no-split --quilt=<nonsplitting>" `3.0 (quilt)', maintainer uses dgit branch "split" / "no-split" non-`3.0 (quilt)' No "split" or "no-split" generated by old versions of dgit, quilt transformation information not captured in machine-readable form Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: rpush protocol version 6: Include splitbrain paramIan Jackson2019-07-05
| | | | | | | | And, in the push responder, check that we agree. No overall functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: rpush protocol: Actually select version 5 !Ian Jackson2019-07-05
| | | | | | | | | These must be most-preferred first, ie in reverse order. Change the comment, to mention this. The information about protocol changes is in the detailed protocol description. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: determine_whether_split_brain: Make it take $formatIan Jackson2019-07-05
| | | | | | | Rather than returning it. Adjust the two call sites. No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: rpush: Move push_parse_dsc earlierIan Jackson2019-07-05
| | | | | | | | We are going to want this information sooner. No overall functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: push_mktags: Provide $formatIan Jackson2019-07-05
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Break out format_quiltmode_splittingIan Jackson2019-07-05
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: push_mktags: Refactor introducing @dtxinfoIan Jackson2019-07-05
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: push_mktags: Rename variable $dtxinfoIan Jackson2019-07-05
| | | | | | No functional change Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: baredebian: Honour baredebian+git alias for baredebianIan Jackson2019-06-30
| | | | | | | We convert this to `baredebian' internally, and that is what will appear in messages. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Do not translate import commit messagesIan Jackson2019-06-30
| | | | | | Translating these was a mistake. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: New quilt mode "baredebian+tarball"Ian Jackson2019-06-30
| | | | | | No documentation yet. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: return $r1authline from import_tarball_commitsIan Jackson2019-06-30
| | | | | | No functional change for existing caller, which just discards it. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: import_tarball_tartrees: Provide OrigPartIan Jackson2019-06-30
| | | | | | No functional change for existing caller. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: import_tarball_tartrees: Handle @dfi==1 case in callerIan Jackson2019-06-30
| | | | | | | | We are going to introduce a caller which doesn't want this check. No overall functional change other than to debugging output. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: import_tarball_tartrees: Honour Path in dfisIan Jackson2019-06-30
| | | | | | | | | | | | | These do not appear in information collected from a .dsc; in that case, the files are arranged to be in the playground where they can be simply picked up. But we are going to want to direct import_tarball_tartrees to tarballs found elsewhere. No functional change with the current sources of dfi information. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Break out import_tarball_commitsIan Jackson2019-06-30
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Break out import_tarball_tartreesIan Jackson2019-06-30
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Break out $quilt_options_reIan Jackson2019-06-30
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: baredebian: Reject --clean=gitIan Jackson2019-06-29
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: baredebian: Note upstream commitish source in proseIan Jackson2019-06-29
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: baredebian: Provide $quilt_upstream_commitish_messageIan Jackson2019-06-29
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: baredebian: Note upstream version and commitish sourceIan Jackson2019-06-29
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>