summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-20common: simplify code using contextlib.suppressHelmut Grohne
2021-05-20schema: fix indentationHelmut Grohne
Fixes: 29859ef384a5 ("support a new field "parallel"")
2021-05-19ssh: improve handling of failed buildsHelmut Grohne
When the wrapped backend fails, streamapi does not produce an artifact tar on stdout. When this goes missing, we'll see a traceback. Hide that traceback and adapt the exit code if necessary.
2021-05-19sbuild: don't just apt upgrade, dist-upgrade insteadHelmut Grohne
2021-05-19pbuilder: support running lintianHelmut Grohne
2021-05-19pbuilder: always update and upgrade the chrootHelmut Grohne
2021-05-19sbuild: always update and upgrade the chrootHelmut Grohne
2021-05-18mmdebstrap: tell debconf not to generate its databaseHelmut Grohne
Bluntly copied from pbuilder as it does not seem to cause any problems there.
2021-05-18enable building a source package by name and versionHelmut Grohne
If a package is specified by name, it is downloaded inside the chroot using the embedded deb-src uris. sbuild implements this natively, pbuilder does not implement this yet, but there is #988419 and mmdebstrap can make it work.
2021-05-18mmdebstrap: reimplement build hook recursivelyHelmut Grohne
Instead of writing a complex shell script in a limited sub-language of shell, call out to ourselves and implement the build functionality in Python.
2021-05-17mmdebstrap: don't keep a lintian.deb eitherHelmut Grohne
2021-05-17mmdebstrap: fix logic error in parent commitHelmut Grohne
Fixes: a5d4cfd4b996 ("mmdebstrap: don't keep downloaded .deb files")
2021-05-16mmdebstrap: don't keep downloaded .deb filesHelmut Grohne
Since we delete the chroot anyway, there is no need to keep the .debs for the build.
2021-05-16mmdebstrap: reorder source unpack vs build-depHelmut Grohne
By doing the unpack before the satisfying build dependencies, we can point apt at the extracted source package and stop talking about the .dsc file. It also means that we can clean those artifacts earlier.
2021-05-16mmdebstrap: allow a PurePath for chdir in priv_dropHelmut Grohne
2021-05-12sbuild: make environment passing workHelmut Grohne
sbuild filters the environment and removes all but a set of whitelisted variables. Unfortunately, the filter is quite restrictive and filters e.g. "TARGET", which can be used to configure a binutils build. There is no good way to get around this environment filter from the command line. The one way that does work, is passing a SBUILD_CONFIG that contains the desired variables. Once we do have such a file, we can encode a number of other command line switches as well.
2021-05-11add ssh remote backend and streamapi wrapperHelmut Grohne
The ssh backend calls into another host and passes all information on stdin/stdout/stderr. To do so, it uses a streamapi wrapper on the remote side that itself calls into a regular backend.
2021-05-09mmdebstrap: install fakerootHelmut Grohne
When the package does not say "Rules-Requires-Root: no", we need a root command and dpkg-buildpackage defaults to fakeroot. Unfortunately, we cannot tell whether the packages requires fakeroot, because the stanza is not copied to the .dsc. Unconditionally install fakeroot then.
2021-05-09schema: allow more characters in DEB_BUILD_OPTIONSHelmut Grohne
In particular, allow DEB_BUILD_OPTIONS=nolang=objc,obj-c++ as this is used by gcc-N.
2021-05-09support a new field "parallel"Helmut Grohne
It is basically the parallel field from DEB_BUILD_OPTION which a special value "auto" that is converted to the CPU count.
2021-05-09schema: fix type of additionalPropertiesHelmut Grohne
Fixes: bf30d5dd0350 ("schema: generally set additionalProperties to false")
2021-05-09the stdout fd contains the build logHelmut Grohne
Using a pipe enables streaming of logs, which would not be possible with a regular file output.
2021-04-27schema: generally set additionalProperties to falseHelmut Grohne
That way the backends abort upon seeing unrecognized properties.
2021-04-26mmdebstrap: move the default mirror into argparseHelmut Grohne
2021-04-23sbuild: pass --nologHelmut Grohne
Neither pbuilder nor mmdebstrap produce a separate log file (beyond the output on the standard streams). Disabling the extra file improves consistency.
2021-04-23pbuilder: pass --no-source-only-changesHelmut Grohne
Neither sbuild nor mmdebstrap produce a source changes file by default. Skipping it for pbuilder improves consistency.
2021-04-23remove redundant values from schemaHelmut Grohne
The bd-uninstallable-explainer value null is equivalent to skipping the option and thus dropped. The network value "undefined" is equivalent to skipping the option and thus dropped. Reported-by: David Kalnischkies <donkult@debian.org>
2021-04-22fix build/host confusion in mmdebstrap backendHelmut Grohne
2021-04-22forward exit codeHelmut Grohne
2021-04-22fix relative path resolutionHelmut Grohne
For .input.dscpath, a relative path is supposed to be relative to the json file, but it was relative to cwd. For .output.directory, the matter was unspecified, but should actually work in the same way. Adapt implementation to documentation and fix the missing specification.
2021-04-18mmdebstrap: add support for lintianHelmut Grohne
2021-04-18sbuild: add support for lintian.optionsHelmut Grohne
2021-04-18initial checkin of mdbpHelmut Grohne
Proof-of-concept status. Some things work.