aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorbobpaul2020-02-17 23:22:03 -0600
committerbobpaul2020-02-17 23:22:03 -0600
commit4c3b5b147362d56131392718dc2f0157a20b777f (patch)
tree2a819b49a155fb0d09e9c3089bdbeeed46b56cbd
downloadaur-4c3b5b147362d56131392718dc2f0157a20b777f.tar.gz
Initial commit
-rw-r--r--.SRCINFO71
-rw-r--r--PKGBUILD68
-rw-r--r--README31
-rw-r--r--mautrix-hangouts-db-upgrade16
-rw-r--r--mautrix-hangouts.service18
-rw-r--r--sysusers-mautrix-hangouts.conf1
-rw-r--r--tmpfiles-mautrix-hangouts.conf1
-rw-r--r--usr-share.patch16
8 files changed, 222 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..f993b1ad5445
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,71 @@
+pkgbase = mautrix-hangouts-git
+ pkgdesc = A Matrix-Hangouts puppeting bridge with multi-user support
+ pkgver = r49.1241db9
+ pkgrel = 1
+ arch = any
+ license = AGPLv3
+ makedepends = npm
+ makedepends = git
+ depends = python
+ depends = python-aiohttp
+ depends = python-alembic
+ depends = python-sqlalchemy
+ depends = python-commonmark
+ depends = python-ruamel-yaml
+ depends = python-mautrix
+ depends = python-magic-git
+ depends = hangups
+ conflicts = mautrix-hangouts
+ source = mautrix-hangouts::git+https://github.com/tulir/mautrix-hangouts
+ source = usr-share.patch
+ source = README
+ source = mautrix-hangouts-db-upgrade
+ source = sysusers-mautrix-hangouts.conf
+ source = tmpfiles-mautrix-hangouts.conf
+ source = mautrix-hangouts.service
+ sha256sums = SKIP
+ sha256sums = 627acf28bc80600abb3c0ddf4b0ed563bd77814687c96afabaf1779a55c335d9
+ sha256sums = 2a3037d12ddb8a8d98360cf6ea4f6b0f086a299dd0e505dfa8f4902be9801f45
+ sha256sums = 918d04d07223c83324e18f44fc181abaadc49b747de76a9bcfd48e6bdda6bd05
+ sha256sums = 36aee765d66afa89778962432660ff49f711bf6982758e0c572d760568555758
+ sha256sums = e078d74a16e9cbf8b7f6426274256e72f84ab34ed29c240cce3249985fb566da
+ sha256sums = 6cef4d60dbe05b92c8d5a2353de3e3ea8b3b34a25aad27c0b985f62e8942e833
+
+pkgname = mautrix-hangouts-git
+
+pkgbase = mautrix-hangouts-git
+ pkgdesc = A Matrix-Hangouts puppeting bridge with multi-user support
+ pkgver = r49.1241db9
+ pkgrel = 1
+ arch = any
+ license = AGPLv3
+ makedepends = npm
+ makedepends = git
+ depends = python
+ depends = python-aiohttp
+ depends = python-alembic
+ depends = python-sqlalchemy
+ depends = python-commonmark
+ depends = python-ruamel-yaml
+ depends = python-mautrix
+ depends = python-magic-git
+ depends = hangups
+ depends = sudo
+ conflicts = mautrix-hangouts
+ source = mautrix-hangouts::git+https://github.com/tulir/mautrix-hangouts
+ source = usr-share.patch
+ source = README
+ source = mautrix-hangouts-db-upgrade
+ source = sysusers-mautrix-hangouts.conf
+ source = tmpfiles-mautrix-hangouts.conf
+ source = mautrix-hangouts.service
+ sha256sums = SKIP
+ sha256sums = 627acf28bc80600abb3c0ddf4b0ed563bd77814687c96afabaf1779a55c335d9
+ sha256sums = eefb2404ecc09eb1484ff3fb73986c9a44d92c5ae729e41269f82148b4299160
+ sha256sums = 918d04d07223c83324e18f44fc181abaadc49b747de76a9bcfd48e6bdda6bd05
+ sha256sums = 36aee765d66afa89778962432660ff49f711bf6982758e0c572d760568555758
+ sha256sums = e078d74a16e9cbf8b7f6426274256e72f84ab34ed29c240cce3249985fb566da
+ sha256sums = 6cef4d60dbe05b92c8d5a2353de3e3ea8b3b34a25aad27c0b985f62e8942e833
+
+pkgname = mautrix-hangouts-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..2f6c20ce34bf
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,68 @@
+# Maintainer: bobpaul
+
+_pkgbase=mautrix-hangouts
+pkgname=${_pkgbase}-git
+pkgver=r49.1241db9
+pkgrel=1
+pkgdesc="A Matrix-Hangouts puppeting bridge with multi-user support"
+arch=(any)
+conflicts=(mautrix-hangouts)
+license=(AGPLv3)
+depends=(python
+ python-aiohttp
+ python-alembic
+ python-sqlalchemy
+ python-commonmark
+ python-ruamel-yaml
+ python-mautrix
+ python-magic-git
+ hangups
+ sudo
+ )
+makedepends=(npm git)
+optdepends=()
+source=("${_pkgbase}::git+https://github.com/tulir/${_pkgbase}"
+ "usr-share.patch"
+ "README"
+ "mautrix-hangouts-db-upgrade"
+ "sysusers-mautrix-hangouts.conf"
+ "tmpfiles-mautrix-hangouts.conf"
+ "${_pkgbase}.service")
+sha256sums=('SKIP'
+ '627acf28bc80600abb3c0ddf4b0ed563bd77814687c96afabaf1779a55c335d9'
+ '71ba0e551199e1e339997a614d795066635c6aed66c7e61358a1abfc7155fe55'
+ '918d04d07223c83324e18f44fc181abaadc49b747de76a9bcfd48e6bdda6bd05'
+ '36aee765d66afa89778962432660ff49f711bf6982758e0c572d760568555758'
+ 'e078d74a16e9cbf8b7f6426274256e72f84ab34ed29c240cce3249985fb566da'
+ '6cef4d60dbe05b92c8d5a2353de3e3ea8b3b34a25aad27c0b985f62e8942e833')
+
+pkgver() {
+ cd "$srcdir/${_pkgbase}"
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+prepare() {
+ cd "$srcdir/${_pkgbase}"
+ git reset --hard
+ patch < ../usr-share.patch
+}
+
+package() {
+ cd "$srcdir/${_pkgbase}"
+ python setup.py install --root="$pkgdir/" --optimize=1
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ cd "$srcdir/"
+ install -Dm644 "$srcdir"/README -t "$pkgdir"/etc/synapse/mautrix-hangouts/
+ install -Dm755 "$srcdir"/mautrix-hangouts-db-upgrade -t "$pkgdir"/usr/bin/
+ install -Dm644 ${_pkgbase}.service -t "${pkgdir}"/usr/lib/systemd/system/
+ install -Dm644 "$srcdir"/sysusers-mautrix-hangouts.conf "$pkgdir"/usr/lib/sysusers.d/mautrix-hangouts.conf
+ install -Dm644 "$srcdir"/tmpfiles-mautrix-hangouts.conf "$pkgdir"/usr/lib/tmpfiles.d/mautrix-hangouts.conf
+}
+sha256sums=('SKIP'
+ '627acf28bc80600abb3c0ddf4b0ed563bd77814687c96afabaf1779a55c335d9'
+ 'eefb2404ecc09eb1484ff3fb73986c9a44d92c5ae729e41269f82148b4299160'
+ '918d04d07223c83324e18f44fc181abaadc49b747de76a9bcfd48e6bdda6bd05'
+ '36aee765d66afa89778962432660ff49f711bf6982758e0c572d760568555758'
+ 'e078d74a16e9cbf8b7f6426274256e72f84ab34ed29c240cce3249985fb566da'
+ '6cef4d60dbe05b92c8d5a2353de3e3ea8b3b34a25aad27c0b985f62e8942e833')
diff --git a/README b/README
new file mode 100644
index 000000000000..b1e250bb59ae
--- /dev/null
+++ b/README
@@ -0,0 +1,31 @@
+The systemd service mautrix-hangouts.service expects config and registration files here.
+
+Quick Setup:
+ ( adapted from https://github.com/tulir/mautrix-hangouts/wiki/Bridge-setup )
+
+1. Copy example config and ensure service can read it
+ sudo cp /usr/share/mautrix-hangouts/example-config.yaml /etc/synapse/mautrix-hangouts/config.yaml
+ sudo chown mautrix-hangouts /etc/synapse/mautrix-hangouts/config.yaml
+
+2. Update the config to your liking. You'll at least need to change the
+ homeserver settings. You also need to add your homeserver in the permissions
+ section and the auth server.
+
+3. Generate the registration:
+ sudo mautrix-hangouts -g -c /etc/synapse/mautrix-hangouts/config.yaml \
+ -r /etc/synapse/mautrix-hangouts/registration.yaml \
+ -b /usr/share/mautrix-hangouts/example-config.yaml
+
+4. Add the registration file to Synapse's homeserver.yaml:
+ #homeserver.yaml
+ app_service_config_files:
+ - /etc/synapse/mautrix-hangouts/registration.yaml
+
+5. Restart synapse
+ sudo systemctl restart synapse
+
+6. Create/update the database:
+ sudo mautrix-hangouts-db-upgrade
+
+7. Start the bridge:
+ sudo systemctl start mautrix-hangouts
diff --git a/mautrix-hangouts-db-upgrade b/mautrix-hangouts-db-upgrade
new file mode 100644
index 000000000000..d457b17660e5
--- /dev/null
+++ b/mautrix-hangouts-db-upgrade
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+if [[ $EUID -ne 0 ]]; then
+ echo "This script must be run as root"
+ exit 1
+fi
+
+cd /var/lib/mautrix-hangouts
+
+if [[ ! -e /var/lib/mautrix-hangouts/alembic ]]; then
+ ln -s /usr/share/mautrix-hangouts/alembic ./
+fi
+if [[ ! -e /var/lib/mautrix-hangouts/alembic.ini ]]; then
+ ln -s /usr/share/mautrix-hangouts/alembic.ini ./
+fi
+sudo -u mautrix-hangouts alembic -x config=/etc/synapse/mautrix-hangouts/config.yaml upgrade head
diff --git a/mautrix-hangouts.service b/mautrix-hangouts.service
new file mode 100644
index 000000000000..3bafd9e4974e
--- /dev/null
+++ b/mautrix-hangouts.service
@@ -0,0 +1,18 @@
+# /usr/lib/systemd/system/matrix-puppet-hangouts@.service
+# /etc/systemd/system/hangouts-puppet.service
+[Unit]
+Description=Hangouts Matrix Puppet
+
+[Service]
+Type=simple
+User=mautrix-hangouts
+Group=mautrix-hangouts
+WorkingDirectory=/var/lib/mautrix-hangouts/
+ExecStart=/usr/bin/mautrix-hangouts -c /etc/synapse/mautrix-hangouts/config.yaml \
+ -r /etc/synapse/mautrix-hangouts/registration.yaml \
+ -b /usr/share/mautrix-hangouts/example-config.yaml
+Restart=always
+RestartSec=3
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sysusers-mautrix-hangouts.conf b/sysusers-mautrix-hangouts.conf
new file mode 100644
index 000000000000..4b001cdbad74
--- /dev/null
+++ b/sysusers-mautrix-hangouts.conf
@@ -0,0 +1 @@
+u mautrix-hangouts 198 "Mautrix Hangouts user" /var/lib/mautrix-hangouts
diff --git a/tmpfiles-mautrix-hangouts.conf b/tmpfiles-mautrix-hangouts.conf
new file mode 100644
index 000000000000..783144ca3db6
--- /dev/null
+++ b/tmpfiles-mautrix-hangouts.conf
@@ -0,0 +1 @@
+d /var/lib/mautrix-hangouts 0700 mautrix-hangouts mautrix-hangouts -
diff --git a/usr-share.patch b/usr-share.patch
new file mode 100644
index 000000000000..c4aeb42153dd
--- /dev/null
+++ b/usr-share.patch
@@ -0,0 +1,16 @@
+diff --git a/setup.py b/setup.py
+index cd47505..50faa3e 100644
+--- a/setup.py
++++ b/setup.py
+@@ -61,8 +61,8 @@ setuptools.setup(
+ "web/static/*.png", "web/static/*.css", "web/static/*.html", "web/static/*.js",
+ ]},
+ data_files=[
+- (".", ["example-config.yaml", "alembic.ini"]),
+- ("alembic", ["alembic/env.py"]),
+- ("alembic/versions", glob.glob("alembic/versions/*.py"))
++ ("./share/mautrix-hangouts", ["example-config.yaml", "alembic.ini"]),
++ ("./share/mautrix-hangouts/alembic", ["alembic/env.py"]),
++ ("./share/mautrix-hangouts/alembic/versions", glob.glob("alembic/versions/*.py"))
+ ],
+ )