-
Notifications
You must be signed in to change notification settings - Fork 71
Add syncthingctl #957
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add syncthingctl #957
Conversation
|
Should syncthingctl have |
Probably! I'll check that if I can ever get it building... |
|
I've managed to fix the AFAIK, the only way this will ever work is going through entware and making qt dev packages (including a qt gui one, because apparently qtutilities always needs that for some reason). Or theoretically making qt packages here as well, but both of those are a giant pile of work, and I think I'm done on this one. |
|
Toltec doesn't use the entware qt libraries, as qt is shipped on the device. You'll want to use the qt image and use the system qt libraries instead. These should already have header files. If there is a specific library that is not included in the system qt libraries, that would need to be built and added. You can reference https://github.com/toltec-dev/toolchain/blob/v3.x/qt/Dockerfile for how qt was built for the device, and how it's installed. |
I had somehow completely forgotten that was a thing! So I've unfudged the qtutilities build, but qtforkawesome is another matter, as despite it's readme claiming it supports 5.6, it actually uses at least one 6.0 function. OTOH, it's a small one, so can probably patch around it... |
|
The qt:v4.0 image has qt6, as rM has updated to qt6 in later OS versions. This wont be available in toltec until #955 has been merged though. For now (and to keep supporting older OS versions) patching around it does seem like the easiest solution. |
|
|
|
If you just need |
I pushed that patch for you. Maybe further changes are required, though. I also pushed a patch that let's you avoid dealing with |
|
I've tested this locally on my rm1 (started |
Eeems
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll have to figure out how to test on rM1/2 sometime soon. I have some nits about the packages though that will need to be addressed.
|
@palfrey do you have any recommendations for how to test this? I've never used syncthing, and I'm not really planning on becoming a user. |
|
I don't no. I'm also not a user, it was just on the list of things people wanted and an interesting problem! @mooomooo as you originally asked for this, can you make suggestions? |
|
If you execute unit/integration tests as part of the package build you should be good. You can additionally invoke |
|
reMarkable: ~/packages/syncthing/ syncthingctl -s
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QFSFileEngine::open: No file name specified
Error: Unable to locate Syncthing config file and no API key specified
reMarkable: ~/packages/syncthing/ syncthingctl edit
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QFSFileEngine::open: No file name specified
Error: Unable to locate Syncthing config file and no API key specifiedLikely we'll just want to create a wrapper script for syncthingctl that sets XDG_RUNTIME_DIR before calling it, similar to how we have |
Eeems
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See above comment
Done |
Eeems
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lets put the real executable in libexec so it's not polluting the PATH.
|
@palfrey poke |
Done |
* Initial attempt at syncthingctl * Unfudge libcpp-utilities paths * Fix qtutilities build * Fix qtforkawesome * Partial syncthingctl build * Remove qtforkawesome patch * syncthingctl now builds * Timestamp fixes * Use released versions for syncthingctl and qtforkawesome * Add XDG_RUNTIME_DIR wrapper for syncthingctl * Put original syncthingctl in libexec --------- Co-authored-by: Nathaniel van Diepen <[email protected]>
This in theory should fix #841. However, it's a hard one as syncthingctl depends on multiple libraries we don't have available in the base image versions of Debian that are all made by the same author, and AFAIK are only really used by his projects.
This PR so far does the following:
mkdir /opt/includehack in it's build so far is also a bad sign.qtutilitiesbuild.I don't have enough cmake knowledge to really follow this one up, so pushing to ask a wider audience if they've got any ideas.