aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorbobpaul2020-02-18 00:50:18 -0600
committerbobpaul2020-02-18 00:50:18 -0600
commit2a9723788a747475a0da3951d711073cc2712be3 (patch)
treea71bfed69673e1fd3d846f0d31d9d14fa4171261
downloadaur-2a9723788a747475a0da3951d711073cc2712be3.tar.gz
Initial commit
-rw-r--r--.SRCINFO71
-rw-r--r--PKGBUILD61
-rw-r--r--README31
-rw-r--r--mautrix-facebook-db-upgrade16
-rw-r--r--mautrix-facebook.service16
-rw-r--r--sysusers-mautrix-facebook.conf1
-rw-r--r--tmpfiles-mautrix-facebook.conf1
-rw-r--r--usr-share.patch16
8 files changed, 213 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..f522e594f63b
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,71 @@
+pkgbase = mautrix-facebook-git
+ pkgdesc = A Matrix-Facebook puppeting bridge with multi-user support
+ pkgver = r128.0a972cd
+ 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 = fbchat-asyncio
+ depends = sudo
+ conflicts = mautrix-facebook
+ source = mautrix-facebook::git+https://github.com/tulir/mautrix-facebook
+ source = usr-share.patch
+ source = README
+ source = mautrix-facebook-db-upgrade
+ source = sysusers-mautrix-facebook.conf
+ source = tmpfiles-mautrix-facebook.conf
+ source = mautrix-facebook.service
+ sha256sums = SKIP
+ sha256sums = 2b4d54734bb9cdbd7cd4995cba519c05acf5c76dec8f93b2f7596e85c2c0c01e
+ sha256sums = f02378ab2d0d4e83ce33ad24c09b2171292423a3fc96481523a735196ef4751e
+ sha256sums = 793016de273d6dc0a2fdfd1090942aa2ec3cc75c0cad333ed231bb8561fddfd0
+ sha256sums = d981fb6fef944b83a4089683075ab2ae1cf095a6814e4d3bdce500d3309cb617
+ sha256sums = 9e7d00ea24067447fde0f3c4c08ea70760db85975d93496ed82f597cd8c863d6
+ sha256sums = 9ce98679d5ec0cf73ecf70a5f92c3240ae7ef35f82691bb58bf06a03c893bfbd
+
+pkgname = mautrix-facebook-git
+
+pkgbase = mautrix-facebook-git
+ pkgdesc = A Matrix-Facebook puppeting bridge with multi-user support
+ pkgver = r128.0a972cd
+ pkgrel = 1
+ arch = any
+ license = AGPLv3
+ 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 = python-fbchat-asyncio
+ depends = sudo
+ conflicts = mautrix-facebook
+ source = mautrix-facebook::git+https://github.com/tulir/mautrix-facebook
+ source = usr-share.patch
+ source = README
+ source = mautrix-facebook-db-upgrade
+ source = sysusers-mautrix-facebook.conf
+ source = tmpfiles-mautrix-facebook.conf
+ source = mautrix-facebook.service
+ sha256sums = SKIP
+ sha256sums = 2b4d54734bb9cdbd7cd4995cba519c05acf5c76dec8f93b2f7596e85c2c0c01e
+ sha256sums = f02378ab2d0d4e83ce33ad24c09b2171292423a3fc96481523a735196ef4751e
+ sha256sums = 793016de273d6dc0a2fdfd1090942aa2ec3cc75c0cad333ed231bb8561fddfd0
+ sha256sums = d981fb6fef944b83a4089683075ab2ae1cf095a6814e4d3bdce500d3309cb617
+ sha256sums = 9e7d00ea24067447fde0f3c4c08ea70760db85975d93496ed82f597cd8c863d6
+ sha256sums = 9ce98679d5ec0cf73ecf70a5f92c3240ae7ef35f82691bb58bf06a03c893bfbd
+
+pkgname = mautrix-facebook-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..e3d3fe0ea95a
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,61 @@
+# Maintainer: bobpaul
+
+_pkgbase=mautrix-facebook
+pkgname=${_pkgbase}-git
+pkgver=r128.0a972cd
+pkgrel=1
+pkgdesc="A Matrix-Facebook puppeting bridge with multi-user support"
+arch=(any)
+conflicts=(mautrix-facebook)
+license=(AGPLv3)
+depends=(python
+ python-aiohttp
+ python-alembic
+ python-sqlalchemy
+ python-commonmark
+ python-ruamel-yaml
+ python-mautrix
+ python-magic-git
+ python-fbchat-asyncio
+ sudo
+ )
+makedepends=(git)
+optdepends=()
+source=("${_pkgbase}::git+https://github.com/tulir/${_pkgbase}"
+ "usr-share.patch"
+ "README"
+ "mautrix-facebook-db-upgrade"
+ "sysusers-mautrix-facebook.conf"
+ "tmpfiles-mautrix-facebook.conf"
+ "${_pkgbase}.service")
+sha256sums=('SKIP'
+ '2b4d54734bb9cdbd7cd4995cba519c05acf5c76dec8f93b2f7596e85c2c0c01e'
+ 'f02378ab2d0d4e83ce33ad24c09b2171292423a3fc96481523a735196ef4751e'
+ '793016de273d6dc0a2fdfd1090942aa2ec3cc75c0cad333ed231bb8561fddfd0'
+ 'd981fb6fef944b83a4089683075ab2ae1cf095a6814e4d3bdce500d3309cb617'
+ '9e7d00ea24067447fde0f3c4c08ea70760db85975d93496ed82f597cd8c863d6'
+ '9ce98679d5ec0cf73ecf70a5f92c3240ae7ef35f82691bb58bf06a03c893bfbd')
+
+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-facebook/
+ install -Dm755 "$srcdir"/mautrix-facebook-db-upgrade -t "$pkgdir"/usr/bin/
+ install -Dm644 ${_pkgbase}.service -t "${pkgdir}"/usr/lib/systemd/system/
+ install -Dm644 "$srcdir"/sysusers-mautrix-facebook.conf "$pkgdir"/usr/lib/sysusers.d/mautrix-facebook.conf
+ install -Dm644 "$srcdir"/tmpfiles-mautrix-facebook.conf "$pkgdir"/usr/lib/tmpfiles.d/mautrix-facebook.conf
+}
diff --git a/README b/README
new file mode 100644
index 000000000000..3019bf6fd5d9
--- /dev/null
+++ b/README
@@ -0,0 +1,31 @@
+The systemd service mautrix-facebook.service expects config and registration files here.
+
+Quick Setup:
+ ( adapted from https://github.com/tulir/mautrix-facebook/wiki/Bridge-setup )
+
+1. Copy example config and ensure service can read it
+ sudo cp /usr/share/mautrix-facebook/example-config.yaml /etc/synapse/mautrix-facebook/config.yaml
+ sudo chown mautrix-facebook /etc/synapse/mautrix-facebook/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-facebook -g -c /etc/synapse/mautrix-facebook/config.yaml \
+ -r /etc/synapse/mautrix-facebook/registration.yaml \
+ -b /usr/share/mautrix-facebook/example-config.yaml
+
+4. Add the registration file to Synapse's homeserver.yaml:
+ #homeserver.yaml
+ app_service_config_files:
+ - /etc/synapse/mautrix-facebook/registration.yaml
+
+5. Restart synapse
+ sudo systemctl restart synapse
+
+6. Create/update the database:
+ sudo mautrix-facebook-db-upgrade
+
+7. Start the bridge:
+ sudo systemctl start mautrix-facebook
diff --git a/mautrix-facebook-db-upgrade b/mautrix-facebook-db-upgrade
new file mode 100644
index 000000000000..9735084000d2
--- /dev/null
+++ b/mautrix-facebook-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-facebook
+
+if [[ ! -e /var/lib/mautrix-facebook/alembic ]]; then
+ ln -s /usr/share/mautrix-facebook/alembic ./
+fi
+if [[ ! -e /var/lib/mautrix-facebook/alembic.ini ]]; then
+ ln -s /usr/share/mautrix-facebook/alembic.ini ./
+fi
+sudo -u mautrix-facebook alembic -x config=/etc/synapse/mautrix-facebook/config.yaml upgrade head
diff --git a/mautrix-facebook.service b/mautrix-facebook.service
new file mode 100644
index 000000000000..c74ff639ecb1
--- /dev/null
+++ b/mautrix-facebook.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=facebook Matrix Puppet
+
+[Service]
+Type=simple
+User=mautrix-facebook
+Group=mautrix-facebook
+WorkingDirectory=/var/lib/mautrix-facebook/
+ExecStart=/usr/bin/mautrix-facebook -c /etc/synapse/mautrix-facebook/config.yaml \
+ -r /etc/synapse/mautrix-facebook/registration.yaml \
+ -b /usr/share/mautrix-facebook/example-config.yaml
+Restart=always
+RestartSec=3
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sysusers-mautrix-facebook.conf b/sysusers-mautrix-facebook.conf
new file mode 100644
index 000000000000..c525fcad17c2
--- /dev/null
+++ b/sysusers-mautrix-facebook.conf
@@ -0,0 +1 @@
+u mautrix-facebook 198 "Mautrix Facebook user" /var/lib/mautrix-facebook
diff --git a/tmpfiles-mautrix-facebook.conf b/tmpfiles-mautrix-facebook.conf
new file mode 100644
index 000000000000..9db8adc8796a
--- /dev/null
+++ b/tmpfiles-mautrix-facebook.conf
@@ -0,0 +1 @@
+d /var/lib/mautrix-facebook 0700 mautrix-facebook mautrix-facebook -
diff --git a/usr-share.patch b/usr-share.patch
new file mode 100644
index 000000000000..352b8bf92dc9
--- /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-facebook", ["example-config.yaml", "alembic.ini"]),
++ ("./share/mautrix-facebook/alembic", ["alembic/env.py"]),
++ ("./share/mautrix-facebook/alembic/versions", glob.glob("alembic/versions/*.py"))
+ ],
+ )