Move to virtualenv environment

Refactored and reformatted entire PKGBUILD
Added support for ARM
Fix several build errors with patches to the Makefile
Fix package using wrong license (The project is using MPL 2.0)
This commit is contained in:
Manuel 2020-06-02 04:33:17 +02:00
parent b97f0c9f22
commit c24d2425eb
3 changed files with 101 additions and 46 deletions

View file

@ -1,37 +1,87 @@
# Maintainer: Jonas Heinrich <onny@project-insanity.org>
# Maintainer: Manuel Hüsers <aur@huesers.de>
# Contributor: Jonas Heinrich <onny@project-insanity.org>
# Contributor: Timothée Ravier <tim@siosm.fr>
pkgname=mozilla-firefox-sync-server
pkgver=1.8.0
pkgrel=1
pkgdesc="Mozilla Sync Server for built-in Firefox Sync"
arch=('any')
pkgrel=2
pkgdesc='Mozilla Sync Server for built-in Firefox Sync'
arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
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/${pkgver}.tar.gz")
sha512sums=('73f7e32e900fac5e8385b2b7b521aed964ec85879283733daf84a8afe194e1775b654074ae19e7bf574a2e41a01a821104a10f4c4794eecacffb7a903814e093')
backup=('etc/webapps/mozilla-firefox-sync-server/syncserver.ini')
install='mozilla-firefox-sync-server.install'
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=('728206bcffec7a305e97e7cd4d465b3fa56f39f8e1fd55d98e49a866016d61e0'
'8664ad8361d6751aad47e86900270d2efd8b65d520248cd1c164432baba42212'
'462bfdccc672339a03622dbe0a76a2df1b4293de8b240e82fe127a6befaa1a89')
sha384sums=('077129ce69d86cfe683401cb04f2678cdb9eae861f77fb052e97fc4f55d9780b5199259911c7a0d0adaa386e3aad0996'
'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')
'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 "s|^\#sqluri|sqluri|" syncserver.ini
# Remove obsolete parameter
sed -i "s| --no-site-packages||g" Makefile
# Remove incompatible setuptools
sed -i "s| distribute||g" Makefile
# Fix wrong python version being used for virtualenv
sed -i "s|virtualenv|\$(SYSTEMPYTHON) -m virtualenv|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
}