Shell-form ENTRYPOINT is a footgun

Open Beginner friendly
#78 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
68/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
docker, shell
Domain
build-system

Research direction

Open the Dockerfile and inspect the current shell-form ENTRYPOINT that runs the build scripts. Add the proposed /entrypoint.sh wrapper using exec-form ENTRYPOINT, then verify that docker run fobl bash can override the default command while individual build scripts and the full pipeline still run as intended.

Written by the indexing model from the issue text.

Description

The Dockerfile uses ENTRYPOINT ./build-uboot.sh && ./build-kernel-mainline.sh && ... (shell form). That means CMD is silently ignored - docker run fobl bash runs the full pipeline, not a shell. You only discover this when you wonder why overriding the command does nothing. Switching to exec form with a wrapper script (ENTRYPOIN ["/entrypoint.sh"]) would make partial runs and debugging straightforward.

Came up during build verification in https://github.com/flipperdevices/flipperone-linux-build-scripts/pull/76 - had to use --entrypoint bash to run individual scripts.

Dominant language
Shell
Stars
76
Forks
35
Avg merge
9h 16m
Merged PRs (30d)
17

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from flipperdevices/flipperone-linux-build-scripts

All issues in flipperdevices/flipperone-linux-build-scripts

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.