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

added debian 12 dockerfiles and deb packages #163

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

Conversation

alexeadem
Copy link

Reference the issue numbers and reviewers

Explain relevant issues and how this pull request solves them

Describe the changes in code and its dependencies and justify that they work as intended after testing

Describe alternatives you've considered

Additional context

  • [ x] I confirm that this pull request is relevant to the scope of this project. If you know that upstream projects are the cause of this problem, please file the pull request there.
  • [x ] I confirm that this pull request has been tested thoroughly and to the best of my knowledge that additional unintended problems do not arise.
  • I confirm that the style of the changed code conforms to the overall style of the project.
  • [x ] I confirm that I have read other open and closed pull requests and that duplicates do not exist.
  • [x ] I confirm that I have justified the need for this pull request and that the changes reflect the fix for the specified problem.
  • [ x] I confirm that no portion of this pull request contains credentials or other private information, and it is my own responsibility to protect my privacy.
  • [ x] I confirm that the authors of this pull request does not willfully breach or infringe legal regulations, in any and all global law, regarding trademarks, trade names, logos, patents, or any and all other forms of external intellectual property, as well as adhering to software license terms of open-source and proprietary software projects.

@ehfd
Copy link
Member

ehfd commented Jul 31, 2024

Is there any difference in the code(s) and apt-get installations aside from the base container being Debian? If there isn't, there's an option to just change the base container ARG, which will reduce the volume of code added.

This is to reduce the code footprint maintainers are required to manage, and because the containers are one of the most frequently changed code in the repository.

@ehfd
Copy link
Member

ehfd commented Jul 31, 2024

For instance, it would be possible to use:

ARG DISTRIB_IMAGE
ARG DISTRIB_RELEASE
FROM ${DISTRIB_IMAGE}:${DISTRIB_RELEASE}

And these values can be changed with the GitHub Actions configuration files.

@ehfd
Copy link
Member

ehfd commented Jul 31, 2024

How does the Ubuntu 24.04 KDE container feel like in your infrastructure after the update yesterday I made?

@alexeadem
Copy link
Author

alexeadem commented Jul 31, 2024

QBO https://qbo.io/#/ uses kind base images based on systemd https://kind.sigs.k8s.io/docs/design/base-image/

and not supervisord. They are based on debian 12 and I had to compile/create debian packages so I ca replicate this:
https://github.com/selkies-project/docker-nvidia-egl-desktop/blob/41b3e5067704c20c0b12aa1eb20f4c412608c6c5/Dockerfile#L572

Also It would be nice to have a local option instead of just depending on github actions when building the images as I added in my PR

Please let me know if you are interested to see the systemd version.

@ehfd
Copy link
Member

ehfd commented Jul 31, 2024

I could take a look, but systemd is prohibitive in many K8s environments which don't accept disabling seccomp or apparmor.

@ehfd
Copy link
Member

ehfd commented Aug 1, 2024

I will implement this without having additional Dockerfiles in time for v1.6.2 once our Conda build pipeline succeeds from an upstream issue.

@alexeadem
Copy link
Author

I will implement this without having additional Dockerfiles in time for v1.6.2 once our Conda build pipeline succeeds from an upstream issue.

That would be awesome thank you. You can use my PR to see the difference between Ubuntu and Debian. I can help with testing. .

@ehfd
Copy link
Member

ehfd commented Aug 12, 2024

I've run out of time to do this...
This cannot land for v1.6.2.

To Maintainers or @alexeadem: Do not merge this as-is.

The same Dockerfile and sh scripts must build the Ubuntu and Debian packages together.

Use DISTRIB_IMAGE and DISTRIB_RELEASE to identify when to add extra options.

Example: if [ "$(grep VERSION_ID= /etc/os-release | cut -d= -f2 | tr -d '\"')" \> "20.04" ]; then apt-get update && apt-get install --no-install-recommends -y libopenh264-dev svt-av1 libsvtav1enc-dev libsvtav1dec-dev aom-tools libaom-dev; fi && \ to for example if { [ "${DISTRIB_IMAGE}" = "ubuntu" ] && [ "$(grep VERSION_ID= /etc/os-release | cut -d= -f2 | tr -d '\"')" \> "20.04" ]; } || { [ "${DISTRIB_IMAGE}" = "debian" ] && [ "$(grep VERSION_ID= /etc/os-release | cut -d= -f2 | tr -d '\"')" \> "11" ]; };

Change for example Dockerfile.ubuntu_debpkg and build_ubuntu_deb.sh to Dockerfile.debpkg and build_deb.sh when completed.

Then, update the GitHub Actions files to add Debian containers in the build (preferably also including the example container).

Ubuntu and Debian MUST be built with the same Dockerfile to reduce future maintenance load.

Plus, a bunch of package dependencies have been taken out from the Dockerfiles for v1.6.2, so a lot of the dependencies from v1.6.1 are now unnecessary.

@ehfd
Copy link
Member

ehfd commented Oct 30, 2024

493e90f moves initially towards my intentions.

The remaining phase would be to clean up the documentation to include Debian, clean up Ubuntu-specific PPAs, and enable the builds in GitHub Actions.

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.

2 participants