Package Details: mozilla-firefox-sync-server 1.9.1-1

Git Clone URL: https://aur.archlinux.org/mozilla-firefox-sync-server.git (read-only, click to copy)
Package Base: mozilla-firefox-sync-server
Description: Mozilla Sync Server for built-in Firefox Sync
Upstream URL: https://mozilla-services.readthedocs.io/en/latest/howtos/run-sync-1.5.html
Keywords: firefox mozilla python2 sync syncserver syncstorage
Licenses: MPL2
Submitter: onny
Maintainer: SunRed
Last Packager: SunRed
Votes: 7
Popularity: 0.000000
First Submitted: 2018-03-11 10:14 (UTC)
Last Updated: 2020-10-21 12:17 (UTC)

Dependencies (4)

Required by (1)

Sources (3)

Pinned Comments

jewelux commented on 2022-03-16 19:21 (UTC) (edited on 2022-03-16 19:24 (UTC) by jewelux)

I submitted firefox-syncstorage-git package to build mozillas new syncstorage from git sources. Mozillas synctorage replace the omitted syncserver, incl. tokenserver. I did not an extensive testing on the new service but so far I did not notice any negative experiences. Maybe for a non production environment it is worth a try. Have fun.

SunRed commented on 2021-12-16 08:12 (UTC)

As the package is currently broken due to python 2 deprecation I suggest running this package in Docker since to my knowledge an updated syncserver that packages the syncstorage server written in Rust is not yet planned and will take a while.

Latest Comments

jewelux commented on 2022-03-24 18:10 (UTC)

@SunRed it took a while till mozilla finished the work to integrate a token server into new syncstorage (maybe december '21). Luckily know it is done.
Let me know, if you prefer to merge or replace one of the -git packages. The new syncstorage for example has a build in routine to migrate a existing sync server database. (But not yet tested by myself.)
But I don't know if it is in interests of users when the migration from sync server to syncstorage comes with an update. Maybe for now the coexistence is the best solution.

SunRed commented on 2022-03-23 21:32 (UTC)

@jewelux I would like to thank you for the work you've put into this so far. Though I always thought the syncstorage(-rs) server doesn't replace the syncserver (and token server) on its own and has to be packaged with the former to function completely. I will pin your message for now here and on the -git package and will look into this matter again.

Cheers.

jewelux commented on 2022-03-16 19:21 (UTC) (edited on 2022-03-16 19:24 (UTC) by jewelux)

I submitted firefox-syncstorage-git package to build mozillas new syncstorage from git sources. Mozillas synctorage replace the omitted syncserver, incl. tokenserver. I did not an extensive testing on the new service but so far I did not notice any negative experiences. Maybe for a non production environment it is worth a try. Have fun.

SunRed commented on 2021-12-16 08:12 (UTC)

As the package is currently broken due to python 2 deprecation I suggest running this package in Docker since to my knowledge an updated syncserver that packages the syncstorage server written in Rust is not yet planned and will take a while.

SunRed commented on 2021-12-16 08:03 (UTC)

@bjo That is correct. I can just barely do anything about it until Mozilla either migrates their syncserver to python 3 or (more likely) packages their syncstorage backend in Rust with a new syncserver (probably also written in Rust).

bjo commented on 2021-12-14 10:14 (UTC)

This pkgbuild is broken, python2 is deprecated.

hamki commented on 2021-02-24 05:52 (UTC) (edited on 2021-02-24 05:55 (UTC) by hamki)

MySQL is required for local compilation, but the compilation dependencies in the PKGBUILD file lack this package.

Aximilli commented on 2020-02-10 04:56 (UTC) (edited on 2020-02-10 04:57 (UTC) by Aximilli)

@TheGoliath where/how do I report issues with your repo? Yours can't find the python application

Meanwhile to @elvenbone, this version yields:

 ERROR:mozsvc:Uncaught exception while processing request:
 GET https://sync.fornuto.com:5000/token/1.0/sync/1.5
 Uncaught exception:
   File "/usr/lib/python2.7/site-packages/mozsvc/tweens.py", line 59, in log_uncaught_exceptions_tween
     return handler(request)
   File "/usr/lib/python2.7/site-packages/mozsvc/tweens.py", line 26, in catch_backend_errors_tween
     return handler(request)
   File "/usr/lib/python2.7/site-packages/pyramid/tweens.py", line 43, in excview_tween
     response = _error_handler(request, exc)
   File "/usr/lib/python2.7/site-packages/pyramid/tweens.py", line 17, in _error_handler
     reraise(*exc_info)
   File "/usr/lib/python2.7/site-packages/pyramid/tweens.py", line 41, in excview_tween
     response = handler(request)
   File "/usr/lib/python2.7/site-packages/pyramid/router.py", line 148, in handle_request
     registry, request, context, context_iface, view_name
   File "/usr/lib/python2.7/site-packages/pyramid/view.py", line 667, in _call_view
     response = view_callable(context, request)
   File "/usr/lib/python2.7/site-packages/pyramid/config/views.py", line 169, in __call__
     return view(context, request)
   File "/usr/lib/python2.7/site-packages/pyramid/config/views.py", line 188, in attr_view
     return view(context, request)
   File "/usr/lib/python2.7/site-packages/pyramid/config/views.py", line 214, in predicate_wrapper
     return view(context, request)
   File "/usr/lib/python2.7/site-packages/pyramid/viewderivers.py", line 436, in rendered_view
     result = view(context, request)
   File "/usr/lib/python2.7/site-packages/pyramid/viewderivers.py", line 144, in _requestonly_view
     response = view(request)
   File "/usr/lib/python2.7/site-packages/cornice/service.py", line 514, in wrapper
     response = view_(request)
   File "/usr/lib/python2.7/site-packages/tokenserver/views.py", line 384, in return_token
     if keys_changed_at > user['keys_changed_at']:
 <type 'exceptions.KeyError'>
 KeyError('keys_changed_at',)
 Traceback (most recent call last):
   File "/usr/lib/python2.7/site-packages/pyramid/router.py", line 270, in __call__
     response = self.execution_policy(environ, self)
   File "/usr/lib/python2.7/site-packages/pyramid/router.py", line 279, in default_execution_policy
     return request.invoke_exception_view(reraise=True)
   File "/usr/lib/python2.7/site-packages/pyramid/view.py", line 778, in invoke_exception_view
     reraise_(*exc_info)
   File "/usr/lib/python2.7/site-packages/pyramid/router.py", line 277, in default_execution_policy
     return router.invoke_request(request)
   File "/usr/lib/python2.7/site-packages/pyramid/router.py", line 249, in invoke_request
     response = handle_request(request)
   File "/usr/lib/python2.7/site-packages/tokenserver/tweens.py", line 15, in set_x_timestamp_header_tween
     response = handler(request)
   File "/usr/lib/python2.7/site-packages/syncstorage/tweens.py", line 123, in convert_non_json_responses_tween
     response = handler(request)
   File "/usr/lib/python2.7/site-packages/syncstorage/tweens.py", line 99, in convert_cornice_errors_to_respcodes_tween
     response = handler(request)
   File "/usr/lib/python2.7/site-packages/syncstorage/tweens.py", line 53, in set_default_accept_header_tween
     return handler(request)
   File "/usr/lib/python2.7/site-packages/syncstorage/tweens.py", line 30, in set_x_timestamp_header_tween
     response = handler(request)
   File "/usr/lib/python2.7/site-packages/mozsvc/tweens.py", line 94, in fuzz_backoff_headers_tween
     response = handler(request)
   File "/usr/lib/python2.7/site-packages/mozsvc/tweens.py", line 59, in log_uncaught_exceptions_tween
     return handler(request)
   File "/usr/lib/python2.7/site-packages/mozsvc/tweens.py", line 26, in catch_backend_errors_tween
     return handler(request)
   File "/usr/lib/python2.7/site-packages/pyramid/tweens.py", line 43, in excview_tween
     response = _error_handler(request, exc)
   File "/usr/lib/python2.7/site-packages/pyramid/tweens.py", line 17, in _error_handler
     reraise(*exc_info)
   File "/usr/lib/python2.7/site-packages/pyramid/tweens.py", line 41, in excview_tween
     response = handler(request)
   File "/usr/lib/python2.7/site-packages/pyramid/router.py", line 148, in handle_request
     registry, request, context, context_iface, view_name
   File "/usr/lib/python2.7/site-packages/pyramid/view.py", line 667, in _call_view
     response = view_callable(context, request)
   File "/usr/lib/python2.7/site-packages/pyramid/config/views.py", line 169, in __call__
     return view(context, request)
   File "/usr/lib/python2.7/site-packages/pyramid/config/views.py", line 188, in attr_view
     return view(context, request)
   File "/usr/lib/python2.7/site-packages/pyramid/config/views.py", line 214, in predicate_wrapper
     return view(context, request)
   File "/usr/lib/python2.7/site-packages/pyramid/viewderivers.py", line 436, in rendered_view
     result = view(context, request)
   File "/usr/lib/python2.7/site-packages/pyramid/viewderivers.py", line 144, in _requestonly_view
     response = view(request)
   File "/usr/lib/python2.7/site-packages/cornice/service.py", line 514, in wrapper
     response = view_(request)
   File "/usr/lib/python2.7/site-packages/tokenserver/views.py", line 384, in return_token
     if keys_changed_at > user['keys_changed_at']:
 KeyError: 'keys_changed_at'

Stars commented on 2019-12-02 09:04 (UTC)

If I can offer any help to installing this properly on your server I would personally just go and download the server directly from github, and compile it from there.

I don't have enough time to install all of these dependencies, and as of right now some of them are broken so I am unable to install this package unless I ignore python2-pyramid, but I don't know if that would prevent the application from installing so I just installed it from github and worked like a charm.

elvenbone commented on 2019-11-22 22:31 (UTC)

Since the package was orphaned I signed up as maintainer because I use the sync server intensively. However, if anyone wants to take over, feel free.

MikaYuoadas commented on 2019-04-19 08:34 (UTC)

For anyone having the same issue as me and lb.laboon:

I got it working again just by editing python2-tokenserver's PKGBUILD to depends on python2-cornice-0.16.2 instead of python2-cornice.

lb.laboon commented on 2019-04-18 19:23 (UTC) (edited on 2019-04-18 19:24 (UTC) by lb.laboon)

Broken for me as well, with the same error as MikaYuoadas. I'm guessing this is an upstream issue?

MikaYuoadas commented on 2019-04-18 09:39 (UTC)

The package seems broken since the upgrade of python2-tokenserver's cornice dependency from 0.16.2 to 3.5.1.

I get the following when starting the syncserver:

Traceback (most recent call last):
  File "syncserver.wsgi", line 40, in <module>
    application = loadapp('config:%s'% ini_file)
  File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
    return loadobj(APP, uri, name=name, **kw)
  File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
    return context.create()
  File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
    return self.object_type.invoke(self)
  File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 146, in invoke
    return fix_call(context.object, context.global_conf, **context.local_conf)
  File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
    val = callable(*args, **kw)
  File "/usr/lib/python2.7/site-packages/syncserver/__init__.py", line 245, in main
    config = get_configurator(global_config, **settings)
  File "/usr/lib/python2.7/site-packages/syncserver/__init__.py", line 237, in get_configurator
    config.include(includeme)
  File "/usr/lib/python2.7/site-packages/pyramid/config/__init__.py", line 839, in include
    c(configurator)
  File "/usr/lib/python2.7/site-packages/syncserver/__init__.py", line 136, in includeme
    config.include("syncstorage", route_prefix="/storage")
  File "/usr/lib/python2.7/site-packages/pyramid/config/__init__.py", line 839, in include
    c(configurator)
  File "/usr/lib/python2.7/site-packages/syncstorage/__init__.py", line 19, in includeme
    config.include("syncstorage.views")
  File "/usr/lib/python2.7/site-packages/pyramid/config/__init__.py", line 808, in include
    c = self.maybe_dotted(callable)
  File "/usr/lib/python2.7/site-packages/pyramid/config/__init__.py", line 912, in maybe_dotted
    return self.name_resolver.maybe_resolve(dotted)
  File "/usr/lib/python2.7/site-packages/pyramid/path.py", line 320, in maybe_resolve
    return self._resolve(dotted, package)
  File "/usr/lib/python2.7/site-packages/pyramid/path.py", line 327, in _resolve
    return self._zope_dottedname_style(dotted, package)
  File "/usr/lib/python2.7/site-packages/pyramid/path.py", line 382, in _zope_dottedname_style
    __import__(used)
  File "/usr/lib/python2.7/site-packages/syncstorage/views/__init__.py", line 138, in <module>
    path="")
  File "/usr/lib/python2.7/site-packages/syncstorage/views/__init__.py", line 111, in __init__
    super(SyncStorageService, self).__init__(**kwds)
  File "/usr/lib/python2.7/site-packages/cornice/service.py", line 196, in __init__
    raise ConfigurationError("'acl' is not supported")
pyramid.exceptions.ConfigurationError: 'acl' is not supported

Teyro commented on 2019-02-13 19:20 (UTC)

Getting this error in 1.8... [code] ERROR:syncstorage.views:Could not apply batch ERROR:syncstorage.views:BackendError

(sqlite3.OperationalError) no such column: batch_upload_items.userid [SQL: u"\n INSERT OR REPLACE INTO bso\n (userid, collection, id, sortindex, payload,\n payload_size, ttl, modified)\n SELECT\n batch_uploads.userid,\n batch_uploads.collection,\n batch_upload_items.id,\n COALESCE(batch_upload_items.sortindex, existing.sortindex),\n COALESCE(batch_upload_items.payload, existing.payload, ''),\n COALESCE(batch_upload_items.payload_size, existing.payload_size, 0),\n COALESCE(batch_upload_items.ttl_offset + ?, existing.ttl, ?),\n ?\n FROM batch_uploads\n LEFT JOIN batch_upload_items\n ON\n batch_upload_items.batch = batch_uploads.batch AND\n batch_upload_items.userid = batch_uploads.userid\n LEFT OUTER JOIN bso AS existing\n ON\n existing.userid = batch_uploads.userid AND\n existing.collection = batch_uploads.collection AND\n existing.id = batch_upload_items.id\n WHERE\n batch_uploads.batch = ? AND\n batch_uploads.userid = ?\n / [queryName=APPLY_BATCH_INSERT] /"] [parameters: (1550085553, 2100000000, 1550085553090L, 1550085553091L, 1)] (Background on this error at: http://sqlalche.me/e/e3q8) ERROR:mozsvc:68a5000cba6e610cdb2beb672887bdcf ERROR:mozsvc:BackendError

(sqlite3.OperationalError) no such column: batch_upload_items.userid [SQL: u"\n INSERT OR REPLACE INTO bso\n (userid, collection, id, sortindex, payload,\n payload_size, ttl, modified)\n SELECT\n batch_uploads.userid,\n batch_uploads.collection,\n batch_upload_items.id,\n COALESCE(batch_upload_items.sortindex, existing.sortindex),\n COALESCE(batch_upload_items.payload, existing.payload, ''),\n COALESCE(batch_upload_items.payload_size, existing.payload_size, 0),\n COALESCE(batch_upload_items.ttl_offset + ?, existing.ttl, ?),\n ?\n FROM batch_uploads\n LEFT JOIN batch_upload_items\n ON\n batch_upload_items.batch = batch_uploads.batch AND\n batch_upload_items.userid = batch_uploads.userid\n LEFT OUTER JOIN bso AS existing\n ON\n existing.userid = batch_uploads.userid AND\n existing.collection = batch_uploads.collection AND\n existing.id = batch_upload_items.id\n WHERE\n batch_uploads.batch = ? AND\n batch_uploads.userid = ?\n / [queryName=APPLY_BATCH_INSERT] /"] [parameters: (1550085553, 2100000000, 1550085553090L, 1550085553091L, 1)] (Background on this error at: http://sqlalche.me/e/e3q8) Traceback (most recent call last): File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/mozsvc/tweens.py", line 26, in catch_backend_errors_tween return handler(request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/pyramid/tweens.py", line 21, in excview_tween response = handler(request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/pyramid/router.py", line 163, in handle_request response = view_callable(context, request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/pyramid/config/views.py", line 596, in call return view(context, request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/pyramid/config/views.py", line 329, in attr_view return view(context, request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/pyramid/config/views.py", line 305, in predicate_wrapper return view(context, request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/pyramid/config/views.py", line 245, in secured_view return view(context, request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/pyramid/config/views.py", line 355, in rendered_view result = view(context, request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/pyramid/config/views.py", line 501, in _requestonly_view response = view(request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/cornice/service.py", line 514, in wrapper response = view(request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/views/util.py", line 54, in wrapper return decorator_func(target_func, args, kwds) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/views/decorators.py", line 40, in convert_storage_errors return viewfunc(request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/views/util.py", line 54, in wrapper return decorator_func(target_func, *args, kwds) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/views/decorators.py", line 71, in sleep_and_retry_on_conflict return viewfunc(request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/views/util.py", line 54, in wrapper return decorator_func(target_func, args, kwds) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/views/decorators.py", line 193, in with_collection_lock return viewfunc(request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/views/util.py", line 54, in wrapper return decorator_func(target_func, *args, kwds) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/views/decorators.py", line 164, in check_precondition_headers return viewfunc(request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/views/util.py", line 54, in wrapper return decorator_func(target_func, args, kwds) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/views/decorators.py", line 102, in check_storage_quota return viewfunc(request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/views/init.py", line 346, in post_collection return post_collection_batch(request) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/views/init.py", line 418, in post_collection_batch ts = storage.apply_batch(userid, collection, batch) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/mozsvc/metrics.py", line 183, in timed_func return func(*args, kwds) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/storage/sql/init.py", line 108, in with_session_wrapper return func(self, session, args, kwds) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/storage/sql/init.py", line 554, in apply_batch session.query("APPLY_BATCH_INSERT", params) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/storage/sql/init.py", line 80, in convert_db_errors_wrapper return func(*args, kwds) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/storage/sql/init.py", line 1043, in query return self.connection.query(query, params) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/storage/sql/dbconnect.py", line 748, in query res = self.execute(query, params, annotations) File "/opt/mozilla-firefox-sync-server/local/lib/python2.7/site-packages/syncstorage/storage/sql/dbconnect.py", line 545, in report_backend_errors_wrapper raise BackendError(str(exc)) BackendError: BackendError

(sqlite3.OperationalError) no such column: batch_upload_items.userid [SQL: u"\n INSERT OR REPLACE INTO bso\n (userid, collection, id, sortindex, payload,\n payload_size, ttl, modified)\n SELECT\n batch_uploads.userid,\n batch_uploads.collection,\n batch_upload_items.id,\n COALESCE(batch_upload_items.sortindex, existing.sortindex),\n COALESCE(batch_upload_items.payload, existing.payload, ''),\n COALESCE(batch_upload_items.payload_size, existing.payload_size, 0),\n COALESCE(batch_upload_items.ttl_offset + ?, existing.ttl, ?),\n ?\n FROM batch_uploads\n LEFT JOIN batch_upload_items\n ON\n batch_upload_items.batch = batch_uploads.batch AND\n batch_upload_items.userid = batch_uploads.userid\n LEFT OUTER JOIN bso AS existing\n ON\n existing.userid = batch_uploads.userid AND\n existing.collection = batch_uploads.collection AND\n existing.id = batch_upload_items.id\n WHERE\n batch_uploads.batch = ? AND\n batch_uploads.userid = ?\n / [queryName=APPLY_BATCH_INSERT] /"] [parameters: (1550085553, 2100000000, 1550085553090L, 1550085553091L, 1)] (Background on this error at: http://sqlalche.me/e/e3q8)

user: {'uid': 1}

[/code]