Defining an Installation Depot

The next example defines a single SD depot from which software can be installed. Two different pieces of software are defined for the SD depot. Each can be selected independently for installation. The impacts lines tell Ignite-UX how much space this software requires in a given directory. This information is used to size the file systems correctly. The sw_category construct enables you to group the software so the GUI can present it in chunks that make sense to you. Because this example references an SD depot, it have been created by make_config:

sw_source "ee_apps_depot" {

description = "Electrical Engineering Application Depot" source_format = SD

source_type = "NET"

sd_server = "10.23.45.6"

sd_depot_dir = "/var/opt/ignite/depots/Rel_B.11.11/ee_apps"

}

sw_category "Applications" { description = "User Applications"

}

sw_sel "EE CAD Package" { sw_source = "ee_apps_depot" sw_category = "Applications"

sd_software_list = "EECad,r=1.2,a=HP-UX_B.11.11" impacts = "/var" 90524Kb

impacts = "/sbin" 1248Kb

}

sw_sel "EE Routing Package" { sw_source = "ee_apps_depot" sw_category = "Applications"

sd_software_list = "EERoute,r=2.4,a=HP-UX_B.11.11" impacts = "/usr" 12568Kb

impacts = "/var" 26788Kb

}

Customizations based on the client hardware

The configuration file syntax provides a large number of system attribute keywords that describe the client. Some examples are:

disk[hw_path].size

size of the disk at the specified hw_path

memory

amount of memory present on the client

hardware_model

string returned from uname -m

, lla

MAC address of the client

Using the logical expressions provided by instl_adm(4), you can use system attribute keywords to construct expressions in configuration files so that a particular clause is only included in specific client situations. The basic format of these clauses is:

(x){y}

which translates roughly to "if the expression x is true, then do y."

For example, this clause sets the size of two kernel tunable parameters if the client has more than

4096 MB of memory:

(memory > 4096MB) {

mod_kernel += "nproc (20+100*MAXUSERS)" mod_kernel += "maxuprc 1000"

}

As another example, use this if you want to run a script to do some particular graphics customizations, but you only want to do so when the client has the appropriate hardware:

(graphics[0].planes > 0) { post_config_script +=

168 Customizing your installation