static PyObject* Pakfire_install(PakfireObject* self, PyObject* args, PyObject* kwargs) {
char* kwlist[] = {
"packages",
- "include_recommended",
+ "without_recommended",
NULL
};
char** packages = NULL;
- int include_recommended = 1;
- int flags = 0;
+ int without_recommended = 0;
+ int solver_flags = 0;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&|$p", kwlist,
- convert_packages, &packages, &include_recommended))
+ convert_packages, &packages, &without_recommended))
return NULL;
- // XXX include_recommended
+ // Do not install recommended packages
+ if (without_recommended)
+ solver_flags |= PAKFIRE_REQUEST_WITHOUT_RECOMMENDED;
// Run pakfire_install
- int r = pakfire_install(self->pakfire, 0, (const char**)packages, NULL, flags, NULL);
+ int r = pakfire_install(self->pakfire, solver_flags, (const char**)packages, NULL, 0, NULL);
if (r)
PyErr_SetFromErrno(PyExc_OSError);
#include <pakfire/types.h>
enum pakfire_request_flags {
+ PAKFIRE_REQUEST_WITHOUT_RECOMMENDED = 1 << 0,
+};
+
+enum pakfire_request_job_flags {
PAKFIRE_REQUEST_KEEP_DEPS = 1 << 0,
PAKFIRE_REQUEST_KEEP_ORPHANED = 1 << 1,
};
enum _pakfire_solver_flags {
PAKFIRE_SOLVER_ALLOW_UNINSTALL = 1 << 0,
PAKFIRE_SOLVER_FORCE_BEST = 1 << 1,
- PAKFIRE_SOLVER_WITHOUT_RECOMMENDS = 1 << 2,
PAKFIRE_SOLVER_ALLOW_DOWNGRADE = 1 << 3,
PAKFIRE_SOLVER_ALLOW_VENDORCHANGE = 1 << 4,
};
if (flags & PAKFIRE_SOLVER_ALLOW_VENDORCHANGE)
solver_set_flag(request->solver, SOLVER_FLAG_ALLOW_VENDORCHANGE, 1);
- if (flags & PAKFIRE_SOLVER_WITHOUT_RECOMMENDS)
+ // Do not install any recommended packages
+ if (flags & PAKFIRE_REQUEST_WITHOUT_RECOMMENDED)
solver_set_flag(request->solver, SOLVER_FLAG_IGNORE_RECOMMENDED, 1);
// Add multiinstall packages
help=_("Install one or more packages to the system"))
install.add_argument("package", nargs="+",
help=_("Give name of at least one package to install"))
- install.add_argument("--without-recommends", action="store_true",
+ install.add_argument("--without-recommended", action="store_true",
help=_("Don't install recommended packages"))
install.set_defaults(func=self.handle_install)
def handle_install(self, ns):
p = self.pakfire(ns)
- p.install(ns.package, include_recommended=not ns.without_recommends)
+ p.install(ns.package, without_recommended=not ns.without_recommended)
def handle_reinstall(self, ns):
with self.pakfire(ns) as p: