PackUP(1) PACKage Upgradability Problem solver


packup [OPTIONS] input_file_name [output_file_name]


packup is a solver for the package upgradability problem specified in CUDF [TZ09]. It repeatedly invokes an optimization pseudo-Boolean solver in order to solve the problem. By default minisat+ [ES06] is used for that purpose but a different solver can be used by specifying the pertaining command line option.

If input_file_name is '-', input is read from the standard input. If the output_file_name is omitted, output is produced to the standard output.


Use trendy criterion
Use paranoid criterion
-u cs
Use user criterion cs. A criterion is a lexicographic combination of the utility functions removed, notuptodate, unmet_recommends, new, and changed. Each of them with a polarity ("+" for a function to maximize, "-" for a function to minimize). The functions are listed in decreasing order of priority, and separated by the symbol ",". For instance, the paranoid criterion could be written as -removed,-changed. For more details see:

command for the external solver default 'minisat+ -ansi'
string between coefficients and variables when communicating to the solver, default '*'
--temporary-directory DIR
directory where temporary files are created. If this option is not given then the value of $TMPDIR is used if defined, otherwise temporary files are placed in '/tmp'.
do not delete temporary files


Written by Mikolas Janota and Joao Marques Silva


Please report any problems with the solver to [email protected]


[ES06] Niklas Een and Niklas Sorensson. Translating Pseudo-Boolean Constraints into SAT. SAT, 2006

[TZ09] Ralf Treinen and Stefano Zacchiroli. Common upgradeability description format (CUDF) 2.0.
       Technical Report 003, MANCOOSI, November 200


(C) 2011 Mikolas Janota

This file is part of packup.

packup 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.

packup 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 packup. If not, see <>.