Skip to content

Add support for Universal Linux Client#1019

Merged
pstorz merged 18 commits intobareos:masterfrom
arogge:dev/arogge/master/universal-client
Dec 17, 2021
Merged

Add support for Universal Linux Client#1019
pstorz merged 18 commits intobareos:masterfrom
arogge:dev/arogge/master/universal-client

Conversation

@arogge
Copy link
Member

@arogge arogge commented Dec 9, 2021

This PR introduces a new build-type "Universal Client" that can be used to compile a filedaemon with only a few dependencies.
Currently you can build and package for Debian.
The resulting packages are currently untested and packaging still needs to be changed so a "real" client will automatically be an upgrade to the universal client.

Please check

  • Short description and the purpose of this PR is present above this paragraph
  • Your name is present in the AUTHORS file (optional)

If you have any questions or problems, please give a comment in the PR.

Checklist for the reviewer of the PR (will be processed by the Bareos team)

  • Merge branch PR-1019 into master of CD repository before merging this one!
General
  • PR name is meaningful
  • Purpose of the PR is understood
  • Separate commit for this PR in the CHANGELOG.md, PR number referenced is same
  • Commit descriptions are understandable and well formatted
Source code quality
  • Source code changes are understandable
  • Variable and function names are meaningful
  • Code comments are correct (logically and spelling)
  • Required documentation changes are present and part of the PR
  • bareos-check-sources --since-merge does not report any problems
  • git status should not report modifications in the source tree after building and testing

@arogge arogge force-pushed the dev/arogge/master/universal-client branch 2 times, most recently from d8ee36f to 5f1b100 Compare December 9, 2021 17:01
@arogge arogge force-pushed the dev/arogge/master/universal-client branch 2 times, most recently from f379830 to 5e74879 Compare December 10, 2021 15:14
@arogge arogge requested a review from joergsteffens December 10, 2021 15:14
@arogge arogge force-pushed the dev/arogge/master/universal-client branch 2 times, most recently from 69e0ab6 to a7275b0 Compare December 13, 2021 22:27
@arogge arogge force-pushed the dev/arogge/master/universal-client branch 3 times, most recently from cc46684 to 6c5be9f Compare December 16, 2021 00:16
@arogge arogge self-assigned this Dec 16, 2021
@arogge arogge force-pushed the dev/arogge/master/universal-client branch 5 times, most recently from d1beaea to e4ba274 Compare December 17, 2021 12:00
@pstorz pstorz self-requested a review December 17, 2021 15:07
@pstorz pstorz marked this pull request as ready for review December 17, 2021 15:11
Copy link
Member

@pstorz pstorz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All changes look good and the tests of the ULC also all are successful.

This patch removes support for media labeled with Bacula 1.26 and
earlier. Volumes labeled with Bacula 1.27 (Oct 23rd 2002) or later will
still work.
CMP0054 and CMP0057 exist in cmake 3.12 which is our minimum
requirement, so we don't need to check for these anymore.
This patch introduces ENABLE_CAPABILITY which allows you to disable
capability support even if the libraries are present.
With this option you can enable/disable all python support.
With this option you can decide if bconsole should be built or not.
This can enable/disable building of the glusterfs filedaemon plugin.
This patch adds ENABLE_STATIC_RUNTIME_LIBS to cmake, which will build
with static libgcc and libstdc++.
The client-only build ships bsmtp and btraceback, so it should have the
manpages, too.
By setting this option, cmake will overwrite a set of other options to
build a so-called universal client with minimal dependencies.
With this patch you can build universal client packages for Debian by
adding "build-universal-client" to DEB_BUILD_OPTIONS.

This also updates the debhelper comapt level from 9 to 10.

Braking change:
* only systemd configuration, no Sys5 init scripts.
* bareos-director and bareos-storage are no longer installed with no-start option.
This patch changes the creation of debian/control from a template-based
approach to a snippet-based approach.
Also generating the control-file is now triggered by a custom target
called "generate-debian-control" instead of cmake itself.
@joergsteffens joergsteffens force-pushed the dev/arogge/master/universal-client branch from ad9d172 to 3463f69 Compare December 17, 2021 16:41
Copy link
Member

@joergsteffens joergsteffens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved as discussed. Documentation wil be part of a separate PR.

@pstorz pstorz force-pushed the dev/arogge/master/universal-client branch from 3463f69 to 163afcf Compare December 17, 2021 17:30
@pstorz pstorz merged commit 9b5c321 into bareos:master Dec 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants