# HG changeset patch # User Michael Schloh von Bennewitz # Date 1343938049 -7200 # Node ID dec7ed8e8eafdf698d837ac1058784553063a9b2 # Parent f612614bead735d17537dd2b9c3d26fc7283fdfd Correct and update smf(5) logic to accommodate latest vendor version. Support older and newer platforms by condtionally installing the manifest to either /var/svc or cacnonical /lib/svc, and avoid usage of svccfg(1) delete now considered risky. Leverage create_default_instance smf macro to specify default instance instead of using instance element. Provide a refresh execution method along with start and stop. Neither change permissions of manifest nor call the redundant svcadm(1) disable. diff -r f612614bead7 -r dec7ed8e8eaf openpkg/openpkg.spec --- a/openpkg/openpkg.spec Thu Aug 02 01:49:00 2012 +0200 +++ b/openpkg/openpkg.spec Thu Aug 02 22:07:29 2012 +0200 @@ -2696,10 +2696,11 @@ ;; SunOS/5.1* ) suname="`echo "$prefix" | sed -e 's;[^a-zA-Z0-9];;g'`" - if [ ! -d /var/svc/manifest/openpkg ]; then - mkdir /var/svc/manifest/openpkg + svcdir=/`[ -d /lib/svc/manifest ] && echo lib || echo var` + if [ ! -d /${svcdir}/svc/manifest/openpkg ]; then + mkdir /${svcdir}/svc/manifest/openpkg fi - if [ ! -f /var/svc/manifest/openpkg/${suname}.xml ]; then + if [ ! -f /${svcdir}/svc/manifest/openpkg/${suname}.xml ]; then # install SMF manifest ( echo "" echo "" @@ -2708,6 +2709,7 @@ echo " name='openpkg/${suname}'" echo " type='service'" echo " version='1'>" + echo " " echo " " echo " " echo " " + echo " " + echo " " + echo " " + echo " " + echo " " @@ -2770,7 +2781,6 @@ echo " type='astring'" echo " value='solaris.smf.manage.openpkg.${suname}' />" echo " " - echo " " echo " " echo " " echo " " echo "" - ) >/var/svc/manifest/openpkg/${suname}.xml - chmod 644 /var/svc/manifest/openpkg/${suname}.xml + ) >/${svcdir}/svc/manifest/openpkg/${suname}.xml /usr/sbin/svcadm restart svc:/system/manifest-import - ( echo "/usr/sbin/svcadm enable \"svc:/openpkg/${suname}:default\"" + ( echo "/usr/sbin/svcadm enable svc:/openpkg/${suname}:default" ) >%{l_prefix}.pre-post-process.sh fi ;; @@ -3588,10 +3597,11 @@ ;; SunOS/5.1* ) suname="`echo "$prefix" | sed -e 's;[^a-zA-Z0-9];;g'`" - /usr/sbin/svcadm disable "svc:/openpkg/${suname}:default"; sleep 2 - /usr/sbin/svccfg delete -f "svc:/openpkg/${suname}:default" >/dev/null 2>&1 || true - rm -f /var/svc/manifest/openpkg/${suname}.xml >/dev/null 2>&1 - rmdir /var/svc/manifest/openpkg >/dev/null 2>&1 || true + svcdir=/`[ -d /lib/svc/manifest ] && echo lib || echo var` + /usr/sbin/svcadm disable svc:/openpkg/${suname}:default; sleep 2 + rm -f /${svcdir}/svc/manifest/openpkg/${suname}.xml >/dev/null 2>&1 + rmdir /${svcdir}/svc/manifest/openpkg >/dev/null 2>&1 || true + /usr/sbin/svcadm restart svc:/system/manifest-import ;; SunOS/5.* ) rm -f /etc/init.d/${name} >/dev/null 2>&1