Using Preferences to Tame your Package Manager - Laboratoire Preuves, Programmes et Systèmes Accéder directement au contenu
Communication Dans Un Congrès Année : 2014

Using Preferences to Tame your Package Manager

Pietro Abate
  • Fonction : Auteur
  • PersonId : 962083
Roberto Di Cosmo
Louis Gesbert
  • Fonction : Auteur
  • PersonId : 762186
  • IdRef : 144152622
Stefano Zacchiroli

Résumé

Determining whether some components can be installed on a system is a complex problem: not only it is NP-complete in the worst case, but there can also be exponentially many solutions to it. Ordinary package managers use ad-hoc heuristics to solve this installation problem and choose a particular solution, making extremely difficult to change or sidestep these heuristics when the result is not the one we expect. When software repositories become complex enough, one gets vastly superior results by delegating dependency handling to a specialised solver, and use optimisation functions (or preferences) to control the class of solutions that are found. The opam package manager relies on the CUDF pivot format, which allows OCaml users that have a CUDF-compliant solver on their machine to reap the benefits of preferences-based dependency resolution. Thanks to the solver farm provided by Irill, these benefits are now extended to the OCaml community at large. In this talk we will present the preferences language and explain how to use it.
Fichier principal
Vignette du fichier
ocaml2014_17.pdf (181.99 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01091177 , version 1 (08-12-2014)

Identifiants

  • HAL Id : hal-01091177 , version 1

Citer

Pietro Abate, Roberto Di Cosmo, Louis Gesbert, Fabrice Le Fessant, Stefano Zacchiroli. Using Preferences to Tame your Package Manager. OCaml 2014, Sep 2014, Goteborg, Sweden. ⟨hal-01091177⟩
164 Consultations
149 Téléchargements

Partager

Gmail Facebook X LinkedIn More