Difference between revisions of "Documentation/DevGuide/Extensions/Packaging Notes"

From Apache OpenOffice Wiki
Jump to: navigation, search
Line 9: Line 9:
 
'''(As of OOo 3.3)'''
 
'''(As of OOo 3.3)'''
  
 +
Bundled extensions are installed during OOo's setup and only the setup can install or remove them. They are copied in an uncompressed way into the extension folder of the repository. For example, an extension Foo contains two files f1, f2. Then the native package contains a folder Foo and therein the files f1 and f2.
 +
It must be guaranteed that the paths to the installed extensions are unique in order to prevent overwriting a previously installed extension. Fore example,  extension1.rpm contains Foo and extension2.rpm also contains Foo, which is a different extension. Both packages would be installed in
 +
<bundled_repository_extension_folder>/Foo
 +
when blindly using the extension name.
 +
 +
Therefore, when packaging the rpm, one must provide a unique path. Because, bundling an extension is no automated process, we can leave it to the person who bundles the extension to ensure the uniqueness. In case of a name clash, one needs to modify the folder name of the extension appropriately.
 +
 +
The name of the folder should reflect the name of the original extension file. This makes it easier to locate the extension in the file system. This name will also be displayed in different dialogs if the extension does not provide a display name.
 +
 +
A bundled extension is uninstalled by simply removing the folder containing the extension files. That is, installation and removal only involve simple file operations as done by the installer. No code execution is required.
 +
 +
Bundled extension MUST have an identifier and version, otherwise OOo cannot determine reliably if a bundled extension was removed.
 +
 +
Executables contained in the extension must have the executable flag set. This is usually done by the extension manager, but not in case of bundled extensions.
 
{{PDL1}}
 
{{PDL1}}
  
 
[[Category:Documentation/Developer's Guide/Extensions]]
 
[[Category:Documentation/Developer's Guide/Extensions]]

Revision as of 09:27, 8 June 2010



(As of OOo 3.3)

Bundled extensions are installed during OOo's setup and only the setup can install or remove them. They are copied in an uncompressed way into the extension folder of the repository. For example, an extension Foo contains two files f1, f2. Then the native package contains a folder Foo and therein the files f1 and f2. It must be guaranteed that the paths to the installed extensions are unique in order to prevent overwriting a previously installed extension. Fore example, extension1.rpm contains Foo and extension2.rpm also contains Foo, which is a different extension. Both packages would be installed in <bundled_repository_extension_folder>/Foo when blindly using the extension name.

Therefore, when packaging the rpm, one must provide a unique path. Because, bundling an extension is no automated process, we can leave it to the person who bundles the extension to ensure the uniqueness. In case of a name clash, one needs to modify the folder name of the extension appropriately.

The name of the folder should reflect the name of the original extension file. This makes it easier to locate the extension in the file system. This name will also be displayed in different dialogs if the extension does not provide a display name.

A bundled extension is uninstalled by simply removing the folder containing the extension files. That is, installation and removal only involve simple file operations as done by the installer. No code execution is required.

Bundled extension MUST have an identifier and version, otherwise OOo cannot determine reliably if a bundled extension was removed.

Executables contained in the extension must have the executable flag set. This is usually done by the extension manager, but not in case of bundled extensions.

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages