diff options
author | Sam Whited | 2019-01-02 19:05:13 -0600 |
---|---|---|
committer | Sam Whited | 2019-01-02 19:05:50 -0600 |
commit | 910ca18e569d194fa9a98212ad6997835be3ef59 (patch) | |
tree | 72a2e4651b6b67126d0bbffd0c8e11c60e539a49 | |
download | aur-910ca18e569d194fa9a98212ad6997835be3ef59.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 32 | ||||
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | PKGBUILD | 57 | ||||
-rw-r--r-- | jackal.install | 10 | ||||
-rw-r--r-- | jackal.service | 19 | ||||
-rw-r--r-- | jackal.sysusers | 1 | ||||
-rw-r--r-- | jackal.tmpfiles | 4 | ||||
-rw-r--r-- | jackal.yml | 102 |
8 files changed, 231 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..e245d23454e8 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,32 @@ +pkgbase = jackal-git + pkgdesc = An XMPP/Jabber server + pkgver = v0.4.0_4_g726d4cbb81e0 + pkgrel = 1 + url = https://github.com/ortuman/jackal + install = jackal.install + arch = x86_64 + arch = i686 + arch = arm + arch = armv6h + arch = armv7h + arch = aarch64 + license = GPL3 + makedepends = go>=1.11.0 + depends = glibc + optdepends = mariadb: MariaDB support + provides = jackal + conflicts = jackal + backup = etc/jackal/jackal.yml + source = git+https://github.com/ortuman/jackal.git + source = jackal.service + source = jackal.sysusers + source = jackal.tmpfiles + source = jackal.yml + sha512sums = SKIP + sha512sums = d7025628d82371c6ef7a942a918d8970ca54f01ddd513e2577474a31d880355045415c131cf68b8df6f1cc3b19b17135a8d955815f6b4f91d6ce77a70d982f7e + sha512sums = 470ec8c5958658e3f264f2186ccfb14a2b9cd6760da86116a89ecfbf147ef38310fb767ae1bb79a0fb6ae3881de399322a52540da7f4b21f4bd791d54cf47b11 + sha512sums = 8eb4c15f63d1f4028d3dbe8a0861ffa514f6643c8fa918fc54c1fda4d6380d914b12d6cf1a199ee0929c966b311645aa482825f6d8ea29173865da29530bb711 + sha512sums = c8445899ab3708bd11754e4c1cc74069c8586521d4e9d41c8cc93a7738889817a5502f19484685f3d1b5e658eb40eea1bd1b61c1fc447c5c3e4569faf1b82664 + +pkgname = jackal-git + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..d239f3f32b1d --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +jackal/ +pkg/ +src/ +*.tar.gz +*.tar.xz +*.zip diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..dc69777d59a0 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,57 @@ +# Maintainer: Sam Whited <sam@samwhited.com> + +_pkgname=jackal +pkgname=${_pkgname}-git +pkgver=v0.4.0_4_g726d4cbb81e0 +pkgrel=1 +pkgdesc='An XMPP/Jabber server' +arch=('x86_64' 'i686' 'arm' 'armv6h' 'armv7h' 'aarch64') +url='https://github.com/ortuman/jackal' +license=('GPL3') +depends=('glibc') +makedepends=('go>=1.11.0') +optdepends=('mariadb: MariaDB support') +conflicts=('jackal') +provides=('jackal') +backup=('etc/jackal/jackal.yml') +source=(git+https://github.com/ortuman/jackal.git + jackal.service + jackal.sysusers + jackal.tmpfiles + jackal.yml) +sha512sums=('SKIP' + 'd7025628d82371c6ef7a942a918d8970ca54f01ddd513e2577474a31d880355045415c131cf68b8df6f1cc3b19b17135a8d955815f6b4f91d6ce77a70d982f7e' + '470ec8c5958658e3f264f2186ccfb14a2b9cd6760da86116a89ecfbf147ef38310fb767ae1bb79a0fb6ae3881de399322a52540da7f4b21f4bd791d54cf47b11' + '8eb4c15f63d1f4028d3dbe8a0861ffa514f6643c8fa918fc54c1fda4d6380d914b12d6cf1a199ee0929c966b311645aa482825f6d8ea29173865da29530bb711' + 'c8445899ab3708bd11754e4c1cc74069c8586521d4e9d41c8cc93a7738889817a5502f19484685f3d1b5e658eb40eea1bd1b61c1fc447c5c3e4569faf1b82664') +install=jackal.install + +pkgver() { + cd "${srcdir}/${_pkgname}" + git describe --tags --long | sed s/-/_/g +} + +build() { + cd ${_pkgname} + export GO111MODULE=on + go build -gcflags "all=-trimpath=${PWD}" \ + -asmflags "all=-trimpath=${PWD}" \ + -ldflags "-extldflags ${LDFLAGS}" +} + +package() { + install -dm 750 "${pkgdir}/var/lib/jackal/" + install -dm 775 "${pkgdir}/usr/share/doc/jackal/" + install -dm 775 "${pkgdir}/usr/share/jackal/" + + install -D jackal.yml "${pkgdir}/etc/jackal/jackal.yml" + install -Dm444 "${srcdir}/${_pkgname}/README.md" "${pkgdir}/usr/share/doc/jackal/" + install -Dm444 "${srcdir}/${_pkgname}/sql/mysql.sql" "${pkgdir}/usr/share/jackal/" + install -Dm755 "${srcdir}/${_pkgname}/jackal" "${pkgdir}/usr/bin/jackal" + + install -Dm644 ${_pkgname}.sysusers "${pkgdir}"/usr/lib/sysusers.d/${pkgname}.conf + install -Dm644 "${srcdir}/${_pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service" + install -Dm644 "${srcdir}/${_pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf" +} + +# vim: ts=2 sw=2 et: diff --git a/jackal.install b/jackal.install new file mode 100644 index 000000000000..927c46766508 --- /dev/null +++ b/jackal.install @@ -0,0 +1,10 @@ +post_upgrade() { +cat << EOF + +Before starting Jackal, the database needs to be initialized. +The schema files can be found in /usr/share/jackal/ and instructions can be +found in /usr/share/doc/jackal. + +After configuring the database, restart jackal.service. +EOF +} diff --git a/jackal.service b/jackal.service new file mode 100644 index 000000000000..b204de5194de --- /dev/null +++ b/jackal.service @@ -0,0 +1,19 @@ +[Unit] +Description=Jackal XMPP/Jabber server +After=syslog.target +After=network.target +After=mysqld.service +After=mariadb.service + +[Service] +RestartSec=1s +Type=simple +PIDFile=/var/lib/jackal/data/jackal.pid +User=jackal +Group=jackal +WorkingDirectory=/var/lib/jackal +ExecStart=/usr/bin/jackal +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/jackal.sysusers b/jackal.sysusers new file mode 100644 index 000000000000..13790b0c6f83 --- /dev/null +++ b/jackal.sysusers @@ -0,0 +1 @@ +u jackal - "Jackal daemon user" /var/lib/jackal /usr/bin/nologin diff --git a/jackal.tmpfiles b/jackal.tmpfiles new file mode 100644 index 000000000000..4014ca257aa3 --- /dev/null +++ b/jackal.tmpfiles @@ -0,0 +1,4 @@ +d /var/lib/jackal 0750 +Z /var/lib/jackal - jackal jackal +z /etc/jackal 0755 root jackal +z /etc/jackal/jackal.yml 0640 root jackal diff --git a/jackal.yml b/jackal.yml new file mode 100644 index 000000000000..e0311f2ecca3 --- /dev/null +++ b/jackal.yml @@ -0,0 +1,102 @@ +pid_path: data/jackal.pid + +debug: + port: 6060 + +logger: + level: debug + log_path: jackal.log + +storage: + type: mysql + mysql: + host: 127.0.0.1:3306 + user: jackal + password: password + database: jackal + pool_size: 16 + +cluster: + name: node1 + port: 5010 + hosts: [127.0.0.1:5009, 127.0.0.1:5011] + +router: + hosts: + - name: localhost + tls: + privkey_path: "" + cert_path: "" + +modules: + enabled: + - roster # Roster + - last_activity # XEP-0012: Last Activity + - private # XEP-0049: Private XML Storage + - vcard # XEP-0054: vcard-temp + - registration # XEP-0077: In-Band Registration + - version # XEP-0092: Software Version + - blocking_command # XEP-0191: Blocking Command + - ping # XEP-0199: XMPP Ping + - offline # Offline storage + + mod_roster: + versioning: true + + mod_offline: + queue_size: 2500 + + mod_registration: + allow_registration: yes + allow_change: yes + allow_cancel: yes + + mod_version: + show_os: true + + mod_ping: + send: no + send_interval: 60 + +components: +# http_upload: +# host: upload.jackal.im +# base_url: https://jackal.im:4430/upload +# port: 4430 +# upload_path: /var/lib/jackal/httpupload +# size_limit: 1048576 +# quota: 0 +# expire_after: 600 # secs. + +c2s: + - id: default + + connect_timeout: 5 + max_stanza_size: 65536 + resource_conflict: replace # [override, replace, reject] + + transport: + type: socket # websocket + bind_addr: 0.0.0.0 + port: 5222 + keep_alive: 120 + # url_path: /xmpp/ws + + compression: + level: default + + sasl: + - plain + - digest_md5 + - scram_sha_1 + - scram_sha_256 + +#s2s: +# dial_timeout: 15 +# dialback_secret: s3cr3tf0rd14lb4ck +# max_stanza_size: 131072 +# +# transport: +# bind_addr: 0.0.0.0 +# port: 5269 +# keep_alive: 600 |