}
static PyObject* Pakfire_build(PakfireObject* self, PyObject* args, PyObject* kwargs) {
- char* kwlist[] = {"path", "logging_callback", "interactive", NULL};
+ char* kwlist[] = { "path", "build_id", "logging_callback", "interactive", NULL };
const char* path = NULL;
+ const char* build_id = NULL;
PyObject* logging_callback = NULL;
int interactive = 0;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|Op", kwlist, &path,
- &logging_callback, &interactive))
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|zOp", kwlist, &path,
+ &build_id, &logging_callback, &interactive))
return NULL;
int flags = 0;
Pakfire_execute_logging_callback = logging_callback;
// Run build
- int r = pakfire_build(self->pakfire, path, NULL, NULL, flags,
+ int r = pakfire_build(self->pakfire, path, NULL, build_id, flags,
(logging_callback) ? __Pakfire_execute_logging_callback : NULL, NULL);
return execute_return_value(r);
import os.path
import sys
import systemd.journal
+import uuid
import pakfire
import pakfire.logger
build.add_argument("package", nargs=1,
help=_("Give name of at least one package to build"))
build.set_defaults(func=self._build)
-
+ build.add_argument("--id", type=uuid.UUID, dest="build_id",
+ help=_("Build ID"))
build.add_argument("--resultdir", nargs="?",
help=_("Path were the output files should be copied to"))
build.add_argument("-m", "--mode", nargs="?", default="development",
# Initialise a builder instance and build this package
p = self.pakfire(ns)
- p.build(package)
+ p.build(
+ package,
+ build_id="%s" % ns.build_id,
+ )
def _dist(self, ns):
# Get the packages from the command line options