summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile26
1 files changed, 20 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index 06be006..f3b7afe 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,4 @@
+SHELL=/bin/bash
# The git user home, from where repos are served
PREFIX=/srv/git
# The git user
@@ -7,18 +8,31 @@ GIT_SHELL=/usr/bin/git-shell
# The hacking.git clone
HACKERS=$(shell pwd)
+# Add all of your pubkeys
+# TODO this can fail if you don't have any keys (why don't you)
+bootstrap:
+ cat $(HOME)/.ssh/id_{rsa,ecdsa,dsa}.pub >>authorized_keys 2>/dev/null || true
+ git commit authorized_keys -m "Bootstraping hacking.git" ; \
+
# Create the user
user:
useradd --home $(PREFIX) \
- --shell $(GIT_SHELL) \
- --create-home \
- --system \
- --user-group \
- $(USER)
+ --shell $(GIT_SHELL) \
+ --create-home \
+ --system \
+ --user-group \
+ $(USER)
+
+# Check if we have at least a key
+check:
+ if [ $(shell wc -l authorized_keys | cut -d' ' -f1) -eq 0 ]; then \
+ echo 'Add at least your key to authorized_keys!'; \
+ exit 1 ;\
+ fi
# Create the hackers.git bare repo and clone as .ssh
# Then create needed symlinks and add hooks to hackers.git
-install:
+install: check
cd $(PREFIX); \
git clone --bare $(HACKERS) hackers.git && \
git clone hackers.git .ssh && \