SlideShare a Scribd company logo
Energia Open Source




       Gumby - Package dependency visualization
       for Linux



                                  André Guerreiro
                          andre.guerreiro@caixamagica.pt
                                     6th February 2011
                               Gumby: Package dependency Vizualization for Linux   1
Energia Open Source




            Structure of the talk

       1.   About me
       2.   Linux packaging landscape
       3.   Gumby – the project
       4.   Technical design, features and shortcomings
       5.   Demo
       6.   Conclusions




                             Gumby: Package dependency Vizualization for Linux   2
Energia Open Source




          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




                             Gumby: Package dependency Vizualization for Linux   3
Energia Open Source




        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




                             Gumby: Package dependency Vizualization for Linux   4
Energia Open Source




     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




                                      Gumby: Package dependency Vizualization for Linux   5
Energia Open Source




         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




                            Gumby: Package dependency Vizualization for Linux   6
Energia Open Source




         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


                              Gumby: Package dependency Vizualization for Linux   7
Energia Open Source




      Technical Design

        ●
            Built on top of APT – quite popular meta-installer used in
            Debian, Ubuntu, Caixa Mágica.

        ●
            Graph Layout depends on Graphviz




                             Gumby: Package dependency Vizualization for Linux   8
Energia Open Source




                          Architecture diagram




                           Gumby: Package dependency Vizualization for Linux   9
Energia Open Source




                          Gumby: Package dependency Vizualization for Linux   10
Energia Open Source




        Features

       ●
            Visualize all kinds of dependencies (requires, provides,
           conflicts, obsoletes)
       ●
            Progressive Exploration
       ●
            Compact Mode
       ●
            Zoom & pan
       ●
            Different Layout schemes (powered by Graphviz)




                             Gumby: Package dependency Vizualization for Linux   11
Energia Open Source




                                      Demo




                          Gumby: Package dependency Vizualization for Linux   12
Energia Open Source




              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



                              Gumby: Package dependency Vizualization for Linux   13
Energia Open Source




         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




                             Gumby: Package dependency Vizualization for Linux   14
Energia Open Source




          One final detail, where is the code?


     ●
          http://people.caixamagica.pt/aguerreiro/gumby
          or
          http://bit.ly/hzMKHF

     ●
          Git repository :
          http://gitorious.org/cairo-graphs/gumby


                          Gumby: Package dependency Vizualization for Linux   15
Energia Open Source




            Thanks for your attention
            Questions?




                          Gumby: Package dependency Vizualization for Linux   16

More Related Content

Similar to Fosdem gumby-rc1

Leveraging Android's Linux Heritage at Android Open 2011
Leveraging Android's Linux Heritage at Android Open 2011Leveraging Android's Linux Heritage at Android Open 2011
Leveraging Android's Linux Heritage at Android Open 2011
Opersys inc.
 
Versioning in Pipeline Pilot - Pipeline Pilot Forum 2018
Versioning in Pipeline Pilot - Pipeline Pilot Forum 2018Versioning in Pipeline Pilot - Pipeline Pilot Forum 2018
Versioning in Pipeline Pilot - Pipeline Pilot Forum 2018
Peter Schmidtke
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux Heritage
Opersys inc.
 
Automated Snap Package build processes without the Build Service
Automated Snap Package build processes without the Build ServiceAutomated Snap Package build processes without the Build Service
Automated Snap Package build processes without the Build Service
Dani Llewellyn
 
Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011
Opersys inc.
 
Headless Android
Headless AndroidHeadless Android
Headless Android
Opersys inc.
 
Opensource Software usability
Opensource Software usabilityOpensource Software usability
Opensource Software usability
Giacomo Antonino Fazio
 
VIB - Very Important Bundles
VIB - Very Important BundlesVIB - Very Important Bundles
VIB - Very Important Bundles
Roman Roelofsen
 
Thinking inside the box (shared)
Thinking inside the box (shared)Thinking inside the box (shared)
Thinking inside the box (shared)
Joe Brockmeier
 
Multi-OS Continuous Packaging with docker and Project-Builder.org
Multi-OS Continuous Packaging with docker and Project-Builder.orgMulti-OS Continuous Packaging with docker and Project-Builder.org
Multi-OS Continuous Packaging with docker and Project-Builder.org
Bruno Cornec
 
Installing Software, Part 1 - Repositories
Installing Software, Part 1 - RepositoriesInstalling Software, Part 1 - Repositories
Installing Software, Part 1 - Repositories
Kevin OBrien
 
LCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentationLCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentation
Bruno Cornec
 
Managing dependencies with gradle
Managing dependencies with gradleManaging dependencies with gradle
Managing dependencies with gradle
Liviu Tudor
 
Snap - the universal packaging format for linux distros
Snap - the universal packaging format for linux distrosSnap - the universal packaging format for linux distros
Snap - the universal packaging format for linux distros
Anthony Wong
 
Using GOCA to Manage OpenNebula - Iguane Solutions
Using GOCA to Manage OpenNebula - Iguane SolutionsUsing GOCA to Manage OpenNebula - Iguane Solutions
Using GOCA to Manage OpenNebula - Iguane Solutions
Sally Laouacheria
 
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...
OpenNebula Project
 
Teaching Open Source In The University
Teaching Open Source In The UniversityTeaching Open Source In The University
Teaching Open Source In The University
Dominique Cimafranca
 
Installing Software, Part 3: Command Line
Installing Software, Part 3: Command LineInstalling Software, Part 3: Command Line
Installing Software, Part 3: Command Line
Kevin OBrien
 
Ada in Fedora linux
Ada in Fedora linuxAda in Fedora linux
Ada in Fedora linux
Pavel Zhukov
 
Garuda OS
Garuda OSGaruda OS

Similar to Fosdem gumby-rc1 (20)

Leveraging Android's Linux Heritage at Android Open 2011
Leveraging Android's Linux Heritage at Android Open 2011Leveraging Android's Linux Heritage at Android Open 2011
Leveraging Android's Linux Heritage at Android Open 2011
 
Versioning in Pipeline Pilot - Pipeline Pilot Forum 2018
Versioning in Pipeline Pilot - Pipeline Pilot Forum 2018Versioning in Pipeline Pilot - Pipeline Pilot Forum 2018
Versioning in Pipeline Pilot - Pipeline Pilot Forum 2018
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux Heritage
 
Automated Snap Package build processes without the Build Service
Automated Snap Package build processes without the Build ServiceAutomated Snap Package build processes without the Build Service
Automated Snap Package build processes without the Build Service
 
Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011
 
Headless Android
Headless AndroidHeadless Android
Headless Android
 
Opensource Software usability
Opensource Software usabilityOpensource Software usability
Opensource Software usability
 
VIB - Very Important Bundles
VIB - Very Important BundlesVIB - Very Important Bundles
VIB - Very Important Bundles
 
Thinking inside the box (shared)
Thinking inside the box (shared)Thinking inside the box (shared)
Thinking inside the box (shared)
 
Multi-OS Continuous Packaging with docker and Project-Builder.org
Multi-OS Continuous Packaging with docker and Project-Builder.orgMulti-OS Continuous Packaging with docker and Project-Builder.org
Multi-OS Continuous Packaging with docker and Project-Builder.org
 
Installing Software, Part 1 - Repositories
Installing Software, Part 1 - RepositoriesInstalling Software, Part 1 - Repositories
Installing Software, Part 1 - Repositories
 
LCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentationLCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentation
 
Managing dependencies with gradle
Managing dependencies with gradleManaging dependencies with gradle
Managing dependencies with gradle
 
Snap - the universal packaging format for linux distros
Snap - the universal packaging format for linux distrosSnap - the universal packaging format for linux distros
Snap - the universal packaging format for linux distros
 
Using GOCA to Manage OpenNebula - Iguane Solutions
Using GOCA to Manage OpenNebula - Iguane SolutionsUsing GOCA to Manage OpenNebula - Iguane Solutions
Using GOCA to Manage OpenNebula - Iguane Solutions
 
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...
 
Teaching Open Source In The University
Teaching Open Source In The UniversityTeaching Open Source In The University
Teaching Open Source In The University
 
Installing Software, Part 3: Command Line
Installing Software, Part 3: Command LineInstalling Software, Part 3: Command Line
Installing Software, Part 3: Command Line
 
Ada in Fedora linux
Ada in Fedora linuxAda in Fedora linux
Ada in Fedora linux
 
Garuda OS
Garuda OSGaruda OS
Garuda OS
 

Recently uploaded

HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
Edge AI and Vision Alliance
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 

Recently uploaded (20)

HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 

Fosdem gumby-rc1

  • 1. Energia Open Source Gumby - Package dependency visualization for Linux André Guerreiro andre.guerreiro@caixamagica.pt 6th February 2011   Gumby: Package dependency Vizualization for Linux 1
  • 2. Energia Open Source Structure of the talk 1. About me 2. Linux packaging landscape 3. Gumby – the project 4. Technical design, features and shortcomings 5. Demo 6. Conclusions   Gumby: Package dependency Vizualization for Linux 2
  • 3. Energia Open Source 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   Gumby: Package dependency Vizualization for Linux 3
  • 4. Energia Open Source 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   Gumby: Package dependency Vizualization for Linux 4
  • 5. Energia Open Source 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   Gumby: Package dependency Vizualization for Linux 5
  • 6. Energia Open Source 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   Gumby: Package dependency Vizualization for Linux 6
  • 7. Energia Open Source 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   Gumby: Package dependency Vizualization for Linux 7
  • 8. Energia Open Source Technical Design ● Built on top of APT – quite popular meta-installer used in Debian, Ubuntu, Caixa Mágica. ● Graph Layout depends on Graphviz   Gumby: Package dependency Vizualization for Linux 8
  • 9. Energia Open Source Architecture diagram   Gumby: Package dependency Vizualization for Linux 9
  • 10. Energia Open Source   Gumby: Package dependency Vizualization for Linux 10
  • 11. Energia Open Source Features ● Visualize all kinds of dependencies (requires, provides, conflicts, obsoletes) ● Progressive Exploration ● Compact Mode ● Zoom & pan ● Different Layout schemes (powered by Graphviz)   Gumby: Package dependency Vizualization for Linux 11
  • 12. Energia Open Source Demo   Gumby: Package dependency Vizualization for Linux 12
  • 13. Energia Open Source 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   Gumby: Package dependency Vizualization for Linux 13
  • 14. Energia Open Source 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   Gumby: Package dependency Vizualization for Linux 14
  • 15. Energia Open Source One final detail, where is the code? ● http://people.caixamagica.pt/aguerreiro/gumby or http://bit.ly/hzMKHF ● Git repository : http://gitorious.org/cairo-graphs/gumby   Gumby: Package dependency Vizualization for Linux 15
  • 16. Energia Open Source Thanks for your attention Questions?   Gumby: Package dependency Vizualization for Linux 16