PACKUP(1)

πŸ’– PACKUP(1) β€” like, the packup manual but make it make sense πŸ’–

okay bestie, gather round πŸŽ€ this is the manual page for packup from the User Commands section, and I'm gonna walk you through it like we're texting at 2am. it's giving "solver girlie" energy and honestly? iconic. no cap.


✨ NAME ✨

PackUP β€” the PACKage Upgradability Problem solver. yes that's a backronym, yes it ate. πŸ’…


🌸 SYNOPSIS 🌸

packup [OPTIONS] input_file_name [output_file_name]

like. that's it. that's the whole vibe. options, then the input, and optionally an output. slay. ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so packup is literally a solver for the package upgradability problem as specified in CUDF [TZ09]. 🧚

the way it works is so main character: it repeatedly invokes an optimization pseudo-Boolean solver in order to solve the problem. like it just keeps calling it. obsessed. πŸ”₯

by default, minisat+ [ES06] is the one doing the work, but bestie, you can swap in a different solver by specifying the pertaining command line option. customizable queen. πŸ‘‘

quick little note on the I/O, because it matters:

  • if input_file_name is -, the input is read from the standard input. πŸ“₯
  • if output_file_name is omitted, the output is produced to the standard output. πŸ“€

πŸ’… OPTIONS πŸ’…

  • -t β€” use the trendy criterion. ✨
  • -p β€” use the paranoid criterion. 😳
  • -u cs β€” use the user criterion cs. a criterion is a lexicographic combination of the utility functions removed, notuptodate, unmet_recommends, new, and changed. each one of them gets 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: http://www.mancoosi.org/misc-live/20101126/criteria/ πŸ”
  • --external-solver β€” the command for the external solver. default is 'minisat+ -ansi'. πŸ› οΈ
  • --multiplication-string β€” the string that goes between coefficients and variables when communicating to the solver. default is '*'. βœ–οΈ
  • --temporary-directory DIR β€” the 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'. πŸ“
  • --leave-temporary-files β€” do not delete temporary files. πŸ’€ (chaotic. love that for you.)

🫢 AUTHOR 🫢

written by Mikolas Janota and Joao Marques Silva. legends, fr fr. πŸ‘‘


😭 REPORTING BUGS 😭

please report any problems with the solver to mikolas@sat.inesc-id.pt. be nice about it bestie, they're doing their best. πŸ’–


πŸ“š REFERENCES πŸ“š

[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 <http://www.gnu.org/licenses/>. πŸ”—


okay that's the whole page bestie, you're officially a packup scholar now. πŸŽ“βœ¨ this was the PACKUP(1) page from May 2011 (manual name PACKUP, section 1 of User Commands) β€” and that's the sign-off. mwah. πŸ’‹ periodt. 🫢