SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Energia Open Source




       Gumby - Package dependency
       visualization for Linux




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




            Presentation Outline

       1.   About me
       2.   Linux packaging landscape
       3.   Gumby – the visualization tool
       4.   Technical design and ideas for improvement
       5.   Demo
       6.   Conclusions




                              Gumby: Package dependency Vizualization for   2
                                               Linux
Energia Open Source




        About me


         ●   From Lisbon, Portugal
         ●   Linux user and advocate for 6/7 years
         ●   Caixa Mágica developer
         ●   MANCOOSI project involvement




                               Gumby: Package dependency Vizualization for   3
                                                Linux
Energia Open Source




     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




                                   Gumby: Package dependency Vizualization for   4
                                                    Linux
Energia Open Source




           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




                                Gumby: Package dependency Vizualization for    5
                                                 Linux
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   6
                                                Linux
Energia Open Source




        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




                                Gumby: Package dependency Vizualization for   7
                                                 Linux
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   8
                                                Linux
Energia Open Source




                          Architecture diagram




                            Gumby: Package dependency Vizualization for   9
                                             Linux
Energia Open Source




                          Gumby: Package dependency Vizualization for   10
                                           Linux
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   11
                                                Linux
Energia Open Source




                                  Demo




                          Gumby: Package dependency Vizualization for   12
                                           Linux
Energia Open Source




           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)




                               Gumby: Package dependency Vizualization for   13
                                                Linux
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   14
                                                Linux
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   15
                                            Linux
Energia Open Source




            Thanks for your attention
            Questions?




                          Gumby: Package dependency Vizualization for   16
                                           Linux

Weitere ähnliche Inhalte

Ähnlich wie Gumby: Package Dependency Visualization for Linux

Ada in Fedora linux
Ada in Fedora linuxAda in Fedora linux
Ada in Fedora linux
Pavel Zhukov
 
Debian general presentation
Debian general presentationDebian general presentation
Debian general presentation
Ding Zhou
 

Ähnlich wie Gumby: Package Dependency Visualization for Linux (20)

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
 
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
 
DNF FUDCon Pune 2015
DNF FUDCon Pune 2015DNF FUDCon Pune 2015
DNF FUDCon Pune 2015
 
Installing Software, Part 3: Command Line
Installing Software, Part 3: Command LineInstalling Software, Part 3: Command Line
Installing Software, Part 3: Command Line
 
VIB - Very Important Bundles
VIB - Very Important BundlesVIB - Very Important Bundles
VIB - Very Important Bundles
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux Heritage
 
Effectively using Open Source with conda
Effectively using Open Source with condaEffectively using Open Source with conda
Effectively using Open Source with conda
 
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
 
Ada in Fedora linux
Ada in Fedora linuxAda in Fedora linux
Ada in Fedora linux
 
Teaching Open Source In The University
Teaching Open Source In The UniversityTeaching Open Source In The University
Teaching Open Source In The University
 
Headless Android
Headless AndroidHeadless Android
Headless Android
 
Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010
Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010
Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010
 
Debian general presentation
Debian general presentationDebian general presentation
Debian general presentation
 
Angular based enterprise level frontend architecture
Angular based enterprise level frontend architectureAngular based enterprise level frontend architecture
Angular based enterprise level frontend architecture
 
LCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentationLCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentation
 
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
 
Thinking inside the box (shared)
Thinking inside the box (shared)Thinking inside the box (shared)
Thinking inside the box (shared)
 
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
 
Opensource Software usability
Opensource Software usabilityOpensource Software usability
Opensource Software usability
 
UnBBayes Plugin Framework
UnBBayes Plugin FrameworkUnBBayes Plugin Framework
UnBBayes Plugin Framework
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Gumby: Package Dependency Visualization for Linux

  • 1. Energia Open Source Gumby - Package dependency visualization for Linux André Guerreiro andre.guerreiro@caixamagica.pt 6th February 2011   Gumby: Package dependency Vizualization for 1 Linux
  • 2. Energia Open Source Presentation Outline 1. About me 2. Linux packaging landscape 3. Gumby – the visualization tool 4. Technical design and ideas for improvement 5. Demo 6. Conclusions   Gumby: Package dependency Vizualization for 2 Linux
  • 3. Energia Open Source About me ● From Lisbon, Portugal ● Linux user and advocate for 6/7 years ● Caixa Mágica developer ● MANCOOSI project involvement   Gumby: Package dependency Vizualization for 3 Linux
  • 4. Energia Open Source 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   Gumby: Package dependency Vizualization for 4 Linux
  • 5. Energia Open Source 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   Gumby: Package dependency Vizualization for 5 Linux
  • 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 6 Linux
  • 7. Energia Open Source 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   Gumby: Package dependency Vizualization for 7 Linux
  • 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 8 Linux
  • 9. Energia Open Source Architecture diagram   Gumby: Package dependency Vizualization for 9 Linux
  • 10. Energia Open Source   Gumby: Package dependency Vizualization for 10 Linux
  • 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 11 Linux
  • 12. Energia Open Source Demo   Gumby: Package dependency Vizualization for 12 Linux
  • 13. Energia Open Source 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)   Gumby: Package dependency Vizualization for 13 Linux
  • 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 14 Linux
  • 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 15 Linux
  • 16. Energia Open Source Thanks for your attention Questions?   Gumby: Package dependency Vizualization for 16 Linux