You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Some of the Microsoft SQL client packages require the user to accept the EULA before or during installation, either by setting an environment variable (ACCEPT_EULA=y), or by the package interactively prompting the user on the terminal. For example:
The problem is that the image builder does not have a way to pass such environment variables through to the package manager, or deal with such interactive prompts.
Environment
OS version (/etc/os-release and /etc/redhat-release): any
osbuild-composer version (rpm -qi osbuild-composer): any
To Reproduce
Steps to reproduce the behavior:
for example starting osbuild-composer.service or running composer-cli command, don't forget to include all configuration files you created
Configure the Microsoft SQL server repositories (however repositories are configured):
[[packages]]
name = "mssql-server"version = "*"
[[packages]]
name = "mssql-server-fts"version = "*"
[[packages]]
name = "mssql-server-ha"version = "*"
[[packages]]
name = "mssql-server-selinux"version = "*"
[[packages]]
name = "mssql-tools"version = "*"
[[packages]]
name = "powershell"version = "*"
[[packages]]
name = "unixODBC-devel"version = "*"
The image build will fail
Expected behavior
Image building will succeed
Additional context
The text was updated successfully, but these errors were encountered:
richm
changed the title
Unable to build images with Microsoft SQL packages - cannot pass environment variables or respond to prompts
Unable to build images with Microsoft SQL client packages - cannot pass environment variables or respond to prompts
Feb 9, 2024
One idea is to add the ability to include environmental variables with the packages. eg.
[[packages]]
name = "mssql-tools"version = "*"environment = ["ACCEPT_EULA=y"]
It's not a great idea, it requires plumbing this down through all the layers to the rpm stage in osbuild. But I don't really see any better way. Limiting it to the specific package would prevent the environment accidentally leaking into other packages and possibly causing problems.
Another alternative is that mssql adds the ability to check for a known file to indicate acceptance of the EULA, and then you can use customizations.files to create it. Currently that is limited to /etc so we may need to talk about allowing files elsewhere.
Another alternative is that mssql adds the ability to check for a known file to indicate acceptance of the EULA, and then you can use customizations.files to create it.
We've asked MS about this idea. No reply yet.
Currently that is limited to /etc so we may need to talk about allowing files elsewhere.
Describe the bug
Some of the Microsoft SQL client packages require the user to accept the EULA before or during installation, either by setting an environment variable (
ACCEPT_EULA=y
), or by the package interactively prompting the user on the terminal. For example:The problem is that the image builder does not have a way to pass such environment variables through to the package manager, or deal with such interactive prompts.
Environment
/etc/os-release
and/etc/redhat-release
): anyrpm -qi osbuild-composer)
: anyTo Reproduce
Steps to reproduce the behavior:
Configure the Microsoft SQL server repositories (however repositories are configured):
Configure the list of packages to be installed:
The image build will fail
Expected behavior
Image building will succeed
Additional context
The text was updated successfully, but these errors were encountered: