Skip to content

install.sh requests sudo/root permissions during the user-space installation phase on Ubuntu 24.04 #522

Description

@ai-sadhu

Description

The install.sh script states that it operates in two passes:

  1. As root to provision the system.
  2. As a non-root bench user to install Pilot, which should "need no privileges at all".

However, during the second pass (as a non-root user), the script hits ensure_tzdata_legacy() which calls pkg_install tzdata-legacy. On Ubuntu systems, pkg_install invokes run_sudo apt-get install. If the user running this pass does not have passwordless sudo access, the script blocks or fails completely, breaking the intended separation of privileges.

Steps to Reproduce

  1. Run the script as root to configure the host. curl -fsSL https://raw.githubusercontent.com/frappe/pilot/develop/install.sh | bash
  2. Switch to the non-root bench user (who may have restricted or no sudo access).
  3. Re-run curl -fsSL https://raw.githubusercontent.com/frappe/pilot/develop/install.sh | bash
  4. Notice the script prompts for a sudo password or throws an error when trying to install tzdata-legacy.
frappe@pilot:~$  curl -fsSL https://raw.githubusercontent.com/frappe/pilot/develop/install.sh | bash
Setting up your environment...
Fetching the latest pilot release...
Installing uv...
downloading uv 0.12.18 x86_64-unknown-linux-gnu
installing to /home/frappe/.local/bin
  uv
  uvx
everything's installed!

To add $HOME/.local/bin to your PATH, either restart your shell or run:

    source $HOME/.local/bin/env (sh, bash, zsh)
    source $HOME/.local/bin/env.fish (fish)
Installing deprecated timezone names...
[sudo] password for frappe: 

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions