diff options
-rw-r--r-- | .SRCINFO | 71 | ||||
-rw-r--r-- | PKGBUILD | 61 | ||||
-rw-r--r-- | README | 31 | ||||
-rw-r--r-- | mautrix-facebook-db-upgrade | 16 | ||||
-rw-r--r-- | mautrix-facebook.service | 16 | ||||
-rw-r--r-- | sysusers-mautrix-facebook.conf | 1 | ||||
-rw-r--r-- | tmpfiles-mautrix-facebook.conf | 1 | ||||
-rw-r--r-- | usr-share.patch | 16 |
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")) + ], + ) |