buildstream: Add `buildbox` to `dependencies`
Buildbox is needed at runtime and during builds. Without buildbox available to the package, or otherwise in $PATH, Buildstream will not run.
Things done
- Built on platform(s)
- [x] x86_64-linux
- [ ] aarch64-linux
- [ ] x86_64-darwin
- [ ] aarch64-darwin
- For non-Linux: Is sandboxing enabled in
nix.conf? (See Nix manual)- [ ]
sandbox = relaxed - [ ]
sandbox = true
- [ ]
- [x] Tested, as applicable:
- NixOS test(s) (look inside nixos/tests)
- and/or package tests
- or, for functions and "core" functionality, tests in lib/tests or pkgs/test
- made sure NixOS tests are linked to the relevant packages
- [ ] Tested compilation of all packages that depend on this change using
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage - [x] Tested basic functionality of all binary files (usually in
./result/bin/) - Nixpkgs 25.11 Release Notes (or backporting 24.11 and 25.05 Nixpkgs Release notes)
- [ ] (Package updates) Added a release notes entry if the change is major or breaking
- NixOS 25.11 Release Notes (or backporting 24.11 and 25.05 NixOS Release notes)
- [ ] (Module updates) Added a release notes entry if the change is significant
- [ ] (Module addition) Added a release notes entry if adding a new NixOS module
- [ ] Fits CONTRIBUTING.md.
Add a :+1: reaction to pull requests you find important.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 413743
Commit: 11ebad06944d2e9ecec183e1c15d9c4d68e6943b
x86_64-linux
:x: 2 packages failed to build:
- buildstream
- buildstream.dist
Error logs: `x86_64-linux`
buildstream
buildstream> ________________________ test_out_of_basedir_hardlinks _________________________
buildstream> [gw10] linux -- Python 3.13.4 /nix/store/sd81bvmch7njdpwx3lkjslixcbj5mivz-python3-3.13.4/bin/python3.13
buildstream>
buildstream> cli = <buildstream._testing.runcli.Cli object at 0x7fffed6291d0>
buildstream> tmpdir = local('/build/source/tmp/popen-gw10/test_out_of_basedir_hardlinks0')
buildstream> datafiles = PosixPath('/build/source/tmp/popen-gw10/test_out_of_basedir_hardlinks0')
buildstream>
buildstream> @pytest.mark.datafiles(os.path.join(DATA_DIR, "out-of-basedir-hardlinks"))
buildstream> def test_out_of_basedir_hardlinks(cli, tmpdir, datafiles):
buildstream> def ensure_link(member):
buildstream> # By default, python will simply duplicate files - we want
buildstream> # hardlinks!
buildstream> if member.path == "contents/to_extract/a":
buildstream> member.type = tarfile.LNKTYPE
buildstream> member.linkname = "contents/elsewhere/a"
buildstream> return member
buildstream>
buildstream> project = str(datafiles)
buildstream> generate_project(project, config={"aliases": {"tmpdir": "file:///" + str(tmpdir)}})
buildstream> checkoutdir = os.path.join(str(tmpdir), "checkout")
buildstream>
buildstream> # Create a tarball with an odd hardlink
buildstream> src_tar = os.path.join(str(tmpdir), "contents.tar.gz")
buildstream> old_dir = os.getcwd()
buildstream> os.chdir(str(tmpdir))
buildstream> with tarfile.open(src_tar, "w:gz") as tar:
buildstream> # Don't recursively add `contents` as the order is not guaranteed.
buildstream> # We need to add `elsewhere` before `to_extract` as the latter
buildstream> # references the former in `linkname`.
buildstream> tar.add("contents", recursive=False)
buildstream> tar.add("contents/elsewhere")
buildstream> tar.add("contents/to_extract", filter=ensure_link)
buildstream> os.chdir(old_dir)
buildstream>
buildstream> # Make sure our tarfile is actually created with the desired
buildstream> # attributes set
buildstream> with tarfile.open(src_tar, "r:gz") as tar:
buildstream> assert any(
buildstream> member.islnk() and member.path == "contents/to_extract/a" and member.linkname == "contents/elsewhere/a"
buildstream> for member in tar.getmembers()
buildstream> )
buildstream>
buildstream> # Assert that we will actually create a singular copy of the file
buildstream> result = cli.run(project=project, args=["source", "track", "target.bst"])
buildstream> result.assert_success()
buildstream> result = cli.run(project=project, args=["source", "fetch", "target.bst"])
buildstream> result.assert_success()
buildstream> result = cli.run(project=project, args=["build", "target.bst"])
buildstream> > result.assert_success()
buildstream>
buildstream> tests/sources/tar.py:517:
buildstream> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
buildstream>
buildstream> self = <buildstream._testing.runcli.Result object at 0x7fffed7ff430>
buildstream> fail_message = ''
buildstream>
buildstream> def assert_success(self, fail_message=""):
buildstream> > assert self.exit_code == 0, fail_message
buildstream> E AssertionError
Yep, so we'll need this one (https://github.com/NixOS/nixpkgs/pull/419096) merged first.
@pbsds https://github.com/NixOS/nixpkgs/pull/419096 has been merged, and I've rebased this PR. I'll try running nixpkgs-review once more ocally.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 413743
Commit: b850eb81e21438f79928e9ce62a17c948db22ee1
x86_64-linux
:white_check_mark: 2 packages built:
- buildstream
- buildstream.dist
Successfully created backport PR for release-25.05:
- #419674