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)
on 2009/10/26 12:31