Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

makefile: tab-completion is broken #147

Closed
isaac-io opened this issue Aug 30, 2022 · 0 comments · Fixed by #148
Closed

makefile: tab-completion is broken #147

isaac-io opened this issue Aug 30, 2022 · 0 comments · Fixed by #148
Assignees
Labels
bug Something isn't working build Build related Upstreamable can be upstreamed to RocksDB

Comments

@isaac-io
Copy link
Contributor

Currently the Makefile regenerates make_config.mk on every invocation, which takes a long time and causes a make restart. This breaks shell tab-completion in a way that kills the shell's readline functionality.

Avoid this by regenerating only when invoked for actual recipe run (this can be easily identified by checking for the existence of n or q in the MAKEFLAGS variable, which stand for --dry-run and --question, respectively, both of which don't execute recipes) or in case make_config.mk doesn't exist (this is needed since some targets are conditionally defined based on values defined in make_config.mk).

@isaac-io isaac-io self-assigned this Aug 30, 2022
@isaac-io isaac-io added bug Something isn't working Upstreamable can be upstreamed to RocksDB build Build related labels Aug 30, 2022
isaac-io added a commit that referenced this issue Aug 30, 2022
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
@isaac-io isaac-io linked a pull request Aug 30, 2022 that will close this issue
@Yuval-Ariel Yuval-Ariel self-assigned this Sep 13, 2022
isaac-io added a commit that referenced this issue Sep 16, 2022
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
isaac-io added a commit that referenced this issue Sep 23, 2022
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
@isaac-io isaac-io assigned assaf-speedb and unassigned Yuval-Ariel Sep 23, 2022
isaac-io added a commit that referenced this issue Sep 23, 2022
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
isaac-io added a commit that referenced this issue Sep 29, 2022
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
isaac-io added a commit that referenced this issue Sep 29, 2022
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
isaac-io added a commit that referenced this issue Oct 19, 2022
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
isaac-io added a commit that referenced this issue Oct 19, 2022
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
isaac-io added a commit that referenced this issue Oct 19, 2022
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
isaac-io added a commit that referenced this issue Oct 19, 2022
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
isaac-io added a commit that referenced this issue Oct 19, 2022
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
isaac-io added a commit that referenced this issue Oct 24, 2022
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
isaac-io added a commit that referenced this issue Oct 24, 2022
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
Yuval-Ariel pushed a commit that referenced this issue Nov 23, 2022
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
Yuval-Ariel pushed a commit that referenced this issue Nov 25, 2022
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
Yuval-Ariel pushed a commit that referenced this issue Apr 30, 2023
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
Yuval-Ariel pushed a commit that referenced this issue May 4, 2023
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
udi-speedb pushed a commit that referenced this issue Nov 13, 2023
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
udi-speedb pushed a commit that referenced this issue Dec 3, 2023
Shell tab-completions are currently broken due to the regeneration of
`make_config.mk` on every invocation, which also causes a make restart.

Prevent regeneration if the file exists and we're in an invocation that
doesn't execute rule recipes (-n or -q).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working build Build related Upstreamable can be upstreamed to RocksDB
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants