-
Notifications
You must be signed in to change notification settings - Fork 18
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
images switch server to centos:stream9 as base image #98
Conversation
@phlogistonjohn - I wanted to take a stab at fixing an issue... building server and ad-serverstrangely fails locally for me. let's see how the ci goes ... |
ok. both server and ad-server builds fail in the CI here as well. will try to fix it later / tomorrow ... |
AFAIK, we discussed this a while back and one of the major blockers was that centos samba builds don't include the DC component at all. Thoughts? |
Just to install all the distro packages we need for the server image we'll need a bunch of commands like:
In the install-packages.sh script. However, you'll then hit the issue that sambacc fails to install because the rpm is built using fedora which is using python3.10 and when it tries to install sambacc it'll fail because the version of python is too low on cs9. That's all on top of the issue of not having samba-dc rpm at all as mentioned earlier, so while I don't think making server cs9 based is insurmountable, there are a bunch of issues that need to be discussed IMO. |
I have the required changes still on hold for quite some time(as mentioned in #78 (comment)). I've rebased those changes against latest master for both sambacc and samba-container. |
Updated the PR including the patch anoopcs9@075b655 from @anoopcs9 for the server image and trying to adjust for ad-server. |
You'll have to first make changes in sambacc as I mentioned earlier in #98 (comment). Only then we get an el9 build of python3-sambacc for install during server/ad-server build process. |
@anoopcs9 can I suggest that if you have changes ready for sambacc you file a PR on that repo? I have some q's and thoughts but I think a PR (even just a draft PR) is the better way to discuss it. Thanks! |
@phlogistonjohn , @anoopcs9 , seems I have managed to fix all the server and ad-server builds now in the ci. 😄 |
@Mergifyio rebase |
To get the future behavior now, you can configure Or you can create a dedicated github account for squash and rebase operations, and use it in different |
✅ Branch has been successfully rebased |
3c9a5af
to
815c52d
Compare
This pull request now has conflicts with the target branch. Please resolve these conflicts and force push the updated branch. |
rebasing locally worked without conflicts. git magically applied @anoopcs9 's original patch to the now inappropriately named After a quick discussion with @phlogistonjohn , I decided to misuse this PR to generalize the multi-flvour build just introduced by opensuse builds in PR #104, ant I added commits to add explicit choices for fedora and centos builds. example build commands are now:
We should probably add explicitci actions for those ... |
fwiw, the default is still fedora. @anoopcs9 's original patch to switch server to centos probably needs amending to change rge default to centos as the commit claims to do ... @phlogistonjohn - what do you think? |
5bb99b0
to
2c303eb
Compare
updated the PR to fix some typos and other issus. now some checks are failing. e.g.:
|
@phlogistonjohn , @anoopcs9 , @synarete - what do you think about this? |
@@ -0,0 +1,19 @@ | |||
include Makefile |
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'm only 50/50 on adding a file like this as it is redundant with the defaults in Makefile. If we change something we now have to change it in two places. That said, it has the benefit of being consistent with the recent changes to add opensuse support.
@@ -6,7 +6,6 @@ get_custom_repo() { | |||
url="$1" | |||
fname="$(basename "$url")" | |||
dest="/etc/yum.repos.d/${fname}" | |||
dnf install --setopt=install_weak_deps=False -y curl |
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.
If we support building from either centos or fedora we should make the script work on both (or have two scripts). Right now, this change will simply cause the build to fail on fedora.
924a876
to
280e23f
Compare
@anoopcs9 , I changed your original commit in the following way:
Please check if you are ok with the approach in principle. |
@phlogistonjohn , @anoopcs9 , @synarete , @spuiuk : if desired, I could split the commits that add explicit build flavors for fedora and centos out into a separate PR (or several), since this does not match the original topic of this PR any longer ... |
I would really like to break this PR up into smaller pieces. For example, the changes to install packages script will break fedora build, but this is masked in this PR because you also change the default behavior of the makefile. Would you be open to creating or updating this PR to only add support for centos? That would mean a new Makefile.centos{9?}, a new Containerfile.centos9, and updates to the script that work for both fedora and centos. |
This abstracts out a few settings a bit. it is intended to make future additions of other build flavors easier. Adding a new build flavor (OS) will essentially amount to adding OS-specific containerfiles and a os-specific Makefile that includes the main Makefile and sets the following two override variables: * OS_NAME * REPO_BASE see Makefile.opensuse for an example. Signed-off-by: Michael Adam <obnox@samba.org>
This follows the new opensuse pattern and allows for specifically building fedora based images my using the new Makefile.fedora for the server :`make -f Makefile.fedora build-server`. for the client :`make -f Makefile.fedora build-client`. etc this is achieved by adding a fedora specific Makefile that changes a few variables to explicitlyuse fedora specific containerfiles fedora is still the default, but this prepares for later adding more flavors. Signed-off-by: Michael Adam <obnox@samba.org>
server and clientcontainer images can now be builtbased on centos stream 9 cy usinf Makefile.centos: server:`make -f Makefile.centos build-server`. `client:make -f Makefile.centos build-client`. for enabling centos vuilds for more images, corresponding Containerfiles need to be added. Signed-off-by: Michael Adam <obnox@samba.org> client: add a centos based client container build flavor use: `make -f Makefile.centos build-client` Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Anoop C S <anoopcs@samba.org>
@phlogistonjohn , as discussed earlier today, I have split the generalisation part and supporting fedora and centos as explicit flavors out into PR #107 . This PR now depends on that other PR |
This pull request now has conflicts with the target branch. Please resolve these conflicts and force push the updated branch. |
I don't know if we still want to do this. In our discussions, I had the impression, that you don't want to change the default base OS, @phlogistonjohn - right? |
Correct. It's not that I never want to switch but it should happen in a controlled phased process were we ensure we don't lose any features/abilities and we do it at a clear point in time. |
@phlogistonjohn wrote:
agreed. closing ... |
Fixes: #78
Signed-off-by: Michael Adam obnox@samba.org