IPS Conversion

From Genunix

Jump to: navigation, search

Conversion of SVR4 packages to the Image Packaging System (IPS)

IPS Project Page: http://www.opensolaris.org/os/project/pkg/

Proposed Build Changes


(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
Personal tools