Spec File Description

Spec File Specification

 Here is the current pending and contrib repository spec file template.


#
# spec file for package: [pkg name]
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# includes module(s): [pkg module(s)]
#

%include Solaris.inc

Name:		[pkg name]
Summary:      	[short description]
Version:       	[pkg version]
License:	[license type (ie. GPLv2, BSD...)]
Url: 		[url to open source project]
Source:	 	[url to compressed tarball]
Distribution:  OpenSolaris
Vendor:		OpenSolaris Community
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
SUNW_Basedir:   %{_basedir}
SUNW_Copyright: %{name}.copyright

%include default-depend.inc
BuildRequires: [build pkg dependencies (SVr4 package names)]
Requires: [runtime pkg dependencies (SVr4 package names)]

# OpenSolaris IPS Package Manifest Fields
Meta(info.upstream):	 	[name email of open source project leader]
Meta(info.maintainer):	 	[name email of ips pkg porter/maintainer]
Meta(info.repository_url):	[open source code repository]
Meta(info.classification):	[ips pkg classification]

%description
[long description]

%prep
[pre-build commands]

%build
[build commands]

%install
[install commands]

%clean
[cleanup commands]

%files
[file groups and permissions]

%changelog
[change log entries]

Spec File Examples

 Here are some pending and contrib repository spec file examples.

IPS Manifest to Spec File Mapping

 Here is the IPS package manifest to spec file mapping.


* pkg.name             => Name:
* pkg.summary          => Summary:
* description          => Summary:
* info.upstream_url    => URL:
* info.source_url      => Source:
* info.classification  => Meta(info.classification)
* license type         => License:
* license file         => SUNW_Copyright:
* info.upstream        => Meta(info.upstream)
* info.maintainer      => Meta(info.maintainer)
* info.repository_url  => Meta(info.repository_url)
* pkg.detailed_url     => Meta(pkg.detailed_url)

Spec File Repository

 We are in the process of defining this. Here are some ideas...


  .../<module>.spec      -> main spec file (used for building
                         OpenSolaris compatible packages
  .../base-specs/<module>.spec
                      -> so called "base specs", used by the
                         main spec files but never invoked
                         directly
  .../patches/<module>-<nn>-<description>.diff
                      -> source code changes, in the form of
                         -p1 unified diffs
                         <module>: name of the module, e.g.
                               gnome-panel
                         <nn>: 2-digit patch number, determines
                               the order in which the patches are
                               applied to the sources
                         <description>: the name of the patch in
                               a couple of words, e.g.
                               hide-show-weather
  .../include/*.inc   -> spec file fragments %include'd in
                         main spec files, e.g. Solaris.inc
  .../copyright/<module>.copyright
                      -> copyright files
  .../ext-sources/*   -> other files used for build or packaging,
                         for example SMF manifests
  .../manpages/       -> OpenSolaris-specific manual pages
  .../po-opensolaris/ -> OpenSolaris-specific localizations (message
                         catalogs)

last modified by admin on 2009/10/26 12:31
Collectives
Project


© Sun Microsystems Inc. 2009
XWiki Enterprise 1.8.2.19075 - Documentation
Terms Of Use | Privacy | Trademarks | Copyright Policy | Site Guidelines | Site map | Help
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.