Date post: | 26-Jun-2015 |
Category: |
Technology |
Upload: | andre-guerreiro |
View: | 297 times |
Download: | 2 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
Structure of the talk
1. About me2. Linux packaging landscape3. Gumby – the project4. Technical design, features and shortcomings5. Demo6. Conclusions
Energia Open Source
Gumby: Package dependency Vizualization for Linux 3
About me
André Guerreiro● Portugal, 25 yrs old● Linux user and advocate for 6/7 years● Caixa Mágica developer and researcher● Maintainer of CM packaging tools for last two releases● MANCOOSI project involvement
Energia Open Source
Gumby: Package dependency Vizualization for Linux 4
Caixa Mágica (shameless plug)
● 10 Year History, based in Portugal● Desktop focus● Linux Deployment Projects on big educational projects● Big news (not so fresh by now): we're switching to a Debian
base● Caixa Mágica Software – the company
Energia Open Source
Gumby: Package dependency Vizualization for Linux 5
Linux Packaging (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 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 GUI Application
● Distribution-agnostic as much as possible
● Some kind of 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 a specific version of a package● Better support for Debian-style dependencies:
suggests/recommends, disjunctive deps (Pkg A requires B | C)● Improve the visual representation (transitions, collapse nodes)
A possible long term vision for gumby would be to integrate the visualization in a graphical installation tool
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?