<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://jet.maui.co.uk/wiki/index.php?action=history&amp;feed=atom&amp;title=CustomSolarisPackages</id>
	<title>CustomSolarisPackages - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://jet.maui.co.uk/wiki/index.php?action=history&amp;feed=atom&amp;title=CustomSolarisPackages"/>
	<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=CustomSolarisPackages&amp;action=history"/>
	<updated>2026-04-11T00:40:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=CustomSolarisPackages&amp;diff=1442&amp;oldid=prev</id>
		<title>Marty at 13:23, 9 March 2008</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=CustomSolarisPackages&amp;diff=1442&amp;oldid=prev"/>
		<updated>2008-03-09T13:23:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:23, 9 March 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l104&quot; &gt;Line 104:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 104:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Processing package instance &amp;lt;ACMEaardvark&amp;gt; from &amp;lt;/net/jet-server/export/install/pkgs/ACMEaardvark/1.0&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Processing package instance &amp;lt;ACMEaardvark&amp;gt; from &amp;lt;/net/jet-server/export/install/pkgs/ACMEaardvark/1.0&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  ACME aardvark package&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  ACME aardvark package&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  (sparc) 1.0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  (sparc) 1.0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l123&quot; &gt;Line 123:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 123:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Installing ACME aardvark package as &amp;lt;ACMEaardvark&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Installing ACME aardvark package as &amp;lt;ACMEaardvark&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  ## Executing preinstall script.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  ## Executing preinstall script.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  ## Installing part 1 of 1.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  ## Installing part 1 of 1.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=CustomSolarisPackages&amp;diff=1441&amp;oldid=prev</id>
		<title>Marty at 13:22, 9 March 2008</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=CustomSolarisPackages&amp;diff=1441&amp;oldid=prev"/>
		<updated>2008-03-09T13:22:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
This document contains the procedures to follow when creating custom ACME packages for use within Solaris 9 and Solaris 8 builds that can then form part of your JET Builds. Packages within Solaris 10 have changed a bit and are ‘zone aware’ …… this is not covered in this document.&lt;br /&gt;
&lt;br /&gt;
===Solaris Packages and JET===&lt;br /&gt;
The Solaris build methodology in use within ACME is JET. JET (Jumpstart Enterprise Toolkit) can use either&lt;br /&gt;
&lt;br /&gt;
* Custom scripts OR&lt;br /&gt;
* Custom packages&lt;br /&gt;
&lt;br /&gt;
As of Solaris 9 the decision was made to move away from custom scripts and over to custom packages.&lt;br /&gt;
&lt;br /&gt;
Packages have more advantages of scripts in that they are self checking and under version control. The remainder of this document walks the reader through an example of how to make such custom packages.&lt;br /&gt;
&lt;br /&gt;
Package source directory on JET (jet-master)&lt;br /&gt;
The package source at the time of writing this document was&lt;br /&gt;
&lt;br /&gt;
/export/source/pkgs&lt;br /&gt;
&lt;br /&gt;
===Building Solaris Packages===&lt;br /&gt;
&lt;br /&gt;
====Give your Package a Name====&lt;br /&gt;
&lt;br /&gt;
A package needs a unique name and traditionally the first 4 characters help to identify the vendor. For this example we will use.&lt;br /&gt;
&lt;br /&gt;
* ACMEaardvark&lt;br /&gt;
&lt;br /&gt;
====Create the source directory structure====&lt;br /&gt;
&lt;br /&gt;
 # mkdir –p /export/source/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
 # cd /export/source/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
&lt;br /&gt;
====Create a pkginfo file====&lt;br /&gt;
&lt;br /&gt;
 # vi pkginfo&lt;br /&gt;
 &lt;br /&gt;
 PKG=&amp;quot;ACMEaardvark&amp;quot;&lt;br /&gt;
 NAME=&amp;quot;ACME aardvark package”&lt;br /&gt;
 ARCH=&amp;quot;sparc&amp;quot;&lt;br /&gt;
 VERSION=&amp;quot;1.0&amp;quot;&lt;br /&gt;
 CATEGORY=&amp;quot;application&amp;quot;&lt;br /&gt;
 VENDOR=&amp;quot;ACME&amp;quot;&lt;br /&gt;
 EMAIL=&amp;quot;firstname.lastname@ACME.co.uk&amp;quot;&lt;br /&gt;
 PSTAMP&amp;quot;15th August 2006&amp;quot;&lt;br /&gt;
 BASEDIR=&amp;quot;/etc&amp;quot;&lt;br /&gt;
 CLASSES=&amp;quot;none&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Create a preinstall script====&lt;br /&gt;
&lt;br /&gt;
 # vi preinstall&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/ksh&lt;br /&gt;
 #do nothing&lt;br /&gt;
&lt;br /&gt;
====Create a postinstall script====&lt;br /&gt;
&lt;br /&gt;
 # vi postinstall&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/ksh&lt;br /&gt;
 #do nothing&lt;br /&gt;
&lt;br /&gt;
====Supply your files to be packaged====&lt;br /&gt;
&lt;br /&gt;
For example&lt;br /&gt;
&lt;br /&gt;
 # touch aardvark.txt&lt;br /&gt;
 # echo “this is the ACMEaardvark package” &amp;gt;&amp;gt; aardvark.txt&lt;br /&gt;
