<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/scripts/embedded_scripts, branch su_cmd</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=su_cmd</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=su_cmd'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2022-10-30T08:35:01+00:00</updated>
<entry>
<title>build system: fix breakage affecting MSYS2 build</title>
<updated>2022-10-30T08:35:01+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2022-10-30T08:35:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=663319cec41bbff8b6e0e47fee7fedc84acfeafc'/>
<id>urn:sha1:663319cec41bbff8b6e0e47fee7fedc84acfeafc</id>
<content type='text'>
Upstream changes to the embedded_scripts and mkconfigs scripts
resulted in busybox-w32 failing to build with MSYS2.

bzip2 in MSYS2 detects stdout redirected to /dev/null as a terminal
and returns a non-zero exit status.  Since the test is only for
the existence of bzip2, not its functionality, even an exit status
of 1 is OK.  Only fail if the exit status is 127.
</content>
</entry>
<entry>
<title>build system: allow building with w64devkit</title>
<updated>2022-10-30T08:25:45+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2022-10-30T08:25:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=7390f29cfc9a3cc0636e20f84f24fbd05f821720'/>
<id>urn:sha1:7390f29cfc9a3cc0636e20f84f24fbd05f821720</id>
<content type='text'>
Make some adjustments to the build system to allow busybox-w32
to be built with w64devkit:

- Strip drive prefix from CURDIR in Makefile to avoid confusing
  make with colons.

- Limit file redirection to a subshell in the usage_compressed and
  embedded_scripts scripts.  Otherwise it isn't possible to move
  the open generated file on Windows.

- Change the option tests in Kbuild.include to allow for /dev/null
  not existing on Windows.

- Create host binaries without a '.exe' extension.  Otherwise they're
  rebuilt more often than necessary.

- Modify split-include.c to allow for Windows' popen() not expanding
  wildcards.

(GitHub issue #239)
</content>
</entry>
<entry>
<title>build system: detect if build host has no bzip2</title>
<updated>2022-01-04T13:32:41+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2022-01-04T13:32:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=ed2af2e82dbcfccb7392e9fbc3f837de1594c103'/>
<id>urn:sha1:ed2af2e82dbcfccb7392e9fbc3f837de1594c103</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>hush: allow hush to run embedded scripts</title>
<updated>2018-11-27T15:13:07+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2018-11-27T14:34:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=71df2d3589e3e682cd6770f41f0b184841b78702'/>
<id>urn:sha1:71df2d3589e3e682cd6770f41f0b184841b78702</id>
<content type='text'>
Embedded scripts require a shell to be present in the BusyBox
binary.  Allow either ash or hush to be used for this purpose.
If both are enabled ash takes precedence.

The size of the binary is unchanged in the default configuration:
both ash and hush are present but support for embedded scripts
isn't compiled into hush.

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>Tweaks to build process for embedded scripts</title>
<updated>2018-11-27T09:38:10+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2018-11-21T10:11:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=7b42f8fc76d78fe9c6b0cbe15e1425f2fd9fb5e8'/>
<id>urn:sha1:7b42f8fc76d78fe9c6b0cbe15e1425f2fd9fb5e8</id>
<content type='text'>
- Force a rebuild if a script in applets_sh is changed.

- Move the dummy usage messages for custom applets to usage.h and
  change the name from 'dummy' to 'scripted'.

- Hide an error from gen_build_files.sh if an embed directory exists
  but is empty.

- Tidy up embedded_scripts script.

v2: Remove a couple of unnecessary tests in embedded_scripts, as
    pointed out by Xabier Oneca.
    Drop the stripping of comments.

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>Ensure build works when KBUILD_OUTPUT is set, closes 11511</title>
<updated>2018-11-18T18:34:39+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2018-11-18T07:40:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=af694a4b290e9c664919c8c7bcc98a89dd2fbb7d'/>
<id>urn:sha1:af694a4b290e9c664919c8c7bcc98a89dd2fbb7d</id>
<content type='text'>
The build process for embedded scripts didn't have consistent
support for saving output to a different directory.

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>Treat custom and applet scripts as applets</title>
<updated>2018-11-17T20:16:33+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2018-11-17T17:48:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=3778898f97a64e7b42b53194af7f3b93cc9c07a3'/>
<id>urn:sha1:3778898f97a64e7b42b53194af7f3b93cc9c07a3</id>
<content type='text'>
BusyBox has support for embedded shell scripts.  Two types can be
distinguished:  custom scripts and scripts implementing applets.

Custom scripts should be placed in the 'embed' directory at build
time.  They are given a default applet configuration and appear
as applets to the user but no further configuration is possible.

Applet scripts are integrated with the BusyBox build system and
are intended to be used to ship standard applets that just happen
to be implemented as scripts.  They can be configured at build time
and appear just like native applets.

Such scripts should be placed in the 'applets_sh' directory.  A stub
C program should be written to provide the usual applet configuration
details and placed in a suitable subsystem directory.  It may be
helpful to have a configuration option to enable any dependencies the
script requires:  see the 'nologin' applet for an example.

function                                             old     new   delta
scripted_main                                          -      41     +41
applet_names                                        2773    2781      +8
applet_main                                         1600    1604      +4
i2cdetect_main                                       672     674      +2
applet_suid                                          100     101      +1
applet_install_loc                                   200     201      +1
applet_flags                                         100     101      +1
packed_usage                                       33180   33179      -1
tryexec                                              159     152      -7
evalcommand                                         1661    1653      -8
script_names                                           9       -      -9
packed_scripts                                       123     114      -9
complete_cmd_dir_file                                826     811     -15
shellexec                                            271     254     -17
find_command                                        1007     990     -17
busybox_main                                         642     624     -18
run_applet_and_exit                                  100      78     -22
find_script_by_name                                   51       -     -51
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 6/9 up/down: 58/-174)          Total: -116 bytes
   text	   data	    bss	    dec	    hex	filename
 950034	    477	   7296	 957807	  e9d6f	busybox_old
 949918	    477	   7296	 957691	  e9cfb	busybox_unstripped

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>scripts/embedded_scripts: do not add superfluous NUL to script_names[]</title>
<updated>2018-11-02T13:18:36+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2018-11-02T13:18:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=43794ff45d18d807d6dcd80a5eb5f451d479370c'/>
<id>urn:sha1:43794ff45d18d807d6dcd80a5eb5f451d479370c</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>ash: allow shell scripts to be embedded in the binary</title>
<updated>2018-11-01T09:15:13+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2018-11-01T08:53:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=4f2ef4a836be37b25808c94f41c7c85895db6f93'/>
<id>urn:sha1:4f2ef4a836be37b25808c94f41c7c85895db6f93</id>
<content type='text'>
To assist in the deployment of shell scripts it may be convenient
to embed them in the BusyBox binary.

'Embed scripts in the binary' takes any files in the directory
'embed', concatenates them with null separators, compresses them
and embeds them in the binary.

When scripts are embedded in the binary, scripts can be run as
'busybox SCRIPT [ARGS]' or by usual (sym)link mechanism.

embed/nologin is provided as an example.

function                                             old     new   delta
packed_scripts                                         -     123    +123
unpack_scripts                                         -      87     +87
ash_main                                            1103    1171     +68
run_applet_and_exit                                   78     128     +50
get_script_content                                     -      32     +32
script_names                                           -      10     +10
expmeta                                              663     659      -4
------------------------------------------------------------------------------
(add/remove: 4/0 grow/shrink: 2/1 up/down: 370/-4)            Total: 366 bytes

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
</feed>
