Date post: | 17-Dec-2014 |
Category: |
Technology |
Upload: | andre-guerreiro |
View: | 1,116 times |
Download: | 0 times |
Energia Open Source
Gumby: Package dependency Vizualization for Linux
1
Gumby - Package dependency visualization for Linux
André Guerreiro [email protected]
6th February 2011
Energia Open Source
Gumby: Package dependency Vizualization for Linux
2
Presentation Outline
1. About me2. Linux packaging landscape3. Gumby – the visualization tool4. Technical design and ideas for improvement5. Demo6. Conclusions
Energia Open Source
Gumby: Package dependency Vizualization for Linux
3
About me
● From Lisbon, Portugal● Linux user and advocate for 6/7 years● Caixa Mágica developer● MANCOOSI project involvement
Energia Open Source
Gumby: Package dependency Vizualization for Linux
4
Linux Packaging 101 (Levelling the playing field)
● A Linux distribution is a big component system (> 15000 packages)
● A Package consists of: Software + Meta-data + Configuration Scripts
● Meta-data example: firefox, version 3.6.2 (...)
Requires: xulrunner >= 1.9.2.11, libsqlite >= 3.7 ...
Provides: webclient
Conflicts: sqlite < 3.0
Energia Open Source
Gumby: Package dependency Vizualization for Linux
5
Why would we want to have package dependency visualization
Possible usecases
● The technically-inclined user who tries to install his favourite text editor and ends having 20+ apparently unrelated libraries blaming his distro for suffering of "bloat"
● Package Maintainers trying to assure repository consistency● Researchers investigating new dependency solvers
Energia Open Source
Gumby: Package dependency Vizualization for Linux
6
InfoViz in current tools
● Aptitude- Very limited visualization (ncurses interface for advanced users/ sysadmins)
● Debtree- The main usecase is to pipe the output into a Graphviz tool e.g.:
debtree firefox | dot -Tpng -Ofirefox-deps.png
Energia Open Source
Gumby: Package dependency Vizualization for Linux
7
Introducing Gumby
Initial goals
● Native Linux Application
● Integration with the system GUI package manager (Synaptic initially...)
● To Visualize and explore package dependencies in an interesting way
Energia Open Source
Gumby: Package dependency Vizualization for Linux
8
Technical Design
● Built on top of APT – quite popular meta-installer used in Debian, Ubuntu, Caixa Mágica.
● Graph Layout depends on Graphviz
Energia Open Source
Gumby: Package dependency Vizualization for Linux
9
Architecture diagram
Energia Open Source
Gumby: Package dependency Vizualization for Linux
10
Energia Open Source
Gumby: Package dependency Vizualization for Linux
11
Features
● Visualize all kinds of dependencies (requires, provides, conflicts, obsoletes)
● Progressive Exploration● Compact Mode● Zoom & pan● Different Layout schemes (powered by Graphviz)
Energia Open Source
Gumby: Package dependency Vizualization for Linux
12
Demo
Energia Open Source
Gumby: Package dependency Vizualization for Linux
13
Roadmap / TODO List
● Choosing and displaying a specific version of a package● Better support for Debian dependencies:
suggests/recommends, disjunctive deps (Pkg A requires B | C)● Improve the visual representation (transitions, collapse nodes)
Energia Open Source
Gumby: Package dependency Vizualization for Linux
14
Wrapping up
● This should be considered as a proposal for the Linux distro community to offer some attention to a neglected area
● Gumby is still a crude prototype but the first step is always the hardest...
● I'm open for suggestions and criticism
Energia Open Source
Gumby: Package dependency Vizualization for Linux
15
One final detail, where is the code?
● http://people.caixamagica.pt/aguerreiro/gumbyor
http://bit.ly/hzMKHF
● Git repository :http://gitorious.org/cairo-graphs/gumby
Energia Open Source
Gumby: Package dependency Vizualization for Linux
16
Thanks for your attention
Questions?