nuttx-apps/system
wangjianyu3 11c1c6bece system/nxinit: add 'set' builtin command for environment variables
Previously, 'set KEY VALUE' in init.rc was not recognized as a builtin
command. It fell through to posix_spawnp(), which ran it in a
temporary child shell. The environment variable was set only in the
child process and lost when it exited, so services started afterward
never inherited it.

Register cmd_set as an init builtin that calls setenv(key, value, 1)
directly in the init process. The command takes exactly 2 arguments
(key and value). All code is guarded by CONFIG_DISABLE_ENVIRON so it
compiles out when environment support is disabled.

Since child processes inherit init's environment, 'set TZ Asia/Shanghai'
in init.rc now correctly propagates to all subsequently started
services.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2026-08-28 09:30:53 -03:00
..
adb fs: rename PSEUDOFS_SOFTLINKS to FS_LINKS 2026-08-27 13:31:34 +08:00
adcscope apps/system/adcscope: nxstyle fix Relative files path 2026-08-08 16:56:29 -03:00
argtable3 cmake: Use NUTTX(_DIR/_BINARY_DIR) instead of CMAKE(_SOURCE_DIR/BINARY_DIR) 2026-08-09 10:43:01 -03:00
batterydump
cdcacm include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
cfgdata
cle include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
composite include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
conntrack
coredump !apps: drop redundant casts on tv_sec/tv_nsec and fix printf formats 2026-05-22 13:38:25 +08:00
cpuload
critmon
cu include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
curl system/curl: add a small curl-like HTTP client command 2026-07-20 10:21:57 +02:00
dd apps: Fix O_ACCMODE bitmask checks after Linux flag alignment 2026-06-30 12:19:58 -04:00
debugpoint
dhcp6c include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
dhcpc
dumpstack
expat system/expat: add reusable XML parser package 2026-08-21 20:09:58 +08:00
fastboot system: fastboot: bound filedump path parsing 2026-07-16 15:59:21 +08:00
fdt apps: add missing module metadata for executable tools 2026-06-22 22:27:07 +08:00
flash_eraseall
flatbuffers system: Fix Kconfig style 2026-08-11 15:38:46 -04:00
gcov
gdbstub
gprof
hex2bin
hexed
hostname
i2c include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
iptables
irtest system/irtest: Set irtest command line size to CONFIG_LINE_MAX 2026-04-24 14:58:05 +02:00
kbd system/kbd: inject keys into a uinput keyboard 2026-08-02 18:36:37 +08:00
libffi system/libffi: Add libffi package integration 2026-05-22 21:51:31 +08:00
libuv cmake: Use NUTTX(_DIR/_BINARY_DIR) instead of CMAKE(_SOURCE_DIR/BINARY_DIR) 2026-08-09 10:43:01 -03:00
lm75
lsan
lzf system/lzf: Fix missing space in Kconfig help text. 2026-05-28 21:27:01 +02:00
mdio
microros system/microros: Add UDP and serial custom transport backends. 2026-06-02 00:15:25 +08:00
netdb
nsh
ntpc
nxcamera apps: Fix codespell warnings. 2026-05-22 13:39:04 +08:00
nxcodec
nxdiag cmake: Use NUTTX(_DIR/_BINARY_DIR) instead of CMAKE(_SOURCE_DIR/BINARY_DIR) 2026-08-09 10:43:01 -03:00
nxinit system/nxinit: add 'set' builtin command for environment variables 2026-08-28 09:30:53 -03:00
nxlooper include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
nxmbclient modbus: add nxmodbus 2026-04-20 12:45:17 -03:00
nxpkg system/nxstore: add an LVGL app-store front end 2026-08-18 15:23:15 -03:00
nxplayer nxplayer: add tone cmd implementation 2026-08-05 12:35:26 +02:00
nxrecorder system: audio: parse command filenames with PATH_MAX 2026-07-11 12:40:07 -03:00
nxstore system/nxstore: add an LVGL app-store front end 2026-08-18 15:23:15 -03:00
ofloader !apps: Simplify NuttX initialization 2026-05-06 13:27:05 +08:00
ping system/ping: Fix a segmentation fault when using ping 2026-07-09 09:42:30 +08:00
ping6 system/ping: Fix a segmentation fault when using ping 2026-07-09 09:42:30 +08:00
popen apps: Fix O_ACCMODE bitmask checks after Linux flag alignment 2026-06-30 12:19:58 -04:00
psmq
ptpd !apps: drop redundant casts on tv_sec/tv_nsec and fix printf formats 2026-05-22 13:38:25 +08:00
readline system/readline: add caller-selectable control handling 2026-08-24 22:15:31 +08:00
resmonitor system: resmonitor: check CPU load reads 2026-07-06 16:31:38 +08:00
sched_note
sensorscope system/sensorscope: support for fixe16 data 2026-05-06 08:54:32 +02:00
sensortest
setlogmask
settings system/settings: Bound storage string handling 2026-05-28 14:35:54 +02:00
smf system: Fix Kconfig style 2026-08-11 15:38:46 -04:00
spi include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
stackmonitor
stty system: Add stty utility for terminal control 2026-08-14 07:51:00 -03:00
sudo system/sudo: add setuid privilege helper 2026-08-17 09:06:13 -03:00
syslogd
system include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
taskset
tcpdump
tee include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
telnet apps: Fix unchecked strdup()/asprintf() as requested in #1727 2026-05-23 16:30:52 -04:00
telnetd
termcurses include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
toybox system/toybox: Add toybox a tool box similar to busybox 2026-08-15 22:28:49 +02:00
trace
ubloxmodem include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
uniqueid
uorb system/uorb: introduce CONFIG_UORB_FORMAT for format string control 2026-06-09 17:02:03 +08:00
usbmsc apps: Fix O_ACCMODE bitmask checks after Linux flag alignment 2026-06-30 12:19:58 -04:00
vi include/debug.h: Use <nuttx/debug.h> in apps 2026-04-11 10:39:27 -03:00
vncviewer system/vncviewer: Drain truncated desktop names 2026-07-09 09:28:13 +08:00
xipfs system/xipfs: Add a command to compact a xipfs volume and report it. 2026-07-28 16:47:49 +08:00
ymodem
zlib cmake: Use NUTTX(_DIR/_BINARY_DIR) instead of CMAKE(_SOURCE_DIR/BINARY_DIR) 2026-08-09 10:43:01 -03:00
zmodem !apps: replace sclock_t with clock_t and drop redundant time_t/off_t casts 2026-05-11 17:38:32 +08:00
.gitignore
CMakeLists.txt
Make.defs
Makefile