]> git.ipfire.org Git - pakfire.git/commitdiff
Drop old solver code
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 20 Jan 2018 14:20:29 +0000 (15:20 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 20 Jan 2018 14:20:29 +0000 (15:20 +0100)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/_pakfire/solver.c [deleted file]
src/_pakfire/solver.h [deleted file]

diff --git a/src/_pakfire/solver.c b/src/_pakfire/solver.c
deleted file mode 100644 (file)
index cf7761d..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-/*#############################################################################
-#                                                                             #
-# Pakfire - The IPFire package management system                              #
-# Copyright (C) 2011 Pakfire development team                                 #
-#                                                                             #
-# This program is free software: you can redistribute it and/or modify        #
-# it under the terms of the GNU General Public License as published by        #
-# the Free Software Foundation, either version 3 of the License, or           #
-# (at your option) any later version.                                         #
-#                                                                             #
-# This program is distributed in the hope that it will be useful,             #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
-# GNU General Public License for more details.                                #
-#                                                                             #
-# You should have received a copy of the GNU General Public License           #
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
-#                                                                             #
-#############################################################################*/
-
-#include "pool.h"
-#include "problem.h"
-#include "request.h"
-#include "solver.h"
-
-#include <solv/solverdebug.h>
-
-PyTypeObject SolverType = {
-       PyVarObject_HEAD_INIT(NULL, 0)
-       tp_name: "_pakfire.Solver",
-       tp_basicsize: sizeof(SolverObject),
-       tp_flags: Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
-       tp_new : Solver_new,
-       tp_dealloc: (destructor) Solver_dealloc,
-       tp_doc: "Sat Solver objects",
-};
-
-PyObject* Solver_new(PyTypeObject *type, PyObject *args, PyObject *kwds) {
-       SolverObject *self;
-
-       PoolObject *pool;
-
-       if (!PyArg_ParseTuple(args, "O", &pool)) {
-               /* XXX raise exception */
-       }
-
-       self = (SolverObject *)type->tp_alloc(type, 0);
-       if (self != NULL) {
-               self->_solver = solver_create(pool->_pool);
-               if (self->_solver == NULL) {
-                       Py_DECREF(self);
-                       return NULL;
-               }
-       }
-
-       /* enable splitprovides by default */
-       solver_set_flag(self->_solver, SOLVER_FLAG_SPLITPROVIDES, 1);
-
-       /* keep explicit obsoletes */
-       solver_set_flag(self->_solver, SOLVER_FLAG_KEEP_EXPLICIT_OBSOLETES, 1);
-
-       return (PyObject *)self;
-}
-
-PyObject *Solver_dealloc(SolverObject *self) {
-       solver_free(self->_solver);
-       Py_TYPE(self)->tp_free((PyObject *)self);
-
-       Py_RETURN_NONE;
-}
-
-PyObject *Solver_get_flag(SolverObject *self, PyObject *args) {
-       int flag = 0;
-
-       if (!PyArg_ParseTuple(args, "i", &flag)) {
-               return NULL;
-       }
-
-       int val = solver_get_flag(self->_solver, flag);
-       return Py_BuildValue("i", val);
-}
-
-PyObject *Solver_set_flag(SolverObject *self, PyObject *args) {
-       int flag = 0, val = 0;
-
-       if (!PyArg_ParseTuple(args, "ii", &flag, &val)) {
-               return NULL;
-       }
-
-       solver_set_flag(self->_solver, flag, val);
-       Py_RETURN_NONE;
-}
-
-PyObject *Solver_get_allow_downgrade(SolverObject *self, PyObject *args) {
-       int val = solver_get_flag(self->_solver, SOLVER_FLAG_ALLOW_DOWNGRADE);
-
-       return Py_BuildValue("i", val);
-}
-
-PyObject *Solver_set_allow_downgrade(SolverObject *self, PyObject *args) {
-       int val;
-
-       if (!PyArg_ParseTuple(args, "i", &val)) {
-               return NULL;
-       }
-
-       solver_set_flag(self->_solver, SOLVER_FLAG_ALLOW_DOWNGRADE, val);
-       Py_RETURN_NONE;
-}
-
-PyObject *Solver_get_allow_archchange(SolverObject *self, PyObject *args) {
-       int val = solver_get_flag(self->_solver, SOLVER_FLAG_ALLOW_ARCHCHANGE);
-
-       return Py_BuildValue("i", val);
-}
-
-PyObject *Solver_set_allow_archchange(SolverObject *self, PyObject *args) {
-       int val;
-
-       if (!PyArg_ParseTuple(args, "i", &val)) {
-               return NULL;
-       }
-
-       solver_set_flag(self->_solver, SOLVER_FLAG_ALLOW_ARCHCHANGE, val);
-       Py_RETURN_NONE;
-}
-
-PyObject *Solver_get_allow_vendorchange(SolverObject *self, PyObject *args) {
-       int val = solver_get_flag(self->_solver, SOLVER_FLAG_ALLOW_VENDORCHANGE);
-
-       return Py_BuildValue("i", val);
-}
-
-PyObject *Solver_set_allow_vendorchange(SolverObject *self, PyObject *args) {
-       int val;
-
-       if (!PyArg_ParseTuple(args, "i", &val)) {
-               return NULL;
-       }
-
-       solver_set_flag(self->_solver, SOLVER_FLAG_ALLOW_VENDORCHANGE, val);
-       Py_RETURN_NONE;
-}
-
-PyObject *Solver_get_allow_uninstall(SolverObject *self, PyObject *args) {
-       int val = solver_get_flag(self->_solver, SOLVER_FLAG_ALLOW_UNINSTALL);
-
-       return Py_BuildValue("i", val);
-}
-
-PyObject *Solver_set_allow_uninstall(SolverObject *self, PyObject *args) {
-       int val;
-
-       if (!PyArg_ParseTuple(args, "i", &val)) {
-               return NULL;
-       }
-
-       solver_set_flag(self->_solver, SOLVER_FLAG_ALLOW_UNINSTALL, val);
-       Py_RETURN_NONE;
-}
-
-PyObject *Solver_get_updatesystem(SolverObject *self, PyObject *args) {
-       //return Py_BuildValue("i", self->_solver->updatesystem);
-       Py_RETURN_NONE;
-}
-
-PyObject *Solver_set_updatesystem(SolverObject *self, PyObject *args) {
-       /*int val;
-
-       if (!PyArg_ParseTuple(args, "i", &val)) {
-               return NULL;
-       }
-
-       self->_solver->updatesystem = val; */
-
-       Py_RETURN_NONE;
-}
-
-PyObject *Solver_get_do_split_provides(SolverObject *self, PyObject *args) {
-       int val = solver_get_flag(self->_solver, SOLVER_FLAG_SPLITPROVIDES);
-
-       return Py_BuildValue("i", val);
-}
-
-PyObject *Solver_set_do_split_provides(SolverObject *self, PyObject *args) {
-       int val;
-
-       if (!PyArg_ParseTuple(args, "i", &val)) {
-               return NULL;
-       }
-
-       solver_set_flag(self->_solver, SOLVER_FLAG_SPLITPROVIDES, val);
-       Py_RETURN_NONE;
-}
-
-PyObject *Solver_solve(SolverObject *self, PyObject *args) {
-       RequestObject *request;
-       int force_best = 0;
-       int res = 0;
-
-       if (!PyArg_ParseTuple(args, "O|i", &request, &force_best)) {
-               return NULL;
-       }
-
-#if 0 
-       // Make sure, the pool is prepared.
-       _Pool_prepare(self->_solver->pool);
-#endif
-
-       /* Force best solution. */
-       if (force_best) {
-               for (int i = 0; i < request->_queue.count; i += 2)
-                       request->_queue.elements[i] |= SOLVER_FORCEBEST;
-       }
-
-       res = solver_solve(self->_solver, &request->_queue);
-
-#ifdef DEBUG
-       solver_printallsolutions(self->_solver);
-#endif
-
-       if (res == 0) {
-               Py_RETURN_TRUE;
-       }
-       Py_RETURN_FALSE;
-}
-
-PyObject *Solver_get_problems(SolverObject *self, PyObject *args) {
-       RequestObject *request;
-
-       if (!PyArg_ParseTuple(args, "O", &request)) {
-               return NULL;
-       }
-
-       PyObject *list = PyList_New(0);
-
-       ProblemObject *problem;
-       Id p = 0;
-       while ((p = solver_next_problem(self->_solver, p)) != 0) {
-               problem = PyObject_New(ProblemObject, &ProblemType);
-
-               problem->_pool = self->_solver->pool;
-               problem->_solver = self->_solver;
-               problem->_id = p;
-               Problem_init(problem);
-
-               PyList_Append(list, (PyObject *)problem);
-       }
-
-       return list;
-}
diff --git a/src/_pakfire/solver.h b/src/_pakfire/solver.h
deleted file mode 100644 (file)
index 63003af..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*#############################################################################
-#                                                                             #
-# Pakfire - The IPFire package management system                              #
-# Copyright (C) 2011 Pakfire development team                                 #
-#                                                                             #
-# This program is free software: you can redistribute it and/or modify        #
-# it under the terms of the GNU General Public License as published by        #
-# the Free Software Foundation, either version 3 of the License, or           #
-# (at your option) any later version.                                         #
-#                                                                             #
-# This program is distributed in the hope that it will be useful,             #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
-# GNU General Public License for more details.                                #
-#                                                                             #
-# You should have received a copy of the GNU General Public License           #
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
-#                                                                             #
-#############################################################################*/
-
-#ifndef PYTHON_PAKFIRE_SOLVER_H
-#define PYTHON_PAKFIRE_SOLVER_H
-
-#include <Python.h>
-
-#include <solv/solver.h>
-
-// Sat Solver object
-typedef struct {
-    PyObject_HEAD
-    Solver *_solver;
-} SolverObject;
-
-extern PyObject* Solver_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
-extern PyObject *Solver_dealloc(SolverObject *self);
-
-extern PyObject *Solver_get_flag(SolverObject *self, PyObject *args);
-extern PyObject *Solver_set_flag(SolverObject *self, PyObject *args);
-
-extern PyObject *Solver_get_allow_downgrade(SolverObject *self, PyObject *args);
-extern PyObject *Solver_set_allow_downgrade(SolverObject *self, PyObject *args);
-extern PyObject *Solver_get_allow_archchange(SolverObject *self, PyObject *args);
-extern PyObject *Solver_set_allow_archchange(SolverObject *self, PyObject *args);
-extern PyObject *Solver_get_allow_vendorchange(SolverObject *self, PyObject *args);
-extern PyObject *Solver_set_allow_vendorchange(SolverObject *self, PyObject *args);
-extern PyObject *Solver_get_allow_uninstall(SolverObject *self, PyObject *args);
-extern PyObject *Solver_set_allow_uninstall(SolverObject *self, PyObject *args);
-extern PyObject *Solver_get_updatesystem(SolverObject *self, PyObject *args);
-extern PyObject *Solver_set_updatesystem(SolverObject *self, PyObject *args);
-extern PyObject *Solver_get_do_split_provides(SolverObject *self, PyObject *args);
-extern PyObject *Solver_set_do_split_provides(SolverObject *self, PyObject *args);
-
-extern PyObject *Solver_solve(SolverObject *self, PyObject *args);
-extern PyObject *Solver_get_problems(SolverObject *self, PyObject *args);
-
-extern PyTypeObject SolverType;
-
-#endif /* PYTHON_PAKFIRE_SOLVER_H */