summaryrefslogtreecommitdiff
path: root/mdbp/mmdebstrap.py
AgeCommit message (Collapse)Author
2022-06-23mmdebstrap: add type hints to set_uidsHelmut Grohne
2022-06-23mmdebstrap: 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-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-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-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-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-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-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-26mmdebstrap: move the default mirror into argparseHelmut Grohne
2021-04-22fix build/host confusion in mmdebstrap backendHelmut Grohne
2021-04-22forward exit codeHelmut Grohne
2021-04-18mmdebstrap: add support for lintianHelmut Grohne
2021-04-18initial checkin of mdbpHelmut Grohne
Proof-of-concept status. Some things work.