diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2017-12-18 14:12:58 -0500 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2017-12-18 14:12:58 -0500 |
commit | 4fe3beabbc1718fd8ecc72e85439ab92b8be61d3 (patch) | |
tree | 7da621a5ec5bba052bb7010a5afcadb98ac670ee | |
parent | db07948255b26e83d4ca4c82965f807f83c03898 (diff) |
-rw-r--r-- | Makefile | 2 | ||||
-rwxr-xr-x | bin/hackers-git-init | 28 | ||||
-rwxr-xr-x | bin/hackers-git-update | 29 | ||||
-rw-r--r-- | bin/hooks/00-git-pull | 7 | ||||
-rw-r--r-- | bin/hooks/01-nshd | 5 | ||||
-rw-r--r-- | bin/hooks/02-autobuilder | 5 | ||||
-rw-r--r-- | bin/hooks/03-postfix | 5 | ||||
-rw-r--r-- | hackers-init.service.in | 8 | ||||
-rw-r--r-- | nshd.service.in | 1 |
9 files changed, 89 insertions, 1 deletions
@@ -63,7 +63,7 @@ nested.subdirs += $(dir $(filter %/Makefile,$(_gitfiles.all))) # # Build (post-tarball) -files.out.all += $(addprefix bin/,$(filter-out $(bins_script),$(bins))) nshd.service nshd.sysusers +files.out.all += $(addprefix bin/,$(filter-out $(bins_script),$(bins))) nshd.service hackers-init.service nshd.sysusers files.out.int += go/pkg/ go/bin/ go/bin/* # Go diff --git a/bin/hackers-git-init b/bin/hackers-git-init new file mode 100755 index 0000000..5e26e7b --- /dev/null +++ b/bin/hackers-git-init @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +# Copyright 2017 Luke Shumaker <lukeshu@sbcglobal.net>. +# +# This is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This software is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this manual; if not, see +# <http://www.gnu.org/licenses/>. + +{ + set -e + shopt -s nullglob + mydir="$(dirname "$0")" + gitdir="$(ruby -e "load '$mydir/common.rb'; print File.dirname cfg['yamldir']")" + if [[ -e "$gitdir/.git" ]] && stat -- "$gitdir"/users/*.yml 2>/dev/null; then + exit 0 + fi + install --directory --owner=git --group=git "$gitdir" + sudo -u git git clone git://git.parabola.nu/hackers.git "$gitdir" +} diff --git a/bin/hackers-git-update b/bin/hackers-git-update new file mode 100755 index 0000000..d9d9fc6 --- /dev/null +++ b/bin/hackers-git-update @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +# Copyright 2014, 2016-2017 Luke Shumaker <lukeshu@sbcglobal.net>. +# +# This is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This software is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this manual; if not, see +# <http://www.gnu.org/licenses/>. + +{ + set -e + mydir="$(dirname "$0")" + gitdir="$(ruby -e "load '$mydir/common.rb'; print File.dirname cfg['yamldir']")" + echo '==> Updating system checkout...' + ( + unset GIT_DIR + cd "$gitdir" + git pull + ) + run-parts --arg="$gitdir" -- /etc/parabola-hackers/hooks +} diff --git a/bin/hooks/00-git-pull b/bin/hooks/00-git-pull new file mode 100644 index 0000000..e432f51 --- /dev/null +++ b/bin/hooks/00-git-pull @@ -0,0 +1,7 @@ +#!/bin/bash + +# Update the system checkout of hackers.git +echo '==> Updating system checkout...' +unset GIT_DIR +cd /var/lib/hackers-git +git pull diff --git a/bin/hooks/01-nshd b/bin/hooks/01-nshd new file mode 100644 index 0000000..b3e71e0 --- /dev/null +++ b/bin/hooks/01-nshd @@ -0,0 +1,5 @@ +#!/bin/bash + +# tell nshd +echo '==> Reloading nshd...' +sudo systemctl reload nshd.service diff --git a/bin/hooks/02-autobuilder b/bin/hooks/02-autobuilder new file mode 100644 index 0000000..905aeac --- /dev/null +++ b/bin/hooks/02-autobuilder @@ -0,0 +1,5 @@ +#!/bin/bash + +# tell autobuilder +echo '==> Updating libre/parabola-kerying ...' +~autobuilder/.local/bin/autobuild libre/parabola-keyring users
\ No newline at end of file diff --git a/bin/hooks/03-postfix b/bin/hooks/03-postfix new file mode 100644 index 0000000..2c12c4e --- /dev/null +++ b/bin/hooks/03-postfix @@ -0,0 +1,5 @@ +#!/bin/bash + +/lib/parabola-hackers/postfix-generate-virtual-map > /etc/postfix/virtual-hackers +postmap hash:/etc/postfix/virtual-hackers +systemctl reload postfix.service diff --git a/hackers-init.service.in b/hackers-init.service.in new file mode 100644 index 0000000..a216414 --- /dev/null +++ b/hackers-init.service.in @@ -0,0 +1,8 @@ +[Unit] +Description=Initialize hackers.git +Wants=network-online.target + +[Service] +ExecStart=@bindir@/hackers-git-init +Type=oneshot +RemainAfterExit=yes diff --git a/nshd.service.in b/nshd.service.in index 6aa3d2f..4b9784c 100644 --- a/nshd.service.in +++ b/nshd.service.in @@ -1,6 +1,7 @@ [Unit] Description=Name Service hackers.git Daemon Requires=nshd.socket +Wants=hackers-init.service Wants=nss-user-lookup.target Before=nss-user-lookup.target |