================================================================================ Installation information ================================================================================ In order to properly install the bundled extensions, such as dictionaries, it is necessary that the files installed ooo_bundled_extensions.xml svc-ooo_bundled_extensions are part of the Apache OpenOffice IPS package. They must be added to the package after all other files have been added. Those other files are the SVR4 packages of OOo which can be imported by pkg (pkg import). The files have to be uploaded this way: pkgsend -s url_to_pkg_server add file installed mode=644 owner=root group=bin path=${EXTENSIONPATH}/installed restart_fmri=svc:/application/ooo_bundled_extensions:default pkgsend -s url_to_pkg_server add file svc-ooo_bundled_extensions mode=744 owner=root group=bin path=/lib/svc/method/svc-ooo_bundled_extensions pkgsend -s url_to_pkg_server add file ooo_bundled_extensions.xml mode=644 owner=root group=bin path=/var/svc/manifest/application/ooo_bundled_extensions.xml restart_fmri=svc:/system/manifest-import:default --- ${EXTENSIONPATH} must be replaced by the path to the folder containing the bundled extensions. This path changes with every major release of OOo because of the version number which is part of a folder name. The current value is: EXTENSIONPATH=/opt/apacheopenoffice3/share/extension/install The service was tested with OpenSolaris release 2009.6 and may not work with a previous release. ================================================================================ What do these files do ================================================================================ The three files constitute a SMF service. When this service is started, then it installes the bundled extensions which are contained in /opt/apacheopenoffice3/share/extension/install. To install them, the service calls "unopkg add --shared ..." with the appropriate arguments. The service is started initially after the installation of ooo_bundled_extensions.xml. At this time, all files of OOo, including the extensions, have been copied to their destination. The service calls unopkg on behalf of every extension and adds the path to that extension to the file 'installed'. The file 'installed' is used to remember what extensions have already been installed with unopkg. This will prevent to reinstall those extensions whenever the service is restarted. When a new version of OOo becomes available, then the respective OOo package containes a new version of 'installed'. That is, it contains a version string, such as 3.2.0. The sole reason for that string is, to change the content of this file in every release. Otherwise IPS would not replace the installed version of 'installed' with the one contained in the package. The update procedure of OOo will replace 'installed'. 'installed' is associated with a restart_fmri of the service ooo_bundled_extensions. That is after copying 'installed' the service will be restarted. It then installes all extensions contained in /opt/apacheopenoffice3/share/extension/install, because the newly installed 'installed' file does not contain any entries yet, except for the version string. ================================================================================ Known issues ================================================================================ If OOo, which contains this service, is uninstalled and later it is installed again, then the bundled extensions are not installed. That is, unopkg is not called to install them with OOo's Extensions Manager. The reasons is a bug in OpenSolaris: http://defect.opensolaris.org/bz/show_bug.cgi?id=5742 To work around this, one can call after uninstalling OOo svccfg delete -f ooo_bundled_extensions svccfg delete smf/manifest