-
Notifications
You must be signed in to change notification settings - Fork 677
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
Do not install ocsync to subfolder #6588
Conversation
Installing to lib/${APPLICATION_EXECUTABLE} has caused a bunch of irritations in the past and subtle annoying to fix bugs. To avoid name clashes with branded clients ${APPLICATION_EXECUTABLE} becomes now part of the filename instead of the subfolder. The concrete motivation to change this now is that on Windows there is no RPATH and it's not possible to run owncloud directly from the Craft Root folder, which is nice when you're developing on Windows. It would have been possible to change this just for Windows but as written earlier this has caused lots of issues and thus I think it's a good idea to just stay consistent accross platforms when touching it.
Btw does |
Good, I've had the same problem when doing the AppImage. client/admin/linux/appimage/script.sh Line 23 in d777fde
I don't think it does. Because of the common static library. |
So there is ${APPLICATION_EXECUTABLE}sync and, with this patch, ocsync_${APPLICATION_EXECUTABLE} I'd vote for renaming it |
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.
Overall, 👍
Even if we can bikeshed on the name
Note, there is a synclib_NAME cmake variable. Maybe we could add a csync_NAME variable as well for consitency |
Good points, I just wanted to use something to get started. Happy to rename it to whatever, as I said - I don't care at all about the actual name. Sounds good - will do it with that CMake variable and probably just use |
Compiles for my on macOS (had to clean a bit in my build dir though). .app also still is properly running
|
(Might need packaging changes for DEB and RPM) |
(it will, yes) |
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.
fine with me.
Packaging changes are identified as https://gitea.int.owncloud.com/ownbrander/scripting/commit/0bd459d6d357e021be765e2caae4749d131f568f
test builds cannt work before the final new names are coded there.
Hey,
I would like to be able to run the client from the Craft Root without further modifications or moving files around, for that
ocsync.dll
needs to be installed tobin/
. I could just change theRUNTIME DESTINATION
but I feel the RPATH has caused us more trouble in the past than it did us good:Just look at the commit history: https://github.com/owncloud/client/search?q=rpath&type=Commits
So I'm voting to get rid of it now and rename the
ocsync
target, to not clash with branded builds.I've verified that this way it's possible to run
owncloud.exe
from Craft Root,owncloud
executable from build dir and fromCMAKE_INSTALL_PREFIX
on Linux - I just couldn't test macOS.I don't care for the actual name, just that it's not installed to a subfolder.
Instead of
ocsync_${APPLICATION_EXECUTABLE}
we could maybe use${APPLICATION_SHORTNAME}ocsync
(or${APPLICATION_SHORTNAME}sync_private
) analogue to${APPLICATION_SHORTNAME}sync
. Other suggestions also welcome.I can also set a variable on top level
CMakeLists.txt
to have the naming logic only in one place, but then I need a new name for this again.