Gumby: Package Dependency Visualization for Linux
-
Upload
andre-guerreiro -
Category
Technology
-
view
1.112 -
download
0
description
Transcript of Gumby: Package Dependency Visualization for Linux
![Page 1: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/1.jpg)
Energia Open Source
Gumby: Package dependency Vizualization for Linux
1
Gumby - Package dependency visualization for Linux
André Guerreiro [email protected]
6th February 2011
![Page 2: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/2.jpg)
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
![Page 3: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/3.jpg)
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
![Page 4: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/4.jpg)
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
![Page 5: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/5.jpg)
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
![Page 6: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/6.jpg)
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
![Page 7: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/7.jpg)
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
![Page 8: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/8.jpg)
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
![Page 9: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/9.jpg)
Energia Open Source
Gumby: Package dependency Vizualization for Linux
9
Architecture diagram
![Page 10: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/10.jpg)
Energia Open Source
Gumby: Package dependency Vizualization for Linux
10
![Page 11: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/11.jpg)
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)
![Page 12: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/12.jpg)
Energia Open Source
Gumby: Package dependency Vizualization for Linux
12
Demo
![Page 13: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/13.jpg)
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)
![Page 14: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/14.jpg)
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
![Page 15: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/15.jpg)
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
![Page 16: Gumby: Package Dependency Visualization for Linux](https://reader034.fdocuments.us/reader034/viewer/2022051323/54933f8cac795959288b49d5/html5/thumbnails/16.jpg)
Energia Open Source
Gumby: Package dependency Vizualization for Linux
16
Thanks for your attention
Questions?