Fixes to invirtibuilder for case of missing package in super-repo, missing
[invirt/packages/invirt-dev.git] / debian / invirt-dev.postinst
1 #!/bin/sh
2 set -e
3
4 #DEBHELPER#
5
6 case "$1" in
7     configure)
8         if ! getent passwd repository >/dev/null 2>&1; then
9             adduser --system repository
10         fi
11         if ! getent group repo >/dev/null 2>&1; then
12             addgroup --system repo
13         fi
14
15         if ! getent passwd git >/dev/null 2>&1; then
16             adduser --system --home /srv/git --shell /usr/bin/git-shell git
17         fi
18
19         if ! [ -d /srv/git ]; then
20             mkdir -p /srv/git
21         fi
22
23         cat >>/etc/sudoers <<EOF
24 ### BEGIN invirt-dev
25 %repo   ALL=(repository)        ALWAYS_SET_HOME,NOPASSWD: /usr/bin/reprepro
26 ### END invirt-dev
27 EOF
28
29         update-inetd --add \
30             'git\tstream\ttcp\tnowait\tgit\t/usr/bin/git\tgit daemon --inetd --syslog --verbose --export-all --base-path=/srv/git /srv/git'
31
32         echo "-----"
33         echo "invirt-dev: run"
34         echo "  adduser --disabled-password \$user"
35         echo "  adduser \$user repo"
36         echo "  adduser \$user sbuild"
37         echo "to make individual users that will build packages."
38         echo "-----"
39
40         invirt-configure-git-hooks || {
41             echo "-----"
42             echo "invirt-dev: Could not configure git hooks."
43             echo "Run 'invirt-configure-git-hooks' once you"
44             echo "have configured your repositories appropriately."
45             echo "-----"
46         }
47     ;;
48
49     abort-upgrade|abort-remove|abort-deconfigure)
50     ;;
51
52     *)
53         echo "postinst called with unknown argument \`$1'" >&2
54         exit 1
55     ;;
56 esac
57
58 if [ -x /etc/init.d/invirtibuilder ]; then
59     if hash invoke-rc.d 2>/dev/null; then
60         invoke-rc.d invirtibuilder start
61     else
62         /etc/init.d/invirtibuilder start
63     fi
64 fi