Age | Commit message (Collapse) | Author |
|
Its future in Python upstream sees uncertain.
|
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
Not escaping a $ would make perl interpolate it at config parsing time.
Fixes: 8ea45852d692 ("sbuild: make environment passing work")
|
|
Fixes: c03690f53941 ("implement basic debspawn backend")
|
|
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
|
|
|
|
|
|
Fixes: 29859ef384a5 ("support a new field "parallel"")
|
|
Avoid pylint complaining and we don't need the CompletedProcess object.
|
|
Fixes: 65431c5ef882 ("pbuilder: support running lintian")
|
|
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.
|
|
|
|
Fixes: 29859ef384a5 ("support a new field "parallel"")
|
|
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.
|
|
|
|
|
|
|
|
|
|
Bluntly copied from pbuilder as it does not seem to cause any problems
there.
|
|
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.
|
|
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.
|
|
|
|
Fixes: a5d4cfd4b996 ("mmdebstrap: don't keep downloaded .deb files")
|
|
Since we delete the chroot anyway, there is no need to keep the .debs
for the build.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
In particular, allow DEB_BUILD_OPTIONS=nolang=objc,obj-c++ as this is
used by gcc-N.
|
|
It is basically the parallel field from DEB_BUILD_OPTION which a special
value "auto" that is converted to the CPU count.
|
|
Fixes: bf30d5dd0350 ("schema: generally set additionalProperties to false")
|
|
Using a pipe enables streaming of logs, which would not be possible with
a regular file output.
|
|
That way the backends abort upon seeing unrecognized properties.
|
|
|
|
Neither pbuilder nor mmdebstrap produce a separate log file (beyond the
output on the standard streams). Disabling the extra file improves
consistency.
|
|
Neither sbuild nor mmdebstrap produce a source changes file by default.
Skipping it for pbuilder improves consistency.
|
|
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>
|
|
|
|
|
|
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.
|
|
|
|
|
|
Proof-of-concept status. Some things work.
|