Add opt to show "install" pkgs state when SIGUSR1
This commit is contained in:
parent
dc02848b2e
commit
666557172d
2 changed files with 33 additions and 6 deletions
|
@ -24,6 +24,8 @@ error_on_limit = false
|
||||||
datetime_in_local_time = true
|
datetime_in_local_time = true
|
||||||
# If true, all builds will be done in a tmpfs. Recommended to have a lot of RAM and/or swap.
|
# If true, all builds will be done in a tmpfs. Recommended to have a lot of RAM and/or swap.
|
||||||
tmpfs = false
|
tmpfs = false
|
||||||
|
# If true, only packages to be built will be printed when USR1 is signaled.
|
||||||
|
print_state_info_only_building_sigusr1 = true
|
||||||
########## END OF MANDATORY VARIABLES
|
########## END OF MANDATORY VARIABLES
|
||||||
|
|
||||||
# Each [[entry]] needs a "name".
|
# Each [[entry]] needs a "name".
|
||||||
|
|
37
update.py
37
update.py
|
@ -1758,12 +1758,26 @@ def print_state_info_and_get_update_list(
|
||||||
name_space = " " * (max_name_len - len(pkg_name))
|
name_space = " " * (max_name_len - len(pkg_name))
|
||||||
if "state" in pkg_dict:
|
if "state" in pkg_dict:
|
||||||
state_str = '"' + pkg_dict["state"] + '"'
|
state_str = '"' + pkg_dict["state"] + '"'
|
||||||
log_print(
|
if ("print_state_SIGUSR1" in other_state
|
||||||
f" {pkg_name}{name_space}: pre_state is {state_str: <13}, build_state is \"{pkg_dict['build_status']}\"",
|
and type(other_state["print_state_SIGUSR1"]) is bool
|
||||||
other_state=other_state,
|
and other_state["print_state_SIGUSR1"]
|
||||||
)
|
and "print_state_info_only_building_sigusr1" in other_state
|
||||||
if pkg_dict["state"] == "install":
|
and type(other_state["print_state_info_only_building_sigusr1"]) is bool
|
||||||
to_update.append(pkg_name)
|
and other_state["print_state_info_only_building_sigusr1"]):
|
||||||
|
if state_str == '"install"':
|
||||||
|
log_print(
|
||||||
|
f" {pkg_name}{name_space}: pre_state is {state_str: <13}, build_state is \"{pkg_dict['build_status']}\"",
|
||||||
|
other_state=other_state,
|
||||||
|
)
|
||||||
|
if pkg_dict["state"] == "install":
|
||||||
|
to_update.append(pkg_name)
|
||||||
|
else:
|
||||||
|
log_print(
|
||||||
|
f" {pkg_name}{name_space}: pre_state is {state_str: <13}, build_state is \"{pkg_dict['build_status']}\"",
|
||||||
|
other_state=other_state,
|
||||||
|
)
|
||||||
|
if pkg_dict["state"] == "install":
|
||||||
|
to_update.append(pkg_name)
|
||||||
else:
|
else:
|
||||||
log_print(
|
log_print(
|
||||||
f" {pkg_name}{name_space}: not reached",
|
f" {pkg_name}{name_space}: not reached",
|
||||||
|
@ -1893,7 +1907,9 @@ def signal_handler(sig, frame):
|
||||||
"""Handle SIGINT and SIGUSR1."""
|
"""Handle SIGINT and SIGUSR1."""
|
||||||
global OTHER_STATE, PKG_STATE
|
global OTHER_STATE, PKG_STATE
|
||||||
if OTHER_STATE is not None and PKG_STATE is not None:
|
if OTHER_STATE is not None and PKG_STATE is not None:
|
||||||
|
OTHER_STATE["print_state_SIGUSR1"] = signal.Signals(sig) is signal.SIGUSR1
|
||||||
print_state_info_and_get_update_list(OTHER_STATE, PKG_STATE)
|
print_state_info_and_get_update_list(OTHER_STATE, PKG_STATE)
|
||||||
|
OTHER_STATE["print_state_SIGUSR1"] = False
|
||||||
if signal.Signals(sig) is not signal.SIGINT:
|
if signal.Signals(sig) is not signal.SIGINT:
|
||||||
return
|
return
|
||||||
OTHER_STATE["stop_building"] = True
|
OTHER_STATE["stop_building"] = True
|
||||||
|
@ -2158,6 +2174,8 @@ def main():
|
||||||
other_state["logs_dir"] = None
|
other_state["logs_dir"] = None
|
||||||
other_state["log_limit"] = 1024 * 1024 * 1024
|
other_state["log_limit"] = 1024 * 1024 * 1024
|
||||||
other_state["error_on_limit"] = False
|
other_state["error_on_limit"] = False
|
||||||
|
other_state["print_state_SIGUSR1"] = False
|
||||||
|
other_state["print_state_info_only_building_sigusr1"] = True
|
||||||
if args.pkg and not args.config:
|
if args.pkg and not args.config:
|
||||||
for pkg in args.pkg:
|
for pkg in args.pkg:
|
||||||
pkg_state[pkg] = {}
|
pkg_state[pkg] = {}
|
||||||
|
@ -2338,6 +2356,13 @@ def main():
|
||||||
other_state["tmpfs"] = True
|
other_state["tmpfs"] = True
|
||||||
else:
|
else:
|
||||||
other_state["tmpfs"] = False
|
other_state["tmpfs"] = False
|
||||||
|
if ("print_state_info_only_building_sigusr1" in d
|
||||||
|
and type(d["print_state_info_only_building_sigusr1"]) is bool):
|
||||||
|
other_state["print_state_info_only_building_sigusr1"] = \
|
||||||
|
d["print_state_info_only_building_sigusr1"]
|
||||||
|
print("State info print on SIGUSR1 is set to: \"{}\"".format(
|
||||||
|
other_state["print_state_info_only_building_sigusr1"]
|
||||||
|
))
|
||||||
else:
|
else:
|
||||||
log_print(
|
log_print(
|
||||||
'ERROR: At least "--config" or "--pkg" must be specified',
|
'ERROR: At least "--config" or "--pkg" must be specified',
|
||||||
|
|
Loading…
Reference in a new issue