[FL-3081] fbt: removed DEBUG_TOOLS & FAP_EXAMPLES flags (#2291)
* fbt: deprecated DEBUG_TOOLS & FAP_EXAMPLES flags * fixes for PVS warnings * scripts: fbt: fixed leaking PYTHONHOME
This commit is contained in:
parent
341610b8a1
commit
a0814aab31
@ -148,9 +148,12 @@ fap_dist = [
|
|||||||
for app_artifact in firmware_env["FW_EXTAPPS"].applications.values()
|
for app_artifact in firmware_env["FW_EXTAPPS"].applications.values()
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
distenv.Install(
|
*(
|
||||||
f"#/dist/{dist_dir}/apps",
|
distenv.Install(
|
||||||
"#/assets/resources/apps",
|
f"#/dist/{dist_dir}/apps/{app_artifact.app.fap_category}",
|
||||||
|
app_artifact.compact[0],
|
||||||
|
)
|
||||||
|
for app_artifact in firmware_env["FW_EXTAPPS"].applications.values()
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
Depends(
|
Depends(
|
||||||
|
@ -31,7 +31,8 @@ void AccessorApp::run(void) {
|
|||||||
onewire_host_stop(onewire_host);
|
onewire_host_stop(onewire_host);
|
||||||
}
|
}
|
||||||
|
|
||||||
AccessorApp::AccessorApp() {
|
AccessorApp::AccessorApp()
|
||||||
|
: text_store{0} {
|
||||||
notification = static_cast<NotificationApp*>(furi_record_open(RECORD_NOTIFICATION));
|
notification = static_cast<NotificationApp*>(furi_record_open(RECORD_NOTIFICATION));
|
||||||
onewire_host = onewire_host_alloc();
|
onewire_host = onewire_host_alloc();
|
||||||
furi_hal_power_enable_otg();
|
furi_hal_power_enable_otg();
|
||||||
|
@ -171,9 +171,6 @@ bool WIEGAND::DoWiegandConversion() {
|
|||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
_lastWiegand = sysTick;
|
_lastWiegand = sysTick;
|
||||||
_bitCount = 0;
|
|
||||||
_cardTemp = 0;
|
|
||||||
_cardTempHigh = 0;
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,8 +2,11 @@
|
|||||||
|
|
||||||
#include <gui/canvas.h>
|
#include <gui/canvas.h>
|
||||||
#include <gui/elements.h>
|
#include <gui/elements.h>
|
||||||
|
|
||||||
|
#include <lib/toolbox/float_tools.h>
|
||||||
#include <m-array.h>
|
#include <m-array.h>
|
||||||
#include <furi.h>
|
#include <furi.h>
|
||||||
|
#include <inttypes.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
struct BtTestParam {
|
struct BtTestParam {
|
||||||
@ -98,16 +101,16 @@ static void bt_test_draw_callback(Canvas* canvas, void* _model) {
|
|||||||
elements_scrollbar(canvas, model->position, BtTestParamArray_size(model->params));
|
elements_scrollbar(canvas, model->position, BtTestParamArray_size(model->params));
|
||||||
canvas_draw_str(canvas, 6, 60, model->message);
|
canvas_draw_str(canvas, 6, 60, model->message);
|
||||||
if(model->state == BtTestStateStarted) {
|
if(model->state == BtTestStateStarted) {
|
||||||
if(model->rssi != 0.0f) {
|
if(!float_is_equal(model->rssi, 0.0f)) {
|
||||||
snprintf(info_str, sizeof(info_str), "RSSI:%3.1f dB", (double)model->rssi);
|
snprintf(info_str, sizeof(info_str), "RSSI:%3.1f dB", (double)model->rssi);
|
||||||
canvas_draw_str_aligned(canvas, 124, 60, AlignRight, AlignBottom, info_str);
|
canvas_draw_str_aligned(canvas, 124, 60, AlignRight, AlignBottom, info_str);
|
||||||
}
|
}
|
||||||
} else if(model->state == BtTestStateStopped) {
|
} else if(model->state == BtTestStateStopped) {
|
||||||
if(model->packets_num_rx) {
|
if(model->packets_num_rx) {
|
||||||
snprintf(info_str, sizeof(info_str), "%ld pack rcv", model->packets_num_rx);
|
snprintf(info_str, sizeof(info_str), "%" PRIu32 " pack rcv", model->packets_num_rx);
|
||||||
canvas_draw_str_aligned(canvas, 124, 60, AlignRight, AlignBottom, info_str);
|
canvas_draw_str_aligned(canvas, 124, 60, AlignRight, AlignBottom, info_str);
|
||||||
} else if(model->packets_num_tx) {
|
} else if(model->packets_num_tx) {
|
||||||
snprintf(info_str, sizeof(info_str), "%ld pack sent", model->packets_num_tx);
|
snprintf(info_str, sizeof(info_str), "%" PRIu32 " pack sent", model->packets_num_tx);
|
||||||
canvas_draw_str_aligned(canvas, 124, 60, AlignRight, AlignBottom, info_str);
|
canvas_draw_str_aligned(canvas, 124, 60, AlignRight, AlignBottom, info_str);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -153,7 +156,7 @@ static bool bt_test_input_callback(InputEvent* event, void* context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bt_test_process_up(BtTest* bt_test) {
|
void bt_test_process_up(BtTest* bt_test) {
|
||||||
with_view_model(
|
with_view_model( // -V658
|
||||||
bt_test->view,
|
bt_test->view,
|
||||||
BtTestModel * model,
|
BtTestModel * model,
|
||||||
{
|
{
|
||||||
|
@ -48,7 +48,7 @@ FileBrowserApp* file_browser_app_alloc(char* arg) {
|
|||||||
|
|
||||||
app->file_path = furi_string_alloc();
|
app->file_path = furi_string_alloc();
|
||||||
app->file_browser = file_browser_alloc(app->file_path);
|
app->file_browser = file_browser_alloc(app->file_path);
|
||||||
file_browser_configure(app->file_browser, "*", NULL, true, &I_badusb_10px, true);
|
file_browser_configure(app->file_browser, "*", NULL, true, false, &I_badusb_10px, true);
|
||||||
|
|
||||||
view_dispatcher_add_view(
|
view_dispatcher_add_view(
|
||||||
app->view_dispatcher, FileBrowserAppViewStart, widget_get_view(app->widget));
|
app->view_dispatcher, FileBrowserAppViewStart, widget_get_view(app->widget));
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
App(
|
App(
|
||||||
appid="sample_apps",
|
appid="example_apps",
|
||||||
name="Sample apps bundle",
|
name="Example apps bundle",
|
||||||
apptype=FlipperAppType.METAPACKAGE,
|
apptype=FlipperAppType.METAPACKAGE,
|
||||||
)
|
)
|
||||||
|
@ -131,9 +131,6 @@ if extra_int_apps := GetOption("extra_int_apps"):
|
|||||||
fwenv.Append(APPS=extra_int_apps.split(","))
|
fwenv.Append(APPS=extra_int_apps.split(","))
|
||||||
|
|
||||||
|
|
||||||
if fwenv["FAP_EXAMPLES"]:
|
|
||||||
fwenv.Append(APPDIRS=[("applications/examples", False)])
|
|
||||||
|
|
||||||
for app_dir, _ in env["APPDIRS"]:
|
for app_dir, _ in env["APPDIRS"]:
|
||||||
app_dir_node = env.Dir("#").Dir(app_dir)
|
app_dir_node = env.Dir("#").Dir(app_dir)
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ from SCons.Node import NodeList
|
|||||||
import SCons.Warnings
|
import SCons.Warnings
|
||||||
|
|
||||||
from fbt.elfmanifest import assemble_manifest_data
|
from fbt.elfmanifest import assemble_manifest_data
|
||||||
from fbt.appmanifest import FlipperApplication, FlipperManifestException
|
from fbt.appmanifest import FlipperApplication, FlipperManifestException, FlipperAppType
|
||||||
from fbt.sdk.cache import SdkCache
|
from fbt.sdk.cache import SdkCache
|
||||||
from fbt.util import extract_abs_dir_path
|
from fbt.util import extract_abs_dir_path
|
||||||
|
|
||||||
@ -234,11 +234,18 @@ def GetExtAppFromPath(env, app_dir):
|
|||||||
return app_artifacts
|
return app_artifacts
|
||||||
|
|
||||||
|
|
||||||
def fap_dist_emitter(target, source, env):
|
def resources_fap_dist_emitter(target, source, env):
|
||||||
target_dir = target[0]
|
target_dir = target[0]
|
||||||
|
|
||||||
target = []
|
target = []
|
||||||
for _, app_artifacts in env["EXT_APPS"].items():
|
for _, app_artifacts in env["EXT_APPS"].items():
|
||||||
|
# We don't deploy example apps & debug tools with SD card resources
|
||||||
|
if (
|
||||||
|
app_artifacts.app.apptype == FlipperAppType.DEBUG
|
||||||
|
or app_artifacts.app.fap_category == "Examples"
|
||||||
|
):
|
||||||
|
continue
|
||||||
|
|
||||||
source.extend(app_artifacts.compact)
|
source.extend(app_artifacts.compact)
|
||||||
target.append(
|
target.append(
|
||||||
target_dir.Dir(app_artifacts.app.fap_category).File(
|
target_dir.Dir(app_artifacts.app.fap_category).File(
|
||||||
@ -249,7 +256,7 @@ def fap_dist_emitter(target, source, env):
|
|||||||
return (target, source)
|
return (target, source)
|
||||||
|
|
||||||
|
|
||||||
def fap_dist_action(target, source, env):
|
def resources_fap_dist_action(target, source, env):
|
||||||
# FIXME
|
# FIXME
|
||||||
target_dir = env.Dir("#/assets/resources/apps")
|
target_dir = env.Dir("#/assets/resources/apps")
|
||||||
|
|
||||||
@ -282,10 +289,10 @@ def generate(env, **kw):
|
|||||||
BUILDERS={
|
BUILDERS={
|
||||||
"FapDist": Builder(
|
"FapDist": Builder(
|
||||||
action=Action(
|
action=Action(
|
||||||
fap_dist_action,
|
resources_fap_dist_action,
|
||||||
"$FAPDISTCOMSTR",
|
"$FAPDISTCOMSTR",
|
||||||
),
|
),
|
||||||
emitter=fap_dist_emitter,
|
emitter=resources_fap_dist_emitter,
|
||||||
),
|
),
|
||||||
"EmbedAppMetadata": Builder(
|
"EmbedAppMetadata": Builder(
|
||||||
action=[
|
action=[
|
||||||
|
@ -43,9 +43,11 @@ fbtenv_restore_env()
|
|||||||
|
|
||||||
PYTHONNOUSERSITE="$SAVED_PYTHONNOUSERSITE";
|
PYTHONNOUSERSITE="$SAVED_PYTHONNOUSERSITE";
|
||||||
PYTHONPATH="$SAVED_PYTHONPATH";
|
PYTHONPATH="$SAVED_PYTHONPATH";
|
||||||
|
PYTHONHOME="$SAVED_PYTHONHOME";
|
||||||
|
|
||||||
unset SAVED_PYTHONNOUSERSITE;
|
unset SAVED_PYTHONNOUSERSITE;
|
||||||
unset SAVED_PYTHONPATH;
|
unset SAVED_PYTHONPATH;
|
||||||
|
unset SAVED_PYTHONHOME;
|
||||||
|
|
||||||
unset SCRIPT_PATH;
|
unset SCRIPT_PATH;
|
||||||
unset FBT_TOOLCHAIN_VERSION;
|
unset FBT_TOOLCHAIN_VERSION;
|
||||||
@ -69,7 +71,7 @@ fbtenv_check_sourced()
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
fbtenv_chck_many_source()
|
fbtenv_check_if_sourced_multiple_times()
|
||||||
{
|
{
|
||||||
if ! echo "${PS1:-""}" | grep -qF "[fbt]"; then
|
if ! echo "${PS1:-""}" | grep -qF "[fbt]"; then
|
||||||
if ! echo "${PROMPT:-""}" | grep -qF "[fbt]"; then
|
if ! echo "${PROMPT:-""}" | grep -qF "[fbt]"; then
|
||||||
@ -275,7 +277,7 @@ fbtenv_main()
|
|||||||
fbtenv_restore_env;
|
fbtenv_restore_env;
|
||||||
return 0;
|
return 0;
|
||||||
fi
|
fi
|
||||||
fbtenv_chck_many_source; # many source it's just a warning
|
fbtenv_check_if_sourced_multiple_times; # many source it's just a warning
|
||||||
fbtenv_check_script_path || return 1;
|
fbtenv_check_script_path || return 1;
|
||||||
fbtenv_check_download_toolchain || return 1;
|
fbtenv_check_download_toolchain || return 1;
|
||||||
fbtenv_set_shell_prompt;
|
fbtenv_set_shell_prompt;
|
||||||
@ -283,12 +285,14 @@ fbtenv_main()
|
|||||||
PATH="$TOOLCHAIN_ARCH_DIR/bin:$PATH";
|
PATH="$TOOLCHAIN_ARCH_DIR/bin:$PATH";
|
||||||
PATH="$TOOLCHAIN_ARCH_DIR/protobuf/bin:$PATH";
|
PATH="$TOOLCHAIN_ARCH_DIR/protobuf/bin:$PATH";
|
||||||
PATH="$TOOLCHAIN_ARCH_DIR/openocd/bin:$PATH";
|
PATH="$TOOLCHAIN_ARCH_DIR/openocd/bin:$PATH";
|
||||||
|
|
||||||
SAVED_PYTHONNOUSERSITE="${PYTHONNOUSERSITE:-""}";
|
SAVED_PYTHONNOUSERSITE="${PYTHONNOUSERSITE:-""}";
|
||||||
SAVED_PYTHONPATH="${PYTHONPATH:-""}";
|
SAVED_PYTHONPATH="${PYTHONPATH:-""}";
|
||||||
|
SAVED_PYTHONHOME="${PYTHONHOME:-""}";
|
||||||
|
|
||||||
PYTHONNOUSERSITE=1;
|
PYTHONNOUSERSITE=1;
|
||||||
PYTHONPATH=;
|
PYTHONPATH=;
|
||||||
|
PYTHONHOME=;
|
||||||
}
|
}
|
||||||
|
|
||||||
fbtenv_main "${1:-""}";
|
fbtenv_main "${1:-""}";
|
||||||
|
@ -81,16 +81,6 @@ vars.AddVariables(
|
|||||||
"7",
|
"7",
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
BoolVariable(
|
|
||||||
"DEBUG_TOOLS",
|
|
||||||
help="Enable debug tools to be built",
|
|
||||||
default=False,
|
|
||||||
),
|
|
||||||
BoolVariable(
|
|
||||||
"FAP_EXAMPLES",
|
|
||||||
help="Enable example applications to be built",
|
|
||||||
default=False,
|
|
||||||
),
|
|
||||||
(
|
(
|
||||||
"DIST_SUFFIX",
|
"DIST_SUFFIX",
|
||||||
"Suffix for binaries in build output for dist targets",
|
"Suffix for binaries in build output for dist targets",
|
||||||
@ -232,6 +222,7 @@ vars.AddVariables(
|
|||||||
("applications/system", False),
|
("applications/system", False),
|
||||||
("applications/debug", False),
|
("applications/debug", False),
|
||||||
("applications/plugins", False),
|
("applications/plugins", False),
|
||||||
|
("applications/examples", False),
|
||||||
("applications_user", False),
|
("applications_user", False),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
@ -65,9 +65,8 @@ class FlipperExtAppBuildArtifacts:
|
|||||||
apps_to_build_as_faps = [
|
apps_to_build_as_faps = [
|
||||||
FlipperAppType.PLUGIN,
|
FlipperAppType.PLUGIN,
|
||||||
FlipperAppType.EXTERNAL,
|
FlipperAppType.EXTERNAL,
|
||||||
|
FlipperAppType.DEBUG,
|
||||||
]
|
]
|
||||||
if appenv["DEBUG_TOOLS"]:
|
|
||||||
apps_to_build_as_faps.append(FlipperAppType.DEBUG)
|
|
||||||
|
|
||||||
known_extapps = [
|
known_extapps = [
|
||||||
app
|
app
|
||||||
|
Loading…
Reference in New Issue
Block a user