Your SlideShare is downloading. ×
What's new in p2 (2009)?
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

What's new in p2 (2009)?

907
views

Published on

After a brief recap of what p2 is and depicting the overall vision, the presenter will show how this vision is realized and how the improvements made to both the runtime (core and UI) and the tooling …

After a brief recap of what p2 is and depicting the overall vision, the presenter will show how this vision is realized and how the improvements made to both the runtime (core and UI) and the tooling in Galileo pave the way for a better provisioning solution at Eclipse.

Published in: Technology, Business

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
907
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
39
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • This is made possible because of immutability IU and artifacts
  • Refer to the continuum
  • Transcript

    • 1. What’s new in p2? A year later Pascal Rapicault IBM Rational TM , p2 lead EclipseCon, March 2009
    • 2. p2 is installing!
      • An extensible provisioning platform
      • Install and update technology since 3.4
        • New UI, simplified workflow
        • Manage Eclipse, RCP and more
          • exe, ini, bundles, registry keys, native code, …
        • Shared bundles across Eclipse-based products
      • A provisioning solution for OSGi™ systems
        • Managing non-running instance
        • Start level, framework extension
        • Fine-grained dependency management
    • 3. The year by numbers
      • 650 bug / enhancements fixed (as of March 2009)
        • Including the infamous, “I can’t cancel the download”, “The error message is useless”, “The UI sucks”, etc…
      • 7 active committers
      • 3 “will be committers” contributors from Cloudsmith and EclipseSource
      • A lot of users (everyone is a user!)
      • Some extenders
      • 1 baby delivered
      • 2 babies designed
    • 4. p2 in wild
      • Installer for products (EPP Wizard, WindRiver, Motorola, IBM Rational, etc.)
      • Server managed deployment solution and distros (Genuitec, EclipseSource, Cloudsmith)
      • Remote management of device (EclipseSource)
      • Buckminster (Cloudsmith)
      • Provisioning of server side (EclipseSource) [1]
      • Cloud provisioning (EclipseSource)
      • Repository management (Sonatype)
      [1] - Short talk on using p2 on the server - http://www.eclipsecon.org/2009/sessions?id=423
    • 5. Outline
      • Update / Extend / Service
      • Initial deployment
      • Build and publish
      • Development
    • 6. Enough concepts to follow
      • Installable Units (aka IU, or Metadata)
        • Metadata describing what to install
        • Typically stored into a repository
      • Artifacts
        • The actual bytes you want to install
        • Stored in a repository
        • p2 offers a continuum from initial installation to serviceability
    • 7. Update / Extend / Service Initial deployment Build and publish Development
    • 8. Updating, extending, …
      • Two usage mode
        • External mode, the p2 plug-ins are external to the application (e.g an installer)
        • Co-hosted mode, the p2 plug-ins are in your application (e.g. the Eclipse SDK). This mode still allows the application to be externally managed.
      • User interface
        • The p2.ui.* bundles, offering reusable and customizable dialogs
        • Agent running in the background checking for updates
        • Command line using the director application
    • 9. New GUI in 3.5
      • Smoother integration
      • Improved disconnected mode
      • Improved general responsiveness
      • Redesigned using the feedback from the UIUWG
    • 10. The controlled mode
      • Notice that the entry to choose a site is not available.
      • The preference page to add repo is also removed.
    • 11. Granularity of what is visible
      • Installation history, and installed software page can be removed
      • Ability to only make the update command, or the an install command.
    • 12. Check for update on startup Details on UI customization available at: http://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Application
    • 13. Non UI things improved
      • Explanation support
      • Transactional model of installation
      • Transport
        • Robustness
        • Cancellation
        • Error messages (in 3.5 M7)
        • MD5
      • Modularity of the base exercised
    • 14. Serviceability, the profile registry
      • The profile registry reflects from a metadata standpoint
        • What the user is currently running
        • What the user has been running
          • <install>/p2/org.eclipse.equinox.p2.engine/<….profile>/
      • A profile can be used to recreate the user’s installation on another machine.
    • 15. Update / Extend / Service Initial deployment Build and publish Development
    • 16. Initial deployment
      • Installer
        • p2 basic installer (~5/6M)
          • Deployable using JavaWebStart
        • EPP wizard [1,2]
          • “ Shopping cart” approach to software selection.
        • Home brewed p2-based installer
      • Complete application
        • The application results from a provisioning operation done at build time. [3]
      [1] – EPP wizard - http://wiki.eclipse.org/EPP/Wizard [2] – EPP Wizard talk - http://www.eclipsecon.org/2009/sessions?id=426 [3] – Director application doc - http://wiki.eclipse.org/Equinox_p2_director_application
    • 17. EPP Wizard The user picks its software in a shopping cart style and a custom p2 installer is built.
    • 18. Initial deployment
      • Installer
        • p2 basic installer (~5/6M)
          • Deployable using JavaWebStart
        • EPP wizard [1,2]
          • “ Shopping cart” approach to software selection.
        • Home brewed p2-based installer
      • Complete application
        • The application results from a provisioning operation done at build time. [3]
      [1] – EPP wizard - http://wiki.eclipse.org/EPP/Wizard [2] – EPP Wizard talk - http://www.eclipsecon.org/2009/sessions?id=426 [3] – Director application doc - http://wiki.eclipse.org/Equinox_p2_director_application
    • 19. Update / Extend / Service Initial deployment Build and publish Development
    • 20. Build, when the metadata comes to be
      • Metadata matters
      • PDE Build fully embraces p2
        • Product build now produces a p2-enabled application
        • Straight from the source to the repository
        • Product can be published straight from repositories (given that you have all the pieces in the repo).
          • Separate the concerns of building and packaging
          • Toward more incremental builds
          • Faster way to produce products
        • Can use repositories as build input  This is the recommended way.
        • Can fetch directly from p2 repositories [1]
      • The p2.publisher is responsible for metadata / artifact generation
        • Can be used independently of PDE Build.
      [1] – How to - http://wiki.eclipse.org/Equinox/p2/Build_Input See also: Section on product builds from http://www.eclipsecon.org/2009/sessions?id=560
    • 21. Repository management
      • Everybody creates repos, they need to be managed
      • Problems
        • You want to promote one build over another one
          • Composite repositories
        • You build more than you want to make available
          • Slicing
        • You want to replicate builds from one repository to another
          • Mirroring applications
      • Repository validation
        • Repository validation that everything is installable
        • For every IU, each artifact is available
        • IU comparison tools, to ensure that the metadata is not changed
        • Artifact comparison tool to ensure that one artifact has not changed [1]
        • Repository diff’ing tool
      [1] – Talk on versioning and provisioning - http://www.eclipsecon.org/2009/sessions?id=585
    • 22. Update / Extend / Service Initial deployment Build and publish Development
    • 23. Development time, where the metadata is authored (partially)
      • Locality of the metadata
      • The developer of a plug-in knows the most about it (start level, file permission, …)
        • Things go into features, config.ini in the product, or in build scripts.
      • p2.inf [1]
        • A way to augment / tweak the metadata being generated for bundles, features and product files.
      You need to be careful to separating the metadata that is absolutely necessary from the things that are config specific [1] – p2.inf format - http://wiki.eclipse.org/Equinox/p2/Engine/Touchpoint_Instructions
    • 24. Future work
      • What you want it to be.
    • 25. Summary
      • Cover all aspects of the software lifecycle
      • p2 is an powerful provisioning platform
      • Highly extensible
      • Enable the creation of comprehensive solutions
    • 26. Thank you Tonight BOF mailto:p2-dev@eclipse.org http://wiki.eclipse.org/Equinox/p2

    ×