uyuni-project / uyuni

Source code for Uyuni
https://www.uyuni-project.org/
GNU General Public License v2.0
435 stars 182 forks source link

Incorrect shell being used in /usr/lib/venv-salt-minion/bin/post_start_cleanup.sh #9477

Open rbrockway opened 5 days ago

rbrockway commented 5 days ago

Problem description

The script /usr/lib/venv-salt-minion/bin/post_start_cleanup.sh is using /bin/sh and assumes it is linked to /usr/bin/bash. Debian links /bin/sh to dash not bash. The script executes /bin/sh and expects certain behaviour which it will not get from Debian.

Specifically, the builtin ‘builtin’ doesn’t exist in dash and thus throws an error. The error is unexpected and not trapped.

The script should simply have used #!/bin/bash rather than #!/bin/sh and avoided this problem.

Steps to reproduce

1.Execute the script /usr/lib/venv-salt-minion/bin/post_start_cleanup.sh on a Debian 10, 11 or 12 system. 2.The script will be executed with /bin/sh which links to /bin/dash on Debian 3.The script will error with the following output: "/usr/lib/venv-salt-minion/bin/post_start_cleanup.sh: 3: builtin: not found" 4.This might be a regression. Hosts installed under a previous Uyuni release use #!/usr/bin/env bash

Uyuni version

uyuni02:/ # zypper info Uyuni-Server-release
Retrieving repository 'Update repository of openSUSE Backports' metadata .............................................[done]
Building repository 'Update repository of openSUSE Backports' cache ..................................................[done]
Retrieving repository 'Update repository with updates from SUSE Linux Enterprise 15' metadata ........................[done]
Building repository 'Update repository with updates from SUSE Linux Enterprise 15' cache .............................[done]
Retrieving repository 'Main Update Repository' metadata ..............................................................[done]
Building repository 'Main Update Repository' cache ...................................................................[done]
Retrieving repository 'Update Repository (Non-Oss)' metadata .........................................................[done]
Building repository 'Update Repository (Non-Oss)' cache ..............................................................[done]
Loading repository data...
Reading installed packages...

Information for package Uyuni-Server-release:
---------------------------------------------
Repository     : uyuni-server-stable
Name           : Uyuni-Server-release
Version        : 2024.07-230900.219.1.uyuni3
Arch           : x86_64
Vendor         : obs://build.opensuse.org/systemsmanagement:Uyuni
Support Level  : Level 3
Installed Size : 1.4 KiB
Installed      : Yes (automatically)
Status         : up-to-date
Source package : Uyuni-Server-release-2024.07-230900.219.1.uyuni3.src
Upstream URL   : https://www.uyuni-project.org/
Summary        : Uyuni Server
Description    :
    Uyuni lets you efficiently manage physical, virtual,
    and cloud-based Linux systems. It provides automated and cost-effective
    configuration and software management, asset management, and system
    provisioning.

Uyuni proxy version (if used)

No response

Useful logs

No response

Additional information

No response

mcalmer commented 5 days ago

CC @agraul @meaksh @vzhestkov