IPS Conversion
From Genunix
Conversion of SVR4 packages to the Image Packaging System (IPS)
IPS Project Page: http://www.opensolaris.org/os/project/pkg/
(1) Concepts =====
(1a) Existing OHAC SVR4 packages that do NOT have installation scripts can be converted to IPS packages in a mechanical manner, still TBD.
(1b) Existing OHAC SVR4 packages that DO have postinstall scripts first will be converted in the same manner as (1a) then their install scripts ported to stand-alone shell scripts which will be added to the package as a new file to be delivered into the cluster namespace. Finally, a SMF service will be created which utilizes the shell script for postinstallation tasks. The SMF service will be started automatically upon package installation
(1c) It is not yet entirely clear how preinstall and preremove scripts will be handled. A discussion with the IPS team has begun but has not yet led to potential solutions.
(1d) Current plans call for some existing SVR4 packages to be combined into a single IPS package. This will be a handcrafted task, probably done best after (1a) and in conjunction with (1b).
(2) Current SVr4 package scripts ======
System V Packaging Scripts for Cluster Core Packages
| SVR4 Package Name (Core Packages) | Script | Description of Actions | Proposed Solution |
| SUNWscr | preserve | ||
| SUNWmdmr SUNWscmasar SUNWscqsr SUNWscr SUNWsczr | manifest | ||
| SUNWscqsr SUNWscr SUNWsczr | rbac | ||
| SUNWmdmr | preinstall | Copy the meddb to a safe place | Use PRESERVE action for this purpose. But how do we invoke the action ? |
| postinstall | metamedd & metacld service configurations to /etc/inetd.conf & /etc/rpc | Script already has a idempotent insertion operation in to inetd.conf or use a SMF action | |
| preremove | Disable metacld SMF serivice | Should be made part of the Cluster Pre Remove Configuration Script or see if we have a way to invoke this using SMF action | |
| postremove | Remove entries for metamedd & metacld from /etc/rpc & /etc/inet/inet.con | Can we use SMF action | |
| SUNWscr | preinstall | Delete a pre-existing SMF service (sccheckd/tcp, rpc-100145_1/rpc_circuit_v, rpc-100533_1/rpc_circuit_v) | Do we have a DELETE action or use SMF action |
| postinstall | Update ${BASEDIR}/etc/devlinks, Make ${BASEDIR}/global/.devices/node@${nodeid} directories, Insert "sd_retry_on_reservation_conflict=0" in sd.conf, Insert "sd_retry_on_reservation_conflict=0" in ssd.conf, Add appropriate lines to /etc/system, Set up a temporary did_update_vfstab link in rc directory, Update /etc/iu.ap file to include clhbsndr for public net devices, add the clprivnet device driver to the system, add entries to /var/spool/cron/crontabs/root, add entry to /kernel/drv/log.conf to turn on message id logging., Update ${BASEDIR}/etc/rpc, Update ${BASEDIR}/etc/services, Enable SMF manifests, Update ${BASEDIR}/etc/inetd.conf, Signal inetd, Add entries to ${BASEDIR}/var/svc/profile/upgrade to delete cluster, SMF services that existed prior to 3.2 but not in 3.2 | clprivnet device driver can be added using the DRIVER action. Except that rest of the configuration tasks can be made part of the post-install-configuration or use SMF action | |
| preremove | Remove ${BASEDIR}/global/.devices/node@${nodeid} directories, Remove clhbsndr entries from ${BASEDIR}/etc/iu.ap file, Disable all SMF manifests | Could be made part of the pre remove cluster configuration script | |
| postremove | Remove clprivnet driver, Remove our changes to ${BASEDIR}/etc/devlink.tab, Remove our changes to ${BASEDIR}/kernel/drv/sd.conf, Remove our changes to ${BASEDIR}/kernel/drv/ssd.conf, Remove our changes to ${BASEDIR}/etc/system, Remove our changes to ${BASEDIR}/etc/iu.ap, Remove our changes to ${BASEDIR}/kernel/drv/log.conf, Remove our changes to ${BASEDIR}/var/spool/cron/crontabs/root, Remove our changes to ${BASEDIR}/etc/inetd.conf, Remove our changes to ${BASEDIR}/etc/rpc, Remove our changes to ${BASEDIR}/etc/services | use SMF action | |
| SUNWscrdt | preinstall | Remove existing rsmrdt driver | Is there a DELETE Action or use SMF action ? |
| postinstall | Add the rsmrdt driver & add the clif_rsmrdt module and update a few files (/etc/devlinks.tab) | Driver addition can be done using the DRIVER action | |
| preremove | Remove the rsmrdt driver & remove entries in /etc/devlink.tab & rsmrdt module | No driver removal if the driver is added using driver action | |
| SUNWscmac | postinstall | Copy over a bunch of tared macros to /usr/cluster/lib/adb (or) /usr/cluster/lib/adb/sparcv9 | Can we modify this as part of FILE action ? |
| preremove | Delete the macros copied in /usr/cluster/lib/adb & adb/sparcv9/ | Automatically removed as package adds these files using file action | |
| SUNWscmasar | postinstall | Enable the sckeysync SMF service on reboot | Already an SMF action |
| preremove | Disable sckeysync SMF service | Trigger the SMF action | |
| SUNWscqsr | postinstall | Add an entry in to /etc/services file and enable quorumserver SMF service | Use a SMF action |
| preremove | Disable quorumserver SMF service | Could be made part of pre remove cluster configuration | |
| postremove | Remove entries for quorumserver from /etc/services | use a SMF action | |
| SUNWscspmu | postinstall | Copying over a bunch of .jar & .properties files from one place in the installed node to another location & start the smcwebserver | Can the copying be made using the FILE actions ? |
| preremove | Delete *.jar files & properties files from /SunClusterManager/WEB-INF/lib/ | Automatically removed because we add using file action | |
| SUNWscucm | postinstall | Add entries /etc/inet.conf & /etc/rpc files related to ucmm service | use SMF action |
| postremove | Remove entries for ucmm from /etc/rpc & /etc/inet/inet.conf | use SMF action | |
| SUNWsctelemetry | preremove | Delete a temp file /var/tmp/telemetry_backlog | use SMF action |
| SUNWudlm | postremove | Delete /opt/SUNWudlm/bin/udlmctl | use SMF action |
System V Packaging Scripts for Data Services
| SVR4 Package Name (Data Services) | Script | Description of Actions | Proposed Solution |
| SUNWscapc | postinstall | Run serviceregister -f with the respective xml files to register | Use SMF action |
| postremove | Run serviceregister -r with the respective xml files to unregister | Use SMF action | |
| SUNWscnfs | postinstall | Run serviceregister -f with the respective xml files to register | Use SMF action |
| postremove | Run serviceregister -r with the respective xml files to unregister | Use SMF action | |
| SUNWscor | postinstall | Run serviceregister -f with the respective xml files to register | Use SMF action |
| postremove | Run serviceregister -r with the respective xml files to unregister | Use SMF action | |
| SUNWscsapwebas | postinstall | Run serviceregister -f with the respective xml files to register | Use SMF action |
| postremove | Run serviceregister -r with the respective xml files to unregister | Use SMF action |
System V Packaging Scripts for Geographic Edition
| SVR4 Package Name (Geographic Edition) | Script | Description of Actions | Proposed Solution |
| ALL Packages | checkinstall | Ensures that package is only installed in the global zone. | Unknown. Allow install and move check to startup? |
| SUNWscgctl SUNWscgrepavsu SUNWscgrepodgu SUNWscgrepsrdfu SUNWscgreptcu | i.properties | Class action install script to copy *.property files, and (if GUI present) register them with Lockhart. | Unclear, depends on GUI future. For CLI files could be installed elsewhere. |
| SUNWscgctl SUNWscgrepavsu SUNWscgrepodgu SUNWscgrepsrdfu SUNWscgreptcu | r.properties | Class action remove script to delete *.property files, and (if GUI present) unregister them from Lockhart. | Unclear, depends on GUI future. For CLI files could be installed elsewhere. |
| SUNWscgctl | preremove | Deletes SCGE service tag entries | Move to product startup, where old entries would be found and deleted, prior to creation of the new one. Will be misleading, since it won't remove tags with product removal. |
| SUNWscgctlr | postinstall | Deploys (i.e. loads) Cacao modules. | |
| preremove | Stops product, unloads Cacao modules. Restarts Cacao to workaround bug 6491214 | No obvious candidate to ensure product is stopped before removal. Fixing bug will help with the Cacao issue. | |
| postremove | Restarts Cacao if preremove stopped it, as workaround to bug 6491214 | Fix bug. | |
| SUNWscghbr | postinstall | Starts heartbeat responder daemon. | Move to product start script. |
| preremove | Stops heartbeat responder daemon. | Document the need to manually stop the daemon before removal. | |
| SUNWscgrepavs | postinstall | Creates symbolic link from /opt to RT repository. | Install files directly in RT repository, instead of in /opt |
| postremove | Deletes link from /opt to RT repository. | Unnecessary if files installed in RT repository. | |
| SUNWscgrepsrdf | postinstall | Creates symbolic link from /opt to RT repository. | Install files directly in RT repository, instead of in /opt |
| postremove | Deletes link from /opt to RT repository. | Unnecessary if files installed in RT repository. | |
| SUNWscgreptc | postinstall | Creates symbolic link from /opt to RT repository. | Install files directly in RT repository, instead of in /opt |
| postremove | Deletes link from /opt to RT repository. | Unnecessary if files installed in RT repository. | |
| SUNWscgspm | postinstall | Stops Lockhart, registers all GUI stuff, restarts Lockhart. | Depends on GUI future. |
| preremove | Unregisters all GUI stuff, stops/starts Lockhart. | Depends on GUI future. |
System V Packaging Scripts related to Europa which have not been investigated
| SVR4 Package Name (Europa Packages) | Script | Description of Actions | Proposed Solution |
| SUNWegcfr SUNWegcfzr SUNWegchbr SUNWegcsr | manifest - class action | ||
| SUNWegcff SUNWegcfr SUNWegcfzr SUNWegchbr SUNWegcsr | postinstall | ||
| preremove |
