+ All Categories
Home > Technology > Gumby: Package Dependency Visualization for Linux

Gumby: Package Dependency Visualization for Linux

Date post: 17-Dec-2014
Category:
Upload: andre-guerreiro
View: 1,116 times
Download: 0 times
Share this document with a friend
Description:
Talk presented at Brussels, FOSDEM 2011
16
Energia Open Source Gumby: Package dependency Vizualization for Linux 1  Gumby - Package dependency visualization for Linux André Guerreiro [email protected] 6 th February 2011
Transcript
Page 1: Gumby: Package Dependency Visualization for Linux

Energia Open Source

Gumby: Package dependency Vizualization for Linux

Gumby - Package dependency visualization for Linux

André Guerreiro [email protected]

6th February 2011

Page 2: Gumby: Package Dependency Visualization for Linux

Energia Open Source

Gumby: Package dependency Vizualization for Linux

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

Energia Open Source

Gumby: Package dependency Vizualization for Linux

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

Energia Open Source

Gumby: Package dependency Vizualization for Linux

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

Energia Open Source

Gumby: Package dependency Vizualization for Linux

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

Energia Open Source

Gumby: Package dependency Vizualization for Linux

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

Energia Open Source

Gumby: Package dependency Vizualization for Linux

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

Energia Open Source

Gumby: Package dependency Vizualization for Linux

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

Energia Open Source

Gumby: Package dependency Vizualization for Linux

Architecture diagram

Page 10: Gumby: Package Dependency Visualization for Linux

Energia Open Source

Gumby: Package dependency Vizualization for Linux

10 

Page 11: Gumby: Package Dependency Visualization for Linux

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

Energia Open Source

Gumby: Package dependency Vizualization for Linux

12 

Demo

Page 13: Gumby: Package Dependency Visualization for Linux

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

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

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

Energia Open Source

Gumby: Package dependency Vizualization for Linux

16 

Thanks for your attention

Questions?


Recommended