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
RFC: full darwin build #78
Conversation
Hello Ruth, thank you for your contribution. After only a quick look to your commit, I've seen a couple of thinks a really like and see as an advantage for Bareos in general, not only the Mac version. But let me start with some basic questions:
Yes, I have seen it before, but ignored it. Your approach looks good so far.
we use plist for bareos-fd. This should also be possible for bareos-dir and bareos-sd.
Excellent. Do you want to create a separate PR for this? Maybe moving the initialization more to the top of the function. We can then accept this immediately and add you to the contributors.
okay, good to know. I will discuss the cmake changes with @pstorz later this week. regards, |
I am glad it looks interesting.
I am aware of the prior 'osx' platform and its use for client builds, but I used "darwin" because that's what cmake identified the target as. I am relatively new to cmake so didn't want to fight the system. If there is a reason to change I have no objection.
I did wonder myself but I decided to see what issues building everything would throw up. In the end, the include directory ordering issues, closely followed by rpcgen was the most painful to sort. Mostly other things built without issue (NB: I don't have a test suite). My personal reason for doing this was that my dev machine is Mac and I want to make some changes to the director, and decided to try using CLion on mac rather than set up a VM for Linux. My server is indeed Ubuntu Linux. It seems to me though that having all platforms on the same build system, and at least capable of the same results, is a win.
I haven't looked into that area. If the changer is an issue to port it would make sense to me to avoid it.
I think the rpcgen fail can be fixed easily enough. I don't know enough about NDMP to know when it's useful in any context :-) I'll throw together some smaller, distinct PRs in the next few days and see how they go. |
I integrated 5 of your PRs into our internal master. I planed to push them to github immediately, however found out that the Bareos team is currently reorganize their git repositories. |
Thanks Joerg, that's great. I obviously have not created a distinct PR for the mac/darwin port, partly because I was waiting to see what else happened and partly because of the whole macosx/darwin thing.
|
Hello Ruth, everything that improves Bareos and do not break anything is welcome. If I see this correctly the remaining of this PR can be separated in 4 parts:
cmake additions specific for Darwin: cmake additions to find libraries: copying platforms/freebsd to platforms/Darwin: While the Bareos will continue to provide a locally build Mac Client, both Makefile and plist files are not required when build using homebrew. NDMP:
Until now, your changes have been easy to integrate. Only some minor conflicts. As the remaining of this PR only modifies cmake files and adds some new files, I don't think you have to wait. I assign this PR for the remaining questions to @pstorz. |
One more thing: the preferred database backend of Bareos is Postgresql, not mysql or sqlite. |
Hello, As we have merged the interesting parts I would like to close this PR. Best regards Philipp |
I didn't get to the darwin-specific parts of the change. If its still useful I will try to tease them into shape and submit separately. |
Folks,
I have been working for several days on building bareos on MacOS using cmake and the CLion IDE, and the attached patches are the result. It does basically work... for me anyway!
I marked this as RFC because I expect you to say "that's too big"; I know. The purpose of this PR is to ask how you would like it broken up, and if the overall direction is suitable.
My intention is for this PR not to be accepted but to create from it one or more other PRs which can be.
Prerequisites:
Optional
Current areas of concern:
Other notable changes: