|
@@ -0,0 +1,88 @@
|
|
|
+#! /bin/pfsh
|
|
|
+
|
|
|
+prefix=@prefix@
|
|
|
+exec_prefix=@exec_prefix@
|
|
|
+
|
|
|
+grep solaris.smf.value.gearman /etc/security/auth_attr > /dev/null
|
|
|
+if [ $? -ne 0 ]
|
|
|
+then
|
|
|
+ ed /etc/security/auth_attr <<EOF
|
|
|
+a
|
|
|
+solaris.smf.value.gearman:::Change Gearman value properties::
|
|
|
+solaris.smf.manage.gearman:::Manage Gearman service states::
|
|
|
+.
|
|
|
+w
|
|
|
+q
|
|
|
+EOF
|
|
|
+ if [ $? -ne 0 ]
|
|
|
+ then
|
|
|
+ echo "Failed to add authorization definitions"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+fi
|
|
|
+
|
|
|
+grep solaris.smf.manage.gearman /etc/security/prof_attr
|
|
|
+if [ $? -ne 0 ]
|
|
|
+then
|
|
|
+ ed /etc/security/prof_attr <<EOF
|
|
|
+a
|
|
|
+Gearman Administration::::auths=solaris.smf.manage.gearman,solaris.smf.value.gearman
|
|
|
+.
|
|
|
+w
|
|
|
+q
|
|
|
+EOF
|
|
|
+
|
|
|
+ if [ $? -ne 0 ]
|
|
|
+ then
|
|
|
+ echo "Failed to add profile definitions"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+fi
|
|
|
+
|
|
|
+getent group gearmand > /dev/null
|
|
|
+if [ $? -ne 0 ]
|
|
|
+then
|
|
|
+ groupadd gearmand
|
|
|
+ if [ $? -ne 0 ]
|
|
|
+ then
|
|
|
+ echo "Failed to create group gearmand"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+fi
|
|
|
+
|
|
|
+getent passwd gearmand > /dev/null
|
|
|
+if [ $? -ne 0 ]
|
|
|
+then
|
|
|
+ roleadd -c "Gearman daemon" -d @localstatedir@ -g gearmand \
|
|
|
+ -A solaris.smf.value.gearman,solaris.smf.manage.gearman gearmand
|
|
|
+ if [ $? -ne 0 ]
|
|
|
+ then
|
|
|
+ echo "Failed to create role gearmand"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+
|
|
|
+ mkdir -p @localstatedir@
|
|
|
+ chown gearmand:gearmand @localstatedir@
|
|
|
+fi
|
|
|
+
|
|
|
+/usr/sbin/install -f /lib/svc/method gearmand
|
|
|
+if [ $? -ne 0 ]
|
|
|
+then
|
|
|
+ echo "Failed to install smf startup script"
|
|
|
+ exit 1
|
|
|
+fi
|
|
|
+
|
|
|
+/usr/sbin/install -f /var/svc/manifest/application -m 0444 gearmand.xml
|
|
|
+if [ $? -ne 0 ]
|
|
|
+then
|
|
|
+ echo "Failed to install smf definition"
|
|
|
+ exit 1
|
|
|
+fi
|
|
|
+
|
|
|
+svccfg import /var/svc/manifest/application/gearmand.xml
|
|
|
+if [ $? -ne 0 ]
|
|
|
+then
|
|
|
+ echo "Failed to import smf definition"
|
|
|
+ exit 1
|
|
|
+fi
|
|
|
+
|