diff --git a/.SRCINFO b/.SRCINFO index ca530f8..76d475e 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,27 +1,31 @@ -# Generated by mksrcinfo v8 -# Wed Mar 14 09:58:29 UTC 2018 pkgbase = mozilla-firefox-sync-server pkgdesc = Mozilla Sync Server for built-in Firefox Sync - pkgver = 1.7.0 - pkgrel = 5 - url = http://docs.services.mozilla.com/howtos/run-sync-1.5.html - arch = any - license = GPL + pkgver = 1.9.1 + pkgrel = 1 + url = https://mozilla-services.readthedocs.io/en/latest/howtos/run-sync-1.5.html + install = mozilla-firefox-sync-server.install + arch = i686 + arch = x86_64 + arch = arm + arch = armv6h + arch = armv7h + arch = aarch64 + license = MPL2 depends = python2 - depends = python2-pyramid - depends = python2-mozsvc - depends = python2-konfig - depends = python2-configparser - depends = python2-tokenserver - depends = python2-simplejson - depends = python2-paste-deploy - depends = python2-syncstorage - depends = python2-pyramid-hawkauth - depends = python2-tokenlib - depends = python2-sqlalchemy - backup = etc/webapps/mozilla-firefox-sync-server/syncserver.ini - source = mozilla-firefox-sync-server-1.7.0.tar.gz::https://github.com/mozilla-services/syncserver/archive/v1.7.0.tar.gz - sha512sums = c66aed1195138f15729ed7ef3fb31837bd74f751c0df4f93d0d6c3a8b34687d7dc02e201cfb6c218aab1d769698950ea316f688b51d90b87e8c495d573b85cc3 + depends = python2-virtualenv + optdepends = uwsgi-plugin-python2: Serve the webapp using uwsgi + optdepends = mozilla-firefox-account-server: Run your own firefox account server + options = !debug + backup = opt/mozilla-firefox-sync-server/syncserver.ini + source = https://github.com/mozilla-services/syncserver/archive/1.9.1.tar.gz + source = ffsync.service + source = ffsync.tmpfiles + sha256sums = dd12e7b4d97052ab5227151886a92ecbc368a987c4ad5fef7a9b759197a86c1f + sha256sums = 8664ad8361d6751aad47e86900270d2efd8b65d520248cd1c164432baba42212 + sha256sums = 462bfdccc672339a03622dbe0a76a2df1b4293de8b240e82fe127a6befaa1a89 + sha384sums = 8dfe5784a013c4b8af16bc9af4b1c1c7d36261c62d16e6b5afb986b473195e051f8b1d392db96c562c06095da0596c6f + sha384sums = a7384b5b55b2377ee4445e45bfd0545435c2a6a19730ff4219340e3c6e8a3b51fcb46e4215093df860f9fa99a0b471ab + sha384sums = 236b285f7e390d31cd13a0ac78c524acfbc8a7325d7b0b114b39f69a5963535d5f1f73bdef575728b2f6e81860c4ea16 pkgname = mozilla-firefox-sync-server diff --git a/PKGBUILD b/PKGBUILD index b1845e5..eead766 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,35 +1,81 @@ -# Maintainer: Jonas Heinrich +# Maintainer: Manuel Hüsers # Contributor: Jonas Heinrich # Contributor: Timothée Ravier pkgname=mozilla-firefox-sync-server -pkgver=1.7.0 -pkgrel=6 -pkgdesc="Mozilla Sync Server for built-in Firefox Sync" -arch=('any') -url='http://docs.services.mozilla.com/howtos/run-sync-1.5.html' -license=('GPL') -depends=('python2' 'python2-pyramid' 'python2-mozsvc' 'python2-konfig' 'python2-configparser' 'python2-tokenserver' - 'python2-simplejson' 'python2-paste-deploy' 'python2-syncstorage' 'python2-pyramid-hawkauth' 'python2-tokenlib' 'python2-sqlalchemy') -source=("${pkgname}-${pkgver}.tar.gz::https://github.com/mozilla-services/syncserver/archive/v${pkgver}.tar.gz") -sha512sums=('c66aed1195138f15729ed7ef3fb31837bd74f751c0df4f93d0d6c3a8b34687d7dc02e201cfb6c218aab1d769698950ea316f688b51d90b87e8c495d573b85cc3') -backup=('etc/webapps/mozilla-firefox-sync-server/syncserver.ini') -install=('mozilla-firefox-sync-server.install') +pkgver=1.9.1 +pkgrel=1 +pkgdesc='Mozilla Sync Server for built-in Firefox Sync' +arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64') +url='https://mozilla-services.readthedocs.io/en/latest/howtos/run-sync-1.5.html' +license=('MPL2') +depends=('python2' 'python2-virtualenv') +options=(!debug) +install="${pkgname}.install" +source=("https://github.com/mozilla-services/syncserver/archive/${pkgver}.tar.gz" + 'ffsync.service' + 'ffsync.tmpfiles') +sha256sums=('dd12e7b4d97052ab5227151886a92ecbc368a987c4ad5fef7a9b759197a86c1f' + '8664ad8361d6751aad47e86900270d2efd8b65d520248cd1c164432baba42212' + '462bfdccc672339a03622dbe0a76a2df1b4293de8b240e82fe127a6befaa1a89') +sha384sums=('8dfe5784a013c4b8af16bc9af4b1c1c7d36261c62d16e6b5afb986b473195e051f8b1d392db96c562c06095da0596c6f' + 'a7384b5b55b2377ee4445e45bfd0545435c2a6a19730ff4219340e3c6e8a3b51fcb46e4215093df860f9fa99a0b471ab' + '236b285f7e390d31cd13a0ac78c524acfbc8a7325d7b0b114b39f69a5963535d5f1f73bdef575728b2f6e81860c4ea16') +backup=('opt/mozilla-firefox-sync-server/syncserver.ini') +optdepends=('uwsgi-plugin-python2: Serve the webapp using uwsgi' + 'mozilla-firefox-account-server: Run your own firefox account server') prepare() { - cd "syncserver-${pkgver}" - sed -i 's/tmp\/syncserver.db/var\/lib\/mozilla-firefox-sync-server\/syncserver.db/' syncserver.ini - sed -i 's/^\#sqluri/sqluri/' syncserver.ini + cd "syncserver-${pkgver}" + + # Change default sqlite database location + sed -i "s|/tmp/syncserver.db|/var/lib/ffsync/sync_storage.db|g" syncserver.ini + sed -i "0,/^\#sqluri/s//sqluri/" syncserver.ini + + # Remove obsolete parameter + sed -i "s| --no-site-packages||g" Makefile +} + +build() { + cd "syncserver-${pkgver}" + make build + + # MySQL support (should already be included) + #local/bin/pip install PyMySQL + + # PostgreSQL support + #local/bin/pip install psycopg2 + + # There is no install target in the Makefile, so let's do some cleaning + rm -rf .git .gitignore Dockerfile Makefile MANIFEST.in README.rst setup.py \ + local/bin/pep8 local/bin/build* local/bin/easy_install* local/bin/pip* \ + local/COMPLETE + + # Remove compiled python files as they may cause issues + find . -name '*.pyc' -delete + + # Manually fix install path + find . -type f -exec sed -i "s|${srcdir}/syncserver-${pkgver}|/opt/${pkgname}|g" {} \; +} + +check() { + cd "syncserver-${pkgver}" + + #make test } package() { - cd "syncserver-${pkgver}" - python2 setup.py install --root "${pkgdir}" - install -dm 755 "${pkgdir}/usr/share/webapps/mozilla-firefox-sync-server" "${pkgdir}/etc/webapps/mozilla-firefox-sync-server" \ - "${pkgdir}/var/lib/mozilla-firefox-sync-server" - cp syncserver.wsgi "${pkgdir}/usr/share/webapps/mozilla-firefox-sync-server/" - cp syncserver.ini "${pkgdir}/etc/webapps/mozilla-firefox-sync-server/" - ln -s /etc/webapps/mozilla-firefox-sync-server/syncserver.ini "${pkgdir}/usr/share/webapps/mozilla-firefox-sync-server/" -} + cd "syncserver-${pkgver}" -# vim: ft=sh syn=sh ts=2 sw=2 et: + # There is no install target in the Makefile, installing manually + install -dm 755 "${pkgdir}"/opt/${pkgname} "${pkgdir}"/var/lib/ffsync + cp -a * "${pkgdir}"/opt/${pkgname} + + # Manually fix permissions + cd "${pkgdir}"/opt/${pkgname} + find . -exec chmod go-w {} \; + find . -type f -exec chmod a+r {} \; + + install -Dm 644 "${srcdir}"/ffsync.service "${pkgdir}"/usr/lib/systemd/system/ffsync.service + install -Dm 644 "${srcdir}"/ffsync.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/ffsync.conf +} diff --git a/mozilla-firefox-sync-server.install b/mozilla-firefox-sync-server.install index 2a96a66..03e415d 100644 --- a/mozilla-firefox-sync-server.install +++ b/mozilla-firefox-sync-server.install @@ -1,14 +1,16 @@ post_install() { getent group ffsync &>/dev/null || groupadd -r ffsync >/dev/null getent passwd ffsync &>/dev/null || useradd -r -s /usr/bin/false \ - -g ffsync -G ffsync,http -d /var/lib/mozilla-firefox-sync-server ffsync >/dev/null + -g ffsync -G ffsync,http -d /var/lib/ffsync ffsync >/dev/null - chown -R ffsync:ffsync /var/lib/mozilla-firefox-sync-server /etc/webapps/mozilla-firefox-sync-server - #systemd-tmpfiles --create ffsync.conf + chown -R ffsync:ffsync /var/lib/ffsync + systemd-tmpfiles --create ffsync.conf } post_update() { - chown -R ffsync:ffsync /var/lib/mozilla-firefox-sync-server /etc/webapps/mozilla-firefox-sync-server + chown -R ffsync:ffsync /var/lib/ffsync + chown -R ffsync:http /run/ffsync + echo ">> Documentation: https://wiki.archlinux.org/index.php/Mozilla_Firefox_Sync_Server" }