Package manager for C++
Package manager pre C++
diploma thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/193877Identifiers
Study Information System: 260271
Collections
- Kvalifikační práce [11239]
Author
Advisor
Referee
Klepl, Jiří
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Computer Science - Software Systems
Department
Department of Software Engineering
Date of defense
11. 9. 2024
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Very good
Keywords (Czech)
package manager|C++Keywords (English)
package manager|C++V C++ aktuálne chýba štandardný package manager. Zatiaľ čo existujú dva projekty, ktoré súperia o prevahu, najpopulárnejším spôsobom spravovania balíčkov ostáva ma- nuálne spravovanie. Hoci nejaký posun smerom k jednotnému riešeniu nastal, väčšina projektov s cieľom vyriešiť tento problém mala za následok roztrieštenie ekosystému. Ako reakciu na daný problém sme vytvorili package meta-manager, ktorý stavia na doteraj- šom pokroku a vyhýba sa ďalšej fragmentácii. Projekt zjednocuje tie najlepšie schopnosti viacerých managerov pomocou ich integrácie do jedného rozhrania. Časť projektu, ktorá sa zaoberá riešením závislostí, sme zadefinovali aj ako formálny model. Taktiež pre presk- úmanie možností úplného riešenia závislostí zapájame v projekte SAT solving.
C++ currently lacks a standard package manager. While two projects competing for dominance exist, the most popular dependency management method is still to manage the packages manually. Although some progress has been made towards establishing a shared solution, most of the projects aimed at resolving the issue have resulted in ecosystem fragmentation. To address this issue, we developed a package meta-manager to expand on the progress while avoiding extra fragmentation. The project unifies the best features of multiple managers by integrating them under one interface. We define the subset of the project dealing with dependency resolution as a formal model. We also employ a full SAT solver to explore a solution for complete dependency resolution.