Skip to content
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

WIP - initial gentoo support (should fix #19) #20

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

javierbertoli
Copy link
Member

This Dockerfile 'kinda' worked locally for 2019.2.2. Still needs more work to add the other versions.

This 'kinda' worked locally for 2019.2.2
@myii
Copy link
Collaborator

myii commented Dec 3, 2019

@mgomersbach Would you mind casting an eye over this PR with your recommendations?


ARG PKGS="udev git net-tools sudo curl openssh-server openssh-clients which findutils glibc-langpack-en $EXTRA_PACKAGES"

RUN echo 'ACCEPT_KEYWORDS="~amd64"' | tee -a /etc/portage/make.conf
Copy link
Collaborator

Choose a reason for hiding this comment

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

We should avoid this.

  • Found the solution here, i.e.

    • echo 'ACCEPT_KEYWORDS="~amd64"' | tee -a /etc/portage/make.conf

Yeah, common pitfall, and a logical one too, however, from now entire "world" (all system packages + your installed packages) will now use the unstable branch (amd64 == stable / ~amd64 == unstable) and force an awful lot of rebuilds, if the package manager even is able to resolve it.

Replacing it with something based on:

Perhaps:

Suggested change
RUN echo 'ACCEPT_KEYWORDS="~amd64"' | tee -a /etc/portage/make.conf
RUN mkdir --p /etc/portage
RUN echo "=app-admin/salt ~amd64" >> /etc/portage/package.accept_keywords
  • Probably don't need the mkdir --p /etc/portage but just taking that from the referenced wiki page

Choose a reason for hiding this comment

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

You are right, you should not need it, but it doesn't hurt either. However it could cover up a case where it is not available (which it should, because for example the system profile is defined/linked in there)
Rest looks fine.

@myii
Copy link
Collaborator

myii commented Dec 3, 2019

This comment is useful: #19 (comment).

RUN echo 'ACCEPT_KEYWORDS="~amd64"' | tee -a /etc/portage/make.conf
RUN emerge-webrsync \
&& emerge -u system \
&& emerge -u world

Choose a reason for hiding this comment

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

I think you should skip updating @System or @world.
We want to test salt and not gentoo and it is a bit of a anti pattern in docker.

RUN if [ ${SALT_INSTALL_METHOD} = "stable" ];
then SALT_VERSION = ""; \
fi; \
curl -L https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/bootstrap-salt.sh | \

Choose a reason for hiding this comment

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

Unless the bootstrap script supports gentoo well, I'd use portage/emerge itself to install salt.

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