Post B2YGiInkcRxI2hnHSC by jana@social.jsteuernagel.de
(DIR) More posts by jana@social.jsteuernagel.de
(DIR) Post #B2YGhuZ2jTvis8jCCG by jana@social.jsteuernagel.de
2026-01-22T17:16:07Z
1 likes, 0 repeats
My last Port update might not yet have seen any activity on Bugzilla, but that doesn't stop me from cooking on creating an entirely new FreeBSD port for something that I want to have :neobot_smug: (Or at least, giving my best at trying to figure out how to make it work. I think I got through most of the dependency problems by now)
(DIR) Post #B2YGi36eyNZdMiW9ho by jana@social.jsteuernagel.de
2026-01-22T18:22:41Z
0 likes, 0 repeats
Realized I didn't say what I'm building a Port for.It's Mozilla syncstorage-rs.I wanna migrate my Firefox sync server to FreeBSD properly, so building a Port it is.
(DIR) Post #B2YGiBHwYJLwk1rHP6 by jana@social.jsteuernagel.de
2026-01-22T18:24:23Z
1 likes, 0 repeats
And I just managed my first successful build of it, where poudriere testport didn't complain about anything! :neobot_happy:
(DIR) Post #B2YGiInkcRxI2hnHSC by jana@social.jsteuernagel.de
2026-01-22T18:27:25Z
1 likes, 0 repeats
Based on my previous testing of syncstorage-rs on FreeBSD, I think this means that it's good.So I'll already proceed to create some options and try to also get a version with the PostgreSQL feature compiled.If that works, I'll spin up a dummy database and see of it will be happy to talk to that.
(DIR) Post #B2YGkZncOOd3L7ofK4 by jana@social.jsteuernagel.de
2026-01-22T18:34:36Z
1 likes, 0 repeats
@domi Yes, it does! It's effectively the same software Firefox uses for their own Sync server installation (Which explains why the documentation is absolute garbage).I just have to run a database query to increase the amount of users that are permitted to use the server (yes, that's literally how it's done if one doesn't want to have it open to everyone).So I'd be happy to share, once this new setup is online ^^
(DIR) Post #B2a0aVA1ZeF16hOGWG by jana@social.jsteuernagel.de
2026-01-22T18:53:33Z
0 likes, 0 repeats
Ah yes, I encoded the features as options, build with the default ones (so nothing should have changed in regards to the build) and suddenly it's throwing errors. :neobot_woozy:
(DIR) Post #B2a0aWTufBkDCfhf9s by jana@social.jsteuernagel.de
2026-01-22T18:56:08Z
0 likes, 0 repeats
Well, I'll leave it there for now. Happy with todays progress. I'm hopeful this will turn out nicely.
(DIR) Post #B2a0aXeEKJaioxXPsW by jana@social.jsteuernagel.de
2026-01-23T07:32:48Z
0 likes, 0 repeats
Turns out: PostgreSQL support in syncstorage-rs is not in the latest release yet! That explains a lot. It's only on the main branch so far, which I didn't intend to build based on. Probably also better for stability, if I keep to what has been supported for longer.Though I'd really much rather have a PostgreSQL database, if I'm redoing my setup anyways. Meh :/
(DIR) Post #B2a0aZ5CzUlXGvATZI by jana@social.jsteuernagel.de
2026-01-23T07:52:55Z
0 likes, 0 repeats
In order to make sense of some things, I started digging through the Github issues.So far I've learned that they intend to move their setup to PostgreSQL, but don't have an environment for it yet.So far it seems to be on a Spanner database in GCP (which is why that's supported).There is a py_verifier feature, which is on by default. But that's the older implementation of JWT verification, which is done in Python. If one disables that, syncstorage-rs uses the newer pure-Rust version.Why is the old one the default then? Apparently because they still use it in production (though the info on that is from March 2025).And this one comment was fun:(Honestly? Anyone could write their own syncserver if they wanted to.) syncstorage is basically just a bunch of buckets with a slightly smart way of storing and retrieving them.Is that a challenge :neobot_giggle: ?
(DIR) Post #B2a0aa0HZIQ47vs3Wq by jana@social.jsteuernagel.de
2026-01-23T07:55:51Z
0 likes, 0 repeats
Yeah okay, MySQL support in syncstorage-rs is on the dying leg.Well, maybe it's main branch build then, after all.
(DIR) Post #B2a0aahsxBIWJAGsUa by jana@social.jsteuernagel.de
2026-01-23T07:59:06Z
0 likes, 0 repeats
With the released version 0.21.1, there was an incompatibility with MariaDB, but that has been fixed in master (not released yet). If you want to use 0.21.1 with MariaDB, apply this patch before building.So that's why my old install broke! :neobot_dizzy:
(DIR) Post #B2a0abQYH71iXhAY76 by jana@social.jsteuernagel.de
2026-01-23T08:01:09Z
0 likes, 0 repeats
We have just completed Postgres supportAha! How about doing a release then, when the feature is done?https://github.com/mozilla-services/syncstorage-rs/issues/1511#issuecomment-3699862776
(DIR) Post #B2a0abidBtULRlczIG by jana@social.jsteuernagel.de
2026-01-23T08:18:56Z
1 likes, 0 repeats
I have read through the API spec of the sync service and it is indeed now very complicated.I generally sadly don't have any spoons for programming, otherwise I'd test if I can throw something together that's more small-scale friendly than having to be at the shit-end of a project that is being used on a global scale.
(DIR) Post #B2a0acVYG0cVtUW3Xs by jana@social.jsteuernagel.de
2026-01-23T14:52:41Z
1 likes, 0 repeats
Okay, change of plans. As I learned that PostgreSQL is actually what they are targeting as their new thing, I have shifted to building based on the latest commit on main.I also decided to kick out features that ain't really relevant (py_verifier is legacy and I don't anyone outside of Mozilla will ever need Spanner).That left me with Mysql, PostgreSQL and Actix-compress, which is apparently some integrated compression stuff.And by now all of it compiles successfully, so I gotta move on to actually testing some stuff.