SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à Gumby: Package Dependency Visualization for Linux

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.orgBruno Cornec
 
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 2011Opersys inc.
 
DNF FUDCon Pune 2015
DNF FUDCon Pune 2015DNF FUDCon Pune 2015
DNF FUDCon Pune 2015Parag
 
Installing Software, Part 3: Command Line
Installing Software, Part 3: Command LineInstalling Software, Part 3: Command Line
Installing Software, Part 3: Command LineKevin OBrien
 
VIB - Very Important Bundles
VIB - Very Important BundlesVIB - Very Important Bundles
VIB - Very Important BundlesRoman Roelofsen
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux HeritageOpersys inc.
 
Effectively using Open Source with conda
Effectively using Open Source with condaEffectively using Open Source with conda
Effectively using Open Source with condaTravis Oliphant
 
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 2011Opersys inc.
 
Ada in Fedora linux
Ada in Fedora linuxAda in Fedora linux
Ada in Fedora linuxPavel Zhukov
 
Teaching Open Source In The University
Teaching Open Source In The UniversityTeaching Open Source In The University
Teaching Open Source In The UniversityDominique Cimafranca
 
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 2010Atlassian
 
Debian general presentation
Debian general presentationDebian general presentation
Debian general presentationDing Zhou
 
Angular based enterprise level frontend architecture
Angular based enterprise level frontend architectureAngular based enterprise level frontend architecture
Angular based enterprise level frontend architectureHimanshu Tamrakar
 
LCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentationLCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentationBruno Cornec
 
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 distrosAnthony Wong
 
Thinking inside the box (shared)
Thinking inside the box (shared)Thinking inside the box (shared)
Thinking inside the box (shared)Joe Brockmeier
 
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 ServiceDani Llewellyn
 
UnBBayes Plugin Framework
UnBBayes Plugin FrameworkUnBBayes Plugin Framework
UnBBayes Plugin FrameworkRommel Carvalho
 

Similaire à 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
 

Dernier

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 

Dernier (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 

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