summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/ii-connect31
-rwxr-xr-xconf/default.conf4
2 files changed, 35 insertions, 0 deletions
diff --git a/bin/ii-connect b/bin/ii-connect
new file mode 100755
index 0000000..5c38367
--- /dev/null
+++ b/bin/ii-connect
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# run and handle the irc client
+
+# shellcheck source=conf/default.conf
+. "${0%/*}/../conf/default.conf"
+
+# start ii if it is not running
+if ! pgrep -x ii > /dev/null; then
+ rm -rf --one-file-system "${irc_dir}"
+ screen -d -m ii -f buildmaster -n buildmaster
+ sleep 10
+fi
+
+# register if not yet done
+if tail -n1 "${irc_dir}/nickserv/out" 2> /dev/null | \
+ grep -qF 'This nickname is registered. Please choose a different nickname'; then
+ printf 'identify %s\n' "${irc_password}" > \
+ "${irc_dir}/nickserv/in"
+fi
+
+# join #archlinux-ports if not yet done
+if ! grep ' buildmaster\.archlinux32\.org .* buildmaster$' "${irc_dir}/out" | \
+ tail -n1 | \
+ grep -q ' #archlinux-ports '; then
+ {
+ echo '/j #archlinux-ports'
+ echo '/WHO buildmaster'
+ } > \
+ "${irc_dir}/in"
+fi
diff --git a/conf/default.conf b/conf/default.conf
index 34c1ccf..a73c3db 100755
--- a/conf/default.conf
+++ b/conf/default.conf
@@ -96,6 +96,10 @@ staging_package_repositories=$(
printf '%s\n' 'community-staging' 'staging'
)
+# irc client configuration
+irc_dir='/home/slave/irc/irc.freenode.net'
+irc_password='top_secret'
+
# possibly pull in custom modifications
# shellcheck source=/dev/null