apache / apache/buildstream

Opening a workspace on a `local` source directory in the project produces confusing results

Open
#1,658 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
140
Forks
45
Avg merge
1d 3h
Merged PRs (30d)
6

Description

With `doc/examples/developing`

1. open a workspace using the existing src dir
`bst workspace open hello.bst --force files/src`
2. do a build and run it
`bst build --track-all hello.bst && bst shell hello.bst hello`
(should output Hello World)
3. close the workspace
`bst workspace close hello.bst`
4. make changes to printf in hello.c
5. build again
`bst build --track-all hello.bst && bst shell hello.bst hello`
6. notice your changes from 4. will not show in the build from 5.

This is fixed if you manually remove the `hello` object sitting in `files/src` (leftover from the workspace), but there's no obvious reminder that should be done. There is no problem while the workspace is open.

Note I tested with buildstream 1.6.5 and buildstream-external from pypy, by commenting out the bst minimum version in the `project.conf`.

Sidenote, if I reset the workspace after 1. on hello.bst, it leads to a stack trace since it can't find `files/src`.

Contributor guide

Open the contributing guide

Research direction

Begin with doc/examples/developing and reproduce the sequence using the listed bst workspace, build, shell, and close commands. Inspect the resulting files/src state after closing the workspace and the reset behavior; done means later builds include edits to hello.c and resetting the workspace does not fail with a stack trace.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.