summaryrefslogtreecommitdiff
path: root/mdbp
AgeCommit message (Collapse)Author
2024-03-28mdbp-ssh: prevent shell expansion of forwarded argumentsHEADmasterHelmut Grohne
ssh runs the command through a shell, so we better quote stuff.
2023-12-14sbuild: run prebuild hooks with network enabledHelmut Grohne
2023-12-11ssh: select non-interactive IPQoSHelmut Grohne
Due to the piping, ssh thinks this is interactive and defaults to lowdelay.
2023-04-08mdbp-ssh: add option --proxyrepos to forward repositoriesHelmut Grohne
Given this option, http repositories will be forwarded using a ssh port forward and rewritten such they work on the remote side forwarding their traffic through ssh.
2023-04-08mdbp-sbuild: fix extrarepositoriesHelmut Grohne
2023-02-21mdbp-mmdebstrap: handle missing useraddHelmut Grohne
Now that useradd isn't pulled by apt anymore, it's no longer available inside the chroot. Use the outer one instead.
2022-09-21add support for hooksHelmut Grohne
except for debspawn
2022-09-21sbuild: generalize addition of hook commandsHelmut Grohne
2022-09-21pbuilder: generalize hook support codeHelmut Grohne
2022-09-21mmdebstrap: fix last mypy errorHelmut Grohne
mypy was failing to infer the type of the dict object and considered it values Any.
2022-09-21mmdebstrap: simplify interface of hook_mainHelmut Grohne
2022-06-23common: rephrase optional import to make mypy --strict happyHelmut Grohne
2022-06-23mmdebstrap: don't show a traceback for build failuresHelmut Grohne
2022-06-23mmdebstrap: add type hints to set_uidsHelmut Grohne
2022-06-23ssh: use tarfile as a context managerHelmut Grohne
2022-06-23mmdebstrap: use Popen as a context managerHelmut Grohne
2022-06-23ssh: use Popen as a context managerHelmut Grohne
2022-06-23streamapi: use Popen as a context managerHelmut Grohne
2022-04-20mmdebstrap: do not use pwd moduleHelmut Grohne
The pwd module started caching /etc/passwd and fails to notice the user created using useradd.
2021-07-10pbuilder: fail when apt-get update failsHelmut Grohne
2021-07-10stop using from __future__ import annotationsHelmut Grohne
Its future in Python upstream sees uncertain.
2021-07-10pbuilder: uninline a function for locating the base.tgzHelmut Grohne
2021-07-08uninline helper function temporary_static_fileHelmut Grohne
2021-07-06pbuilder: rewrite cmd.extend sequence as listHelmut Grohne
2021-07-06pbuilder: implement support for build_pathHelmut Grohne
2021-07-06pbuilder: use an ExitStackHelmut Grohne
Doing so bears three advantages: * Adding more context managers - especially conditional ones - becomes easier. * Context managers can be delayed until the point where they're actually needed without adding to indentation. * We get rid of two local variables. Less state in your head.
2021-07-06mmdebstrap and sbuild shall agree on what build_path meansHelmut Grohne
While mmdebstrap would extract the package precisely to the build_path, sbuild would create a subdirectory <source>-<upstream_version> inside the build_path. Changing sbuild to do the mmdebstrap behaviour looks next to impossible, so this commit changes mmdebstrap to behave like sbuild. pbuilder also allows changing the build_path in principle. The documented BUILDDIR variable works quite similar to the sbuild option --build-path. pbuilder also allows changing the sub directory using the undocumented BUILDSUBDIR variable. That's another reason to do it like sbuild.
2021-07-01sbuild: fix quoting of config stringsHelmut Grohne
Not escaping a $ would make perl interpolate it at config parsing time. Fixes: 8ea45852d692 ("sbuild: make environment passing work")
2021-07-01drop unnecessary execution bit from mdbp/debspawn.pyHelmut Grohne
Fixes: c03690f53941 ("implement basic debspawn backend")
2021-06-24rename a number of fields to become similar to debusineHelmut Grohne
debusine describes a PackageBuildTask in docs/devel/ontology.rst. Changes performed herein: * dscpath -> source_package_path * dscuri -> source_package_url * buildarch -> build_architecture * hostarch -> host_architecture * options -> build_options * profiles -> build_profiles * buildpath -> build_path
2021-06-15implement basic debspawn backendHelmut Grohne
2021-06-15allow passing custom options to pbuilder and sbuildHelmut Grohne
2021-05-27correctly handle integer values for .parallelHelmut Grohne
Fixes: 29859ef384a5 ("support a new field "parallel"")
2021-05-27prefer subprocess.call over subprocess.runHelmut Grohne
Avoid pylint complaining and we don't need the CompletedProcess object.
2021-05-27pbuilder: allow missing .lintian in jsonHelmut Grohne
Fixes: 65431c5ef882 ("pbuilder: support running lintian")
2021-05-27add new field .output.artifacts to schemaHelmut Grohne
Using the field you can specify an ORed set of positive glob-style patterns for artifacts to retain in the .output.directory. It defaults to including all artifacts.
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.