Go to main content

man pages section 4: File Formats

Exit Print View

Updated: July 2017



service_bundle - service manifest file format




The service management facility, described in smf(5), utilizes an XML-based file format to marshal the description of a set of services or service instances between systems. This file is known as a service bundle. The primary form of a service bundle is the inventory of services that are provided by a package, which is called a service manifest.

The DTD describing the service_bundle is provided at /usr/share/lib/xml/dtd/service_bundle.dtd.1. The attributes and tags are fully described in the commented DTD. The services supplied with the operating system, stored under /lib/svc/manifest, provide examples of correctly formed service descriptions. Manifest and profile file names can only contain ASCII characters.

service_bundle documents can also use the XML Inclusions (XInclude) facility to merge multiple documents into one. A service_bundle document manipulator must therefore support the functionality defined by the XInclude specification.

A complete service description consists of the following:

  • A set of properties that identify the service and identify its restarter

  • A set of properties that identify each instance

  • A set of framework property groups that describe the framework's understanding of each instance

  • A set of method property groups as required by svc.startd(1M), or by a delegated restarter

  • Additional optional method property groups

  • A set of dependency property groups

  • An optional group of properties that indicate services to which dependencies on the described service were added

  • A set of application property groups or application-specific typed property groups containing application configuration data

  • A template that describes supporting information about this service, such as a description, links to documentation, and metadata about property groups and properties.

The document type definition for the service bundle provides markup to define each of these aspects of a service description, as well as a number of entities that identify regular features in describing a service, such as the <create_default_instance> tag.

Manifest Handling During Packaging Operations

Service manifests within packages should be identified with the class manifestin SVR4 packages and with the attribute restart_fmri=svc:/system/manifest-import:default in IPS packages. Class action scripts that install and remove service manifests are included in the SVR4 packaging subsystem. When such a package is installed, the service manifest is imported.

When a package is uninstalled, service instances in the manifest that are disabled are deleted. Any services in the manifest with no remaining instances are also deleted.

If the –R option is supplied to pkg(1), pkgadd(1M), or pkgrm(1M), the actions described in this section are done when the system is next rebooted with that alternate root path.


See attributes(5) for descriptions of the following attributes:


See Also

pkgadd(1M), pkgrm(1M), svcadm(1M), svccfg(1M), svc.startd(1M), libscf(3LIB), attributes(5), locale(5), smf(5), smf_method(5), smf_template(5)

pkg(1), pkg(5)


Nested service_bundle elements must be of the same type.