Skip to content

Packages built on MacOS with docker runner are dropping permission/executable bits #2103

@conorpp

Description

@conorpp

When building on MacOS and using the docker runner, the permission bits on binaries in packages seem to get dropped. This makes the packages unsable.

Docker

Client: Version: 27.4.0 API version: 1.47 Go version: go1.22.10 Git commit: bde2b89 Built: Sat Dec 7 10:35:43 2024 OS/Arch: darwin/arm64 Context: desktop-linux Server: Docker Desktop 4.37.2 (179585) Engine: Version: 27.4.0 API version: 1.47 (minimum version 1.24) Go version: go1.22.10 Git commit: 92a8393 Built: Sat Dec 7 10:38:33 2024 OS/Arch: linux/arm64 Experimental: false containerd: Version: 1.7.21 GitCommit: 472731909fa34bd7bc9c087e4c27943f9835f111 runc: Version: 1.1.13 GitCommit: v1.1.13-0-g58aa920 docker-init: Version: 0.19.0 GitCommit: de40ad0 

Melange

 __ __ _____ _ _ _ _ ____ _____ | \/ | | ____| | | / \ | \ | | / ___| | ____| | |\/| | | _| | | / _ \ | \| | | | _ | _| | | | | | |___ | |___ / ___ \ | |\ | | |_| | | |___ |_| |_| |_____| |_____| /_/ \_\ |_| \_| \____| |_____| melange GitVersion: 0.30.0 GitCommit: brew GitTreeState: clean BuildDate: 2025-07-25T07:24:48Z GoVersion: go1.24.5 Compiler: gc Platform: darwin/arm64 

To reproduce:

melange build ./examples/go-install.yaml --arch aarch64 --out-dir=build cd build/aarch64 tar xvf hello-0.0.1-r0.apk ls -ltr usr/bin
total 3584 -rw-------@ 1 conorpatrick staff 1832909 Dec 31 1969 hello 

OrbStack

Note I tried the same with OrbStack and I noticed that it works fine. I wonder if this is a problem with Docker.

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