X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=packaging%2Ffreebsd%2Fpkg-install;h=70d37b57514be6bd090a5e897d11d180d813b916;hb=46cb105f343f7e9e97be60dcf32fae50a1463c29;hp=dc75cf7b1ded009cc6b0859afc7cac0f13644d57;hpb=85b105c27fb67921199d282dc90d612c9b525bee;p=monkeysphere.git diff --git a/packaging/freebsd/pkg-install b/packaging/freebsd/pkg-install index dc75cf7..70d37b5 100755 --- a/packaging/freebsd/pkg-install +++ b/packaging/freebsd/pkg-install @@ -15,6 +15,7 @@ # MySQL puts its data in /var/db/mysql VARLIB="/var/monkeysphere" +ETCDIR="/usr/local/etc/monkeysphere" case $2 in POST-INSTALL) @@ -22,8 +23,9 @@ POST-INSTALL) GROUP=${USER} UID=641 GID=${UID} + SHELL=/usr/local/bin/bash - if pw group show "${GROUP}" 2>/dev/null; then + 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 @@ -34,11 +36,19 @@ POST-INSTALL) fi fi - if pw user show "${USER}" 2>/dev/null; then - echo "You already have a user \"${USER}\", so I will use it." + 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 /sbin/sh -c "monkeysphere authentication user,,," + -d "$VARLIB" -s /usr/local/bin/bash -c "monkeysphere authentication user,,," then echo "Added user \"${USER}\"." else @@ -47,21 +57,16 @@ POST-INSTALL) fi fi - ## set up the cache directories: + ## set up the cache directories, and link them to the config files: - install --owner root --group monkeysphere --mode 750 -d "$VARLIB"/gnupg-host - cat < "$VARLIB"/gnupg-host/gpg.conf -list-options show-uid-validity -EOF + install -d -o root -g monkeysphere -m 750 "$VARLIB"/gnupg-host + ln -sf "$ETCDIR"/gnupg-host.conf "$VARLIB"/gnupg-host/gpg.conf - install --owner monkeysphere --group monkeysphere --mode 700 -d "$VARLIB"/gnupg-authentication -# install authentication gpg.conf - cat < "$VARLIB"/gnupg-authentication/gpg.conf -list-options show-uid-validity -primary-keyring $VARLIB/gnupg-authentication/pubring.gpg -keyring $VARLIB/gnupg-host/pubring.gpg -EOF - chown monkeysphere:monkeysphere "$VARLIB"/gnupg-authentication/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