fosdem gumby-rc1

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

Upload: andre-guerreiro

Post on 26-Jun-2015

309 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Fosdem gumby-rc1

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: Fosdem gumby-rc1

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

Page 3: Fosdem gumby-rc1

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

Page 4: Fosdem gumby-rc1

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

Page 5: Fosdem gumby-rc1

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

Page 6: Fosdem gumby-rc1

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: Fosdem gumby-rc1

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

Page 8: Fosdem gumby-rc1

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: Fosdem gumby-rc1

Energia Open Source

Gumby: Package dependency Vizualization for Linux 9 

Architecture diagram

Page 10: Fosdem gumby-rc1

Energia Open Source

Gumby: Package dependency Vizualization for Linux 10 

Page 11: Fosdem gumby-rc1

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: Fosdem gumby-rc1

Energia Open Source

Gumby: Package dependency Vizualization for Linux 12 

Demo

Page 13: Fosdem gumby-rc1

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

Page 14: Fosdem gumby-rc1

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: Fosdem gumby-rc1

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: Fosdem gumby-rc1

Energia Open Source

Gumby: Package dependency Vizualization for Linux 16 

Thanks for your attention

Questions?