Skip to content

Commit d14f240

Browse files
committed
docs: boto3 must be installed on the build host (not the container) for b3:// S3 stores
bits runs the remote-store sync in its host-side python3 even under --docker, so archive/reuse to a b3:// bucket needs boto3 on each gitlab-runner host. Document apt/dnf install (python3-boto3, EPEL on EL) and note runner_installer.sh does it automatically.
1 parent 407e082 commit d14f240

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

docs/REFERENCE.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -737,6 +737,21 @@ A store set as `REMOTE_STORE=b3://mybucket::rw` (or the flag) reads from and
737737
uploads to the same bucket. With no store and no env vars, behaviour is
738738
unchanged: the public CERN read store on supported architectures, no upload.
739739

740+
**Client requirement — install on the build host, not in the container.** bits
741+
runs the remote-store sync in its own host-side Python process (the system
742+
`python3` that the `bits` wrapper invokes), even for `bits build --docker`; the
743+
container only runs the per-package compile steps. So the S3 client must be
744+
installed on each build (gitlab-runner) host:
745+
746+
- `b3://` stores need **boto3**:
747+
- Ubuntu/Debian: `sudo apt install python3-boto3`
748+
- AlmaLinux/RHEL/Fedora: `sudo dnf install python3-boto3` (from EPEL: `sudo dnf install epel-release` first)
749+
- or, respecting PEP 668: `pip3 install --break-system-packages boto3`
750+
- `s3://` stores need the **s3cmd** binary and an `~/.s3cfg` instead.
751+
752+
`runner_installer.sh` installs `python3-boto3` automatically on both Ubuntu and
753+
AlmaLinux hosts.
754+
740755
---
741756

742757
### bits deps

0 commit comments

Comments
 (0)