Template Version: @(#)onepager.txt 1.35 07/11/07 SMI Copyright 2007 Sun Microsystems 1. Introduction 1.1. Project/Component Working Name: Firefox 3.0.x on S10 1.2. Name of Document Author/Supplier: Parthasarathi Susarla 1.3. Date of This Document: 05/12/09 1.3.1. Date this project was conceived: 03/30/09 1.4. Name of Major Document Customer(s)/Consumer(s): 1.4.1. The PAC or CPT you expect to review your project: 1.4.2. The ARC(s) you expect to review your project: -- None -- 1.4.3. The Director/VP who is "Sponsoring" this project: Sanjay.Pandit@sun.com 1.4.4. The name of your business unit: Solaris RPE 1.5. Email Aliases: 1.5.1. Responsible Manager: Dan.Liu@sun.com 1.5.2. Responsible Engineer: Parthasarathi.Susarla@sun.com 1.5.3. Marketing Manager: -- 1.5.4. Interest List: -- 2. Project Summary 2.1. Project Description: Solaris 10 ships with Firefox 2.x. Unfortunately, the community is ending support for this release. This project will back port Firefox 3.x browser to Solaris 10 and it will replace Firefox 2.x. Doing this requires several Gnome libraries to be backported too. 2.2. Risks and Assumptions: Firefox 3 is dependent on several packages that are shipped with gnome. The ones that are shipped with JDS3.1 on S10 are older and not compatible with Firefox 3.0.x So we need to get the set of 7 (see section 4.1) packages built and maintained as private libraries for firefox 3.0.x. 3. Business Summary 3.1. Problem Area: The Mozilla community is ending support for the Firefox 2.x that ships with Solaris 10. We need to upgrade to Firefox 3.0.x. This requires several Gnome libraries to be upgraded too. 3.2. Market/Requester: // Who is the customer or client that needs the project? // Include names or description of companies or groups // outside Sun that want the project. // NOTE: If this is for an Open Exposure project, DO NOT // include any XXX XXXprietary info, Customer names, etc! 3.3. Business Justification: - NA - 3.4. Competitive Analysis: - NA - 3.5. Opportunity Window/Exposure: - NA - 3.6. How will you know when you are done?: After the building of Firefox 3.0.x and its dependent packages is done, we will need to run test suites which include sanity tests, security tests, rendering tests and platform specific tests. The project is then ready to be putback (and is done at this stage). Support for the released project will continue to happen. 4. Technical Description: 4.1. Details: * This project essentially is a backport of Firefox 3.0.x to Solaris 10. As a part of backport we need to ship newer versions of several Gnome libraries. * The following Gnome libraries need to be upgraded: glib (glib.spec) atk (atk.spec) cairo(cairo.spec) pango(pango.spec) gtk2 (gtk2.spec) dbus (dbus.spec) dbus-glib (dbus-glib.spec) * These will be shipped as private libraries. These libraries are supported for only Firefox 3.0.x and are to be consider as project private. * The Firefox package and the dependent private libraies will be installed in /usr/lib/gnome-private * Firefox and dependent libraries, 8 packages in all, need to be installed * The existing firefox 2.0.x plugins installed in /usr/lib/firefox/plugins, the location will remain same for firefox 3.0.x packages also. * The user profiles and personal settings/bookmarks/history from Firefox 2.0 will be used by Firefox 3.0.x as well, since both versions of the browser use the $HOME/./mozilla/firefox directory to save such data. * Firefox 3.0.X man-in-middle issue handling : /usr/bin/firefox will be a script that calls /usr/lib/firefox/firefox run-mozilla.sh which will then call firefox-bin. /usr/bin/firefox and run-mozilla.sh scripts set a number of environment variables. All the plugins are spawned by firefox-bin. So, LD_LIBRARY_PATH environment variable will be set to /usr/lib/gnome-private in run-mozilla.sh script to avoid linking/loading of the plugins with libraries older/different versions of the new libraries and they will always link to /usr/lib/gnome-private libraries. 4.2. Bug/RFE Number(s): CR Number: 6812941 4.3. In Scope: * install path of firefox and private libraries * private libraries support limited to firefox 3.0.x * plugins from firefox 2.0.x copied to firefox 3.0.x path 4.4. Out of Scope: * compatiblity of plugins installed for firefox 2.0 to firefox 3.0.x 4.5. Interfaces: +--------------------------------------------+---------------------------------------+ | Interfaces Exported | +-------------------------------+------------------+---------------------------------+ | Interface Name | Classification | Comment | +===============================+==================+=================================+ | $HOME/.mozilla/firefox | Volatile | The location of user | | | | profiles | +-------------------------------+------------------+---------------------------------+ |/usr/lib/firefox | Uncommitted | Install location | | | | | +-------------------------------+------------------+---------------------------------+ |/usr/bin/firefox | Committed | Link pointing to the | | | | default firefox, normally | | | | /usr/lib/firefox/firefox | +-------------------------------+------------------+---------------------------------+ | Firefox CLI | Uncommitted | Firefox command line interface | | | | | +-------------------------------+------------------+---------------------------------+ | Firefox GUI | Volatile | Firefox graphical user interface| | | | | +-------------------------------+------------------+---------------------------------+ |/usr/lib/gnome-private/glib-2.0 | Project private | Project private glib libraries | |/usr/lib/gnome-private/libglib*.so| | version 2.14.4 | +-------------------------------+------------------+---------------------------------+ | /usr/lib/gnome-private/libatk*.so | Project private | Project private atk libraries | | | | version 1.20.0 | +-------------------------------+------------------+---------------------------------+ |/usr/lib/gnome-private/libcairo*.so | Project private | Project private cairo libraries | | | | version 1.4.12 | +-------------------------------+------------------+---------------------------------+ /usr/lib/gnome-private/libpango*.so | Project private | Project private pango libraries | | | | version 1.18.3 | +-------------------------------+------------------+---------------------------------+ /usr/lib/gnome-private/libgtk*.so | Project private | Project private gtk2 libraries | | | | version 2.12.3 | +-------------------------------+------------------+---------------------------------+ |/usr/lib/gnome-private/libdbus*.so | Project private | Project private dbus and | | | | dbus-glib libraries | | | | version 1.1.20 | +-------------------------------+------------------+---------------------------------+ 4.6. Doc Impact: // List any Documentation (man pages, manuals, service guides...) // that will be impacted by this proposal. 4.7. Admin/Config Impact: // How will this change impact the administration of the product? // Identify changes to GUIs, CLI, agents, plugins... 4.8. HA Impact: -- None -- 4.9. I18N/L10N Impact: No. All the internationalization or localization is taken care of by the firefox packages. 4.10. Packaging & Delivery: -- 4.11. Security Impact: -- 4.12. Dependencies: Thre firefox 3.0.x upgrade depends on the following gnome 2.24 packages glib (glib.spec) atk (atk.spec) cairo(cairo.spec) pango(pango.spec) gtk2 (gtk2.spec) dbus (dbus.spec) dbus-glib (dbus-glib.spec) 5. Reference Documents: CR Number: 6812941 LSARC 2008/158 Firefox 3 for Solaris Nevada LSARC 2008/735 Firefox 3.1 for Solaris Nevada 6. Resources and Schedule: 6.1. Projected Availability: // Dates in appropriate precision (quarters, years) 6.2. Cost of Effort: // Order of magnitude people and time for the *whole* project, not // just the development engineering part. // You may wish to split the estimate between feature // implementation, implementing adminsitrative Interfaces, unit // tests, documentation, support training material, i18n, etc. 6.3. Cost of Capital Resources: // Order of magnitude. 6.4. Product Approval Committee requested information: 6.4.1. Consolidation or Component Name: Firefox 3.0.x 6.4.3. Type of CPT Review and Approval expected: FastTrack 6.4.4. Project Boundary Conditions: // Give the document's URL http://.... 6.4.5. Is this a necessary project for OEM agreements: No. 6.4.6. Notes: // See dependencies section above. 6.4.7. Target RTI Date/Release: S10u8_3, 7/7/2009 6.4.8. Target Code Design Review Date: 6.4.9. Update approval addition: -- 6.5. ARC review type: FastTrack 6.6. ARC Exposure: open 6.6.1. Rationale: -- 7. Prototype Availability: 7.1. Prototype Availability: // Functional subset expected to be needed to leave "prototype" // stage. 7.2. Prototype Cost: // Subset of Cost of Effort to leave "prototype" stage.