swmodify - Modify software catalog
No additional rationale is required under this heading.
The swmodify command provides the write interface to the catalog information. For installed software this may be in an implementation specific manner. A write interface is needed to support portability between conforming implementations. In particular, an implementation may need to import current data dumped from a previously used implementation.Another objective of this Software Administration specification to provide administrator portability. A write interface provides a standard way for administrators to integrate software initially administered (installed) using other tools besides those defined in this Software Administration specification.
Finally, there needs to be a standard way for a software vendor to access and modify attributes in the catalog belonging to their product from their vendor-defined scripts, or from the execution of the product itself.
The swmodify command line interface meets these key objectives. There could be an additional requirement that a standard programmatic interface be defined for access to the catalog by the target role. The objective here would be to be able to link in different conforming catalog implementations with the conforming target role. This objective can only be (reasonably) met by defining a programmatic interface, as well as the data structures needed to represent all software objects and attributes. Alternatively, a standard object-oriented interface for setting and committing objects to a standard administration catalog could be defined through which this Software Administration specification could support its defined software objects. This is not an objective of this Software Administration specification at this time. This utility may be used to perform the following tasks:
- Modify or fix attributes at all levels of a distribution or installed_software object.
- Add and delete software objects from within scripts or other management interfaces.
- Add and delete software file objects from scripts or other management interfaces. This is similar to installf in SVR4.
- Convert the format of installed_software databases such as when one database technology is being replaced by another.
A proposal was discussed to extend swmodify to provide an interface into modifying the attributes of the defaults files for the various utilities. The syntax for modifying an attribute would be
- swmodify -l <utility> -a <option>=<value>
No additional rationale is required under this heading.
When an exported_catalog is specified (a file in the software definition format or a directory in the exported catalog structure), any software selections apply to the exported_catalog, not the target. If the software from the exported_catalog matches more than one software object in the target, those modifications are not applied.If an exported_catalog is not specified, the software selections apply just to the target. If they resolve to more than one software object, those modifications are not applied.
The
files
option provides a convenient interface for adding to the catalog
files that were created by control scripts,
without having to create an intermediate input file.
This provides function equivalent to that of the SVR4
installf
command.
For example:
-
-
cp $SW_ROOT_DIRECTORY/$SW_LOCATION/lib/default \
$SW_ROOT_DIRECTORY/etc/file
swmodify -x files=$SW_ROOT_DIRECTORY/etc/file \
Product.Fileset,l=$SW_LOCATION
No additional rationale is required under this heading.
No additional rationale is required under this heading.
Reload an installed_software catalog:
- swmodify -c swlist_output_dir
Add a software object defined in the software definition file format:
- swmodify -c swmodify_input_file
Delete an obsolete fileset:
- swmodify -u Product.Fileset
Delete three files from a configure script:
- swmodify -u -x files="file1 file2 file3" Product.Fileset
Modify a distribution level attribute:
- swmodify -d -a name=$NAME
Committing a patch:
- swmodify -x patch_commit=true X11.Runtime,r=1.0.8
- The patch shown above is now committed and can not be rolled back.
- Note:
- patch_commit needs to be able to commit all patches back to the base.
No additional rationale is required under this heading.
No additional rationale is required under this heading.
Contents | Next section | Index |