&lt;br /&gt;
====Create a prototype file====&lt;br /&gt;
&lt;br /&gt;
 # cd /export/source/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
 # find . -print | pkgproto &amp;gt;&amp;gt; prototype&lt;br /&gt;
&lt;br /&gt;
Edit this file and modify it so it looks similar to the one shown below&lt;br /&gt;
&lt;br /&gt;
 i pkginfo=./pkginfo&lt;br /&gt;
 i preinstall=./preinstall&lt;br /&gt;
 i postinstall=./postinstall&lt;br /&gt;
 f none aardvark.txt 0644 root other&lt;br /&gt;
&lt;br /&gt;
====Make your package====&lt;br /&gt;
&lt;br /&gt;
 # cd /export/source/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
 # pkgmk -r `pwd`&lt;br /&gt;
&lt;br /&gt;
====Copy package to the JET install area====&lt;br /&gt;
&lt;br /&gt;
 # mkdir -p /export/install/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
 # mv /var/spool/pkg/ACMEaardvark /export/install/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
&lt;br /&gt;
====Test the package install====&lt;br /&gt;
&lt;br /&gt;
As root on a test server(jet-client) do the following&lt;br /&gt;
&lt;br /&gt;
 root@jet-client# cd /net/jet-server/export/install/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
 root@jet-client# /net/jet-server/export/install/pkgs/ACMEaardvark/1.0&amp;gt; pkgadd -d .&lt;br /&gt;
 &lt;br /&gt;
 The following packages are available:&lt;br /&gt;
   1  ACMEaardvark     ACME aardvark package&lt;br /&gt;
                       (sparc) 1.0&lt;br /&gt;
 &lt;br /&gt;
 Select package(s) you wish to process (or 'all' to process&lt;br /&gt;
 all packages). (default: all) [?,??,q]:&lt;br /&gt;
 &lt;br /&gt;
 Processing package instance &amp;lt;ACMEaardvark&amp;gt; from &amp;lt;/net/jet-server/export/install/pkgs/ACMEaardvark/1.0&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ACME aardvark package&lt;br /&gt;
 (sparc) 1.0&lt;br /&gt;
 ACME&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 Using &amp;lt;/etc&amp;gt; as the package base directory.&lt;br /&gt;
 ## Processing package information.&lt;br /&gt;
 ## Processing system information.&lt;br /&gt;
 ## Verifying disk space requirements.&lt;br /&gt;
 ## Checking for conflicts with packages already installed.&lt;br /&gt;
 ## Checking for setuid/setgid programs.&lt;br /&gt;
 &lt;br /&gt;
 This package contains scripts which will be executed with super-user&lt;br /&gt;
 permission during the process of installing this package.&lt;br /&gt;
 &lt;br /&gt;
 Do you want to continue with the installation of &amp;lt;ACMEaardvark&amp;gt; [y,n,?] y&lt;br /&gt;
 &lt;br /&gt;
 Installing ACME aardvark package as &amp;lt;ACMEaardvark&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ## Executing preinstall script.&lt;br /&gt;
 ## Installing part 1 of 1.&lt;br /&gt;
 /etc/aardvark.txt&lt;br /&gt;
 [ verifying class &amp;lt;none&amp;gt; ]&lt;br /&gt;
 ## Executing postinstall script. &lt;br /&gt;
 &lt;br /&gt;
 Installation of &amp;lt;ACMEaardvark&amp;gt; was successful.&lt;br /&gt;
 &lt;br /&gt;
 The following packages are available:&lt;br /&gt;
   1  ACMEaardvark     ACME aardvark package&lt;br /&gt;
                       (sparc) 1.0&lt;br /&gt;
 &lt;br /&gt;
 Select package(s) you wish to process (or 'all' to process&lt;br /&gt;
 all packages). (default: all) [?,??,q]: q&lt;br /&gt;
&lt;br /&gt;
====Copy this new package to the JET install area (making it available for JET installs)====&lt;br /&gt;
Should you wish to make your new package available during a JET build perform the following on the JET master (jet-server):&lt;br /&gt;
&lt;br /&gt;
 root@jet-client# copy_custom_packages /export/install/pkgs/ACMEaardvark/1.0/ sparc ACMEaardvark ACMEaardvark&lt;br /&gt;
 Transferring &amp;lt;ACMEaardvark&amp;gt; package instance&lt;br /&gt;
 Transferring &amp;lt;ACMEaardvark&amp;gt; package instance&lt;br /&gt;
 Packages copied&lt;br /&gt;
&lt;br /&gt;
The ACMEaardvark package is now available for installs via post-install and during a JET build.&lt;br /&gt;
&lt;br /&gt;
To add ACMEaardvark to a JET template do similar to that shown below:&lt;br /&gt;
&lt;br /&gt;
Change the following line in your template&lt;br /&gt;
&lt;br /&gt;
From&lt;br /&gt;
&lt;br /&gt;
custom_packages_1=&amp;quot;l”&lt;br /&gt;
&lt;br /&gt;
To&lt;br /&gt;
&lt;br /&gt;
custom_packages_1=&amp;quot;ACMEaardvark”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will then have to re run `make_client –f &amp;lt;jet-client&amp;gt;` as per the standard JET install instructions.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
</feed>