X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=packaging%2Ffreebsd%2Fsecurity%2Fmonkeysphere%2Fpkg-install;fp=packaging%2Ffreebsd%2Fsecurity%2Fmonkeysphere%2Fpkg-install;h=70d37b57514be6bd090a5e897d11d180d813b916;hb=846174da30ba5e96c6537a1a5c88666b3120177b;hp=0000000000000000000000000000000000000000;hpb=46cb105f343f7e9e97be60dcf32fae50a1463c29;p=monkeysphere.git diff --git a/packaging/freebsd/security/monkeysphere/pkg-install b/packaging/freebsd/security/monkeysphere/pkg-install new file mode 100755 index 0000000..70d37b5 --- /dev/null +++ b/packaging/freebsd/security/monkeysphere/pkg-install @@ -0,0 +1,72 @@ +#!/bin/sh + +# an installation script for monkeysphere (borrowing liberally from +# postgresql and mysql pkg-install scripts, and from monkeysphere's +# debian/monkeysphere.postinst) + +# Author: Daniel Kahn Gillmor +# Copyright 2008 + +# FIXME: is /var/lib/monkeysphere the right place for this stuff on +# FreeBSD? + +# PostgreSQL puts its data in /usr/local/pgsql/data + +# MySQL puts its data in /var/db/mysql + +VARLIB="/var/monkeysphere" +ETCDIR="/usr/local/etc/monkeysphere" + +case $2 in +POST-INSTALL) + USER=monkeysphere + GROUP=${USER} + UID=641 + GID=${UID} + SHELL=/usr/local/bin/bash + + if pw group show "${GROUP}" >/dev/null 2>&1; then + echo "You already have a group \"${GROUP}\", so I will use it." + else + if pw groupadd ${GROUP} -g ${GID}; then + echo "Added group \"${GROUP}\"." + else + echo "Adding group \"${GROUP}\" failed..." + exit 1 + fi + fi + + if pw user show "${USER}" >/dev/null 2>&1; then + oldshell=`pw user show "${USER}" 2>/dev/null | cut -f10 -d:` + if [ x"$oldshell" != x"$SHELL" ]; then + echo "You already have a \"${USER}\" user, but its shell is '$oldshell'." + echo "This package requires that \"${USER}\"'s shell be '$SHELL'." + echo "You should fix this by hand and then re-install the package." + echo " hint: pw usermod '$USER' -s '$SHELL'" + exit 1 + fi + echo "You already have a user \"${USER}\" with the proper shell, so I will use it." + else + if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \ + -d "$VARLIB" -s /usr/local/bin/bash -c "monkeysphere authentication user,,," + then + echo "Added user \"${USER}\"." + else + echo "Adding user \"${USER}\" failed..." + exit 1 + fi + fi + + ## set up the cache directories, and link them to the config files: + + install -d -o root -g monkeysphere -m 750 "$VARLIB"/gnupg-host + ln -sf "$ETCDIR"/gnupg-host.conf "$VARLIB"/gnupg-host/gpg.conf + + install -d -o monkeysphere -g monkeysphere -m 700 "$VARLIB"/gnupg-authentication + ln -sf "$ETCDIR"/gnupg-authentication.conf "$VARLIB"/gnupg-authentication/gpg.conf + + install -d "$VARLIB"/tmp "$VARLIB"/authorized_keys + + monkeysphere-server diagnostics + ;; +esac