aboutsummaryrefslogtreecommitdiff
path: root/configs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* linedit: increase line edit buffer to 8192 bytesRon Yorston2024-07-264-4/+4
| | | | | | | The default size of the line edit buffer is 1024 bytes which was found to be too restrictive. Increase it to 8192 bytes. (GitHub issue #429)
* Merge branch 'busybox' into mergeRon Yorston2024-06-231-0/+1
|\
| * ip link: support for the CAN netlinkDario Binacchi2024-02-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I developed this application to test the Linux kernel series [1]. As described in it I could not use the iproute2 package since the microcontroller is without MMU. function old new delta do_set_can - 920 +920 packed_usage 34645 34908 +263 get_float_1000 - 164 +164 .rodata 105427 105539 +112 do_iplink 1313 1381 +68 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 3/0 up/down: 1527/0) Total: 1527 bytes cc: Marc Kleine-Budde <mkl@pengutronix.de> [1] https://marc.info/?l=linux-netdev&m=167999323611710&w=2 Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | make: update for POSIX 2024Ron Yorston2024-06-144-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | Now that POSIX.1-2024 has been released we can replace all references to the 202X draft standard with 2024. Make this change throughout the code and testsuite. The pragma 'posix_2024' has been added. 'posix_202x' remains as an alias for the same. The 2024 standard is enforced by default in POSIX mode.
* | make: improved support for POSIX levelsRon Yorston2024-05-274-4/+12
| | | | | | | | | | | | | | | | | | The default POSIX level to be enforced in strict mode is now a configuration option. Print details of supported POSIX levels in the usage message. Adds 56-64 bytes.
* | libbb: make default history size configurableRon Yorston2024-04-284-0/+4
| | | | | | | | | | | | | | | | Allow the default history size (used if HISTFILESIZE isn't set) to be configured at build time. This may be less than or equal to the standard history size. (GitHub issue #411)
* | lineedit: increase history size to 1023Ron Yorston2024-04-264-4/+4
| | | | | | | | | | | | | | The upstream default history size is 255. Increase it to 1023 for default busybox-w32 builds. (GitHub issue #411)
* | httpd: enable interpreter script featureRon Yorston2024-02-114-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | The web server in BusyBox has an optional feature to allow pages with a given suffix to be processed by a script interpreter: PHP, for example. Enable this in the busybox-w32 build. Costs 256-320 bytes. (GitHub issue #266)
* | build system: make compiler names configurableRon Yorston2024-01-204-4/+12
| | | | | | | | | | | | | | The top-level Makefile hardcoded the host and cross compiler name to "gcc". Make it possible to set different values either on the command line (make CROSS_COMPILER=clang) or in the configuration file.
* | build system: permit ARM64 buildRon Yorston2024-01-181-0/+1251
| | | | | | | | | | | | Add a default configuration for ARM64. This just changes the cross toolchain prefix and disables CONFIG_STATIC_LIBGCC. The latter is harmless but results in many warnings.
* | httpd: enable support for CGIRon Yorston2023-12-203-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The upstream code uses fork/exec when running a CGI process. Emulate this by: - Spawning a child httpd process with the special '-I 0' option, along with the options provided on the server command line. This sets up the proper state then calls the cgi_handler() function. - The cgi_handler() function fixes the pipe file descriptors and starts another child process to run the CGI script. These processes are detached from the console on creation. When spawn() functions are run in P_DETACH mode they don't connect to the standard file descriptors. Normally this doesn't matter but the process which runs the CGI scripts needs to inherit the pipe endpoints. The create_detached_process() function handles this. See: https://github.com/rprichard/win32-console-docs/blob/master/README.md Adds about 2.9Kb to the size of the binary. (GitHub issue #266)
* | win32: allow hardcoded list of applets to overrideRon Yorston2023-12-093-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | The environment variable BB_OVERRIDE_APPLETS provides control over which applets are preferred in standalone shell mode. Allow a similar list to be hardcoded in the binary with the OVERRIDE_APPLETS configuration string. The environment variable is checked first. If it doesn't override the applet the hardcoded string is then checked too. The default for OVERRIDE_APPLETS is an empty string. In this case the size and behaviour of the binary is unchanged.
* | Merge branch 'busybox' into mergeFRP-5236-g7dff7f376Ron Yorston2023-12-051-277/+515
|\|
| * Cygwin: regenerate defconfigChristian Franke2023-11-131-277/+515
| | | | | | | | | | Signed-off-by: Christian Franke <christian.franke@t-online.de> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | ash: add options to control globbing of hidden filesRon Yorston2023-09-205-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add shell options: - 'nohiddenglob' excludes files with the hidden attribute from globbing - 'nohidsysglob' excludes files with the hidden and system attributes from globbing If both options are enabled 'nohiddenglob' takes precedence. These options also affect tab completion. Files that are hidden because they start with a period aren't affected (unless they also have the hidden attribute). Costs 160-208 bytes. (GitHub issue #367)
* | win32: include our manifests in default configurationsRon Yorston2023-09-155-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | The default configurations now include the provided standard or UTF-8 manifest. This works best if the build toolchain doesn't provide a default manifest (which Fedora and w64devkit don't, by default). If the toolchain does have a default manifest some bloat will result. (GitHub issue #366)
* | win32: improved support for manifestsRon Yorston2023-09-145-5/+15
| | | | | | | | | | | | | | | | | | | | The UTF-8 manifest has been updated to include features from the standard application manifest. Include a copy of the standard application manifest for toolchains that don't provide one. (GitHub issue #366)
* | Update default configurationsRon Yorston2023-08-105-5/+12
| |
* | win32: add FEATURE_UTF8_OUTPUT (enabled with unicode)Avi Halachmi (:avih)2023-08-033-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the unicode build required console (out) codepage of UTF8 in order for unicode output to be printed correctly - e.g. at the shell command prompt or the output of `ls` for unicode file names. This is inconvenient, because by default it's not UTF8, and so unless the user invoked 'chcp 65001' - by default unicode output didn't work. This feature (which is now enabled for the unicode build) makes it print unicode output correctly regardless of the console CP, by using a new stream-conversion funcion from UTF8 chars to wchar_t, and writing those using WriteConsoleW. If the console CP happens to be UTF8 - this conversion is disabled. We could have instead changed the console CP to UTF8, but that's a slippery slope, and some old program which expect the default CP might get broken, so achieving the same result without touching the console CP is hopefully better.
* | Add Unicode version to prerelease buildRon Yorston2023-07-251-0/+1246
| |
* | Update default configurationsRon Yorston2023-07-164-10/+18
| |
* | win32: make support for euro input a separate optionRon Yorston2023-06-222-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 93a63809f (win32: add support for the euro currency symbol) made various changes to enable support for the euro symbol. One of these changes allows the euro to be entered from the console even if the current code page doesn't support it. This is probably of limited use: the symbol can be entered but won't be displayed correctly. Move this capability into a separate configuration option, FEATURE_EURO_INPUT, which is disabled by default. Saves 48-64 bytes in the new default case. (GitHub issue #335)
* | wget: enable progress bar in default configurationRon Yorston2023-04-162-2/+2
| | | | | | | | | | | | For some reason the progress bar in wget has never been enabled. Costs 1536-1600 bytes.
* | ash: remove ASH_IGNORE_CR config optionRon Yorston2023-04-094-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | No further problems with CRLF handling have been reported. Remove the configuration option that allowed some recent changes to be turned off. Also, prevent some WIN32 code from being included in the POSIX build. The faulty code is from commit 64c8f5f3d (ash: add support for INT trap). These changes don't alter the default WIN32 build.
* | drop: cdrop and pdrop don't need shellRon Yorston2023-03-232-4/+20
| | | | | | | | | | | | | | | | | | The cdrop and pdrop variants don't require the binary to include a shell. Removing this dependency makes it possible to build cdrop/pdrop as a much smaller standalone binaries. Update the default configuration to build a standalone make binary to exclude drop/cdrop/pdrop.
* | drop: add cdrop and pdrop aliasesRon Yorston2023-03-192-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add cdrop and pdrop applets as aliases for drop. If a command isn't specified these use cmd.exe and PowerShell instead of the BusyBox shell. This makes it possible to choose the default shell used for SSH connections even in older versions of OpenSSH that don't support the DefaultShellArguments registry key. Note that to get cmd.exe to run a command rather than an interactive shell it's necessary to set the DefaultShellCommandOption registry key to '/c'. Costs 248-272 bytes.
* | runuser,drop: drop runuser, tweak dropRon Yorston2023-03-192-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the runuser applet, leaving only drop. Move drop from util-linux to miscutils. A command of the form 'drop -c command' causes the BusyBox shell to be used, just like 'drop' without any arguments. A simple OpenSSH configuration with 'drop.exe' as DefaultShell and no DefaultShellArguments now works both for interactive login and to run a command. This is useful for older versions of OpenSSH which don't support DefaultShellArguments. Saves 208-232 bytes.
* | runuser: new appletRon Yorston2023-03-132-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a cut down, Windows-specific implementation of `runuser` from util-linux. This allows elevated privileges to be dropped when running in an SSH session. It also works when using `su` or starting busybox-w32 'as administrator'. There are complications: - The method used to drop privileges leaves the access token in the TokenIsElevated state. Detecting this is likely to be fragile. - The unprivileged shell is started by CreateProcessAsUserA(). In older versions of Windows this has to be loaded dynamically. Adds about 900 bytes. (GitHub issue #240)
* | win32: changes to console mode handlingRon Yorston2023-03-054-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the environment variable BB_TERMINAL_MODE as a more general way of controlling console/terminal mode setting. The default remains unchanged: use virtual terminal mode for output if possible but fall back to the console API with emulated ANSI escape sequences. Currently valid settings are: 0 Force use of console mode 1 Force use of virtual terminal mode for output 5 Prefer virtual terminal mode for output, fall back to console Other values won't do anything useful until code elsewhere has been updated. BB_SKIP_ANSI_EMULATION remains available for backwards compatibility. If both variables are set BB_TERMINAL_MODE takes precedence.
* | ash: change CRLF handlingRon Yorston2023-02-072-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As noted in commit 2d848eba5 (ash: fix CRLF handling) all CRs are removed when scripts are read. Allow an alternative approach (configurable at build-time, enabled by default): - Do not strip CRs from input. - Treat CR as similar to space or tab in base syntax mode. - Adjust pgetc_eatbnl() to handle backslash-CRLF in the same way as backslash-LF. With these changes scripts containing CRLF line endings are more likely to work. Adds 48-56 bytes. (GitHub issue #285)
* | make: enable pdpmake alias in default configurationRon Yorston2023-01-242-2/+2
| | | | | | | | | | This allows additional flexibility when another 'make' program is present.
* | make: make + sh configurationRon Yorston2022-11-104-0/+2448
| | | | | | | | | | | | Add a configuration that just includes make and a shell. Add 'pdpmake' as an alias for 'make'.
* | ash: disable the 'sleep' builtin in the default configurationRon Yorston2022-10-132-2/+2
| | | | | | | | | | | | The sleep applet can call xfunc_die() in a variety of circumstances. This makes the code unsuitable for use as a shell builtin. Disable it in the default configuration.
* | ash: enable 'read -t N.NNN'Ron Yorston2022-10-132-2/+2
| | | | | | | | | | | | | | | | | | Upstream BusyBox has supported fractional arguments to 'read -t' since 2017. For some reason it was never enabled in busybox-w32. Costs 48-80 bytes. (GitHub issue #269)
* | Update default configurationRon Yorston2022-10-122-2/+6
| | | | | | | | The new 'tree' applet uses scandir(3) and has been disabled by default.
* | make: new appletRon Yorston2022-08-012-2/+6
| | | | | | | | | | | | | | | | | | This is an experimental implementation of make for busybox-w32, based on my public domain POSIX make: https://frippery.org/make/ (GitHub issue #44)
* | jn: new appletRon Yorston2022-05-162-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Add a Windows-specific applet to create a directory junction. Usage: jn DIR JUNC where DIR must be an existing directory on a local drive and JUNC must not currently exist. There isn't a simple WIN32 API to create directory junctions. The implementation of mklink in ReactOS provided useful inspiration.
* | Update default configurationRon Yorston2022-05-122-2/+6
| |
* | date: enable FEATURE_DATE_NANORon Yorston2022-04-222-2/+2
| | | | | | | | | | | | | | | | | | Provide a WIN32 implementation of clock_gettime(2), though only with support for CLOCK_REALTIME. This makes it possible to enable FEATURE_DATE_NANO which adds support for the %N date format. MinGW-w64 has clock_gettime(2) but it's in the winpthreads library and we don't want to bother with that.
* | Update default configurationRon Yorston2022-04-072-62/+76
| |
* | Merge busybox into mergeRon Yorston2022-02-092-0/+2
|\| | | | | | | | | | | | | | | Fix conflicts in reset and ash. Redefine the new safe_read_key() as a reference to read_key(). Disable SHA256_HWACCEL.
* | Merge busybox into mergeRon Yorston2022-01-132-0/+4
|\| | | | | | | | | | | | | Fix merge conflicts in coreutils/ls.c and shell/ash.c. Update config files to turn off SHA1_HWACCEL. It uses non-portable assembler.
* | ash: additional support for background jobsRon Yorston2021-09-262-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rationale for the jobs builtin in POSIX notes: The jobs utility is not dependent on the job control option, as are the seemingly related bg and fg utilities because jobs is useful for examining background jobs, regardless of the condition of job control. When the user has invoked a set +m command and job control has been turned off, jobs can still be used to examine the background jobs associated with that current session. Similarly, kill can then be used to kill background jobs with kill %<background job number>. Although ash in busybox-w32 doesn't support job control it can handle background jobs. Allow the ASH_JOB_CONTROL setting to enable certain features: - the jobs builtin; - killing of jobs by job id in the kill builtin; - monitoring of changes to jobs. Since process groups aren't supported it's necessary to kill the processes constituting a background job individually. When doing this we ask kill(2) to kill all children too.
* | win32: changes to allow timezones in datesRon Yorston2021-09-172-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Create mingw_strptime() to return timezone offset as a separate argument (since Microsoft's struct tm doesn't have the required member). Import timegm() from musl. Update parse_datestr() to use mingw_strptime(). Enable FEATURE_TIMEZONE in the default configuration. GitHub issue #230.
* | Merge branch 'busybox' into mergeRon Yorston2021-09-172-0/+2
|\| | | | | | | Disable FEATURE_TIMEZONE for now.
* | Update default configurationRon Yorston2021-09-102-2/+6
| |
* | config: turn off DEBUG in default buildsRon Yorston2021-08-312-2/+2
| |
* | vi: add fileformats optionRon Yorston2021-08-302-14/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a limited version of the 'fileformats' option. Only the 'dos,unix' and 'unix,dos' settings are allowed with the former as default. When a file is read for editing its format is detected. If it only has LF line endings it's treated as being of type 'unix' otherwise its type is 'dos'. When an empty edit buffer is created it's given the first file type listed in 'fileformats'. The file type is stored in the read-only option 'fileformat' and is used to select the appropriate line endings when the file is written. See GitHub issue #220. Adds 168 bytes to the binary.
* | Merge branch 'busybox' into mergeRon Yorston2021-08-172-3/+0
|\|
| * *: remove remains of FEATURE_TOUCH_NODEREFDenys Vlasenko2021-08-152-3/+0
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>