1
0
mirror of https://github.com/systemd/systemd synced 2026-04-13 02:24:50 +02:00

Compare commits

...

7 Commits

Author SHA1 Message Date
Luca Boccassi
682a9f2e88
Merge pull request #22147 from keszybz/stdio-bridge-docs
More docs for systemd-stdio-bridge
2022-01-17 14:11:53 +00:00
Yu Watanabe
06006691b5 kernel-install: also remove modules.builtin.alias.bin
Fixes RHBZ#2016630.
2022-01-17 12:10:03 +00:00
Zbigniew Jędrzejewski-Szmek
2979c8b7fc meson: drop unused SYSTEMD_STDIO_BRIDGE_BINARY_PATH
The whole point of systemd-stdio-bridge is to be executed on "foreign" systems
where the path might be different, so we use $PATH to find the binary everywhere.
2022-01-17 11:59:08 +01:00
Zbigniew Jędrzejewski-Szmek
0d8930fd6d stdio-bridge: trim whitespace and braces 2022-01-17 11:59:08 +01:00
Zbigniew Jędrzejewski-Szmek
a80f17844e stdio-bridge: make the error more straightforward 2022-01-17 11:59:08 +01:00
Zbigniew Jędrzejewski-Szmek
b7bb58ef70 man: enhance the description of systemd-stdio-bridge
I hope that this fixes the comment
https://github.com/systemd/systemd/pull/22141#issuecomment-1013960371
> As someone who doesn't know what this prog does

The listing in the man page is sorted according to logical
use: all the options setting the address are now together.
2022-01-17 11:59:08 +01:00
Luca Boccassi
cf18de1b26 systemd-stdio-bridge: add manpage 2022-01-17 16:54:56 +09:00
5 changed files with 97 additions and 8 deletions

View File

@ -962,6 +962,7 @@ manpages = [
['systemd-sleep.conf', '5', ['sleep.conf.d'], ''], ['systemd-sleep.conf', '5', ['sleep.conf.d'], ''],
['systemd-socket-activate', '1', [], ''], ['systemd-socket-activate', '1', [], ''],
['systemd-socket-proxyd', '8', [], ''], ['systemd-socket-proxyd', '8', [], ''],
['systemd-stdio-bridge', '1', [], ''],
['systemd-stub', ['systemd-stub',
'7', '7',
['linuxaa64.efi.stub', 'linuxia32.efi.stub', 'linuxx64.efi.stub'], ['linuxaa64.efi.stub', 'linuxia32.efi.stub', 'linuxx64.efi.stub'],

View File

@ -0,0 +1,92 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
<refentry id="systemd-stdio-bridge"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>systemd-stdio-bridge</title>
<productname>systemd</productname>
</refentryinfo>
<refmeta>
<refentrytitle>systemd-stdio-bridge</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>systemd-stdio-bridge</refname>
<refpurpose>D-Bus proxy</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>systemd-stdio-bridge</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><command>systemd-stdio-bridge</command> implements a proxy for a D-Bus endpoint. It expects to
receive an open connection to a bus when started, and will also connect to a (different) bus as a
client. It will then act as a server on the first connection, and forward messages between the two
busses. This program is suitable for socket activation: the first connection may be a pipe or a socket
and must be passed as either standard input, or as an open file descriptor according to the protocol
described in
<citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>. The
second connection will be made by default to the local system bus, but this can be influenced by the
<option>--user</option>, <option>--system</option>, <option>--machine=</option>, and
<option>--bus-path=</option> options described below.</para>
<para><citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry> uses
<command>systemd-stdio-bridge</command> to forward D-Bus connections over
<citerefentry project='die-net'><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
or to connect to the bus of a different user, see
<citerefentry><refentrytitle>sd_bus_set_address</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<xi:include href="user-system-options.xml" xpointer="user" />
<xi:include href="user-system-options.xml" xpointer="system" />
<xi:include href="user-system-options.xml" xpointer="machine" />
<varlistentry>
<term><option>-p <replaceable>PATH</replaceable></option></term>
<term><option>--bus-path=<replaceable>PATH</replaceable></option></term>
<listitem><para>Path to the bus address. Default: <literal>unix:path=/run/dbus/system_bus_socket</literal>
</para></listitem>
</varlistentry>
<xi:include href="standard-options.xml" xpointer="help" />
<xi:include href="standard-options.xml" xpointer="version" />
</variablelist>
</refsect1>
<refsect1>
<title>Exit status</title>
<para>On success, 0 is returned, a non-zero failure code otherwise.</para>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry project='dbus'><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry project='dbus'><refentrytitle>dbus-broker</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<ulink url="https://www.freedesktop.org/wiki/Software/dbus">D-Bus</ulink>,
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>

View File

@ -250,7 +250,6 @@ conf.set_quoted('SYSTEMD_LANGUAGE_FALLBACK_MAP', pkgdatadir / 'lang
conf.set_quoted('SYSTEMD_MAKEFS_PATH', rootlibexecdir / 'systemd-makefs') conf.set_quoted('SYSTEMD_MAKEFS_PATH', rootlibexecdir / 'systemd-makefs')
conf.set_quoted('SYSTEMD_PULL_PATH', rootlibexecdir / 'systemd-pull') conf.set_quoted('SYSTEMD_PULL_PATH', rootlibexecdir / 'systemd-pull')
conf.set_quoted('SYSTEMD_SHUTDOWN_BINARY_PATH', rootlibexecdir / 'systemd-shutdown') conf.set_quoted('SYSTEMD_SHUTDOWN_BINARY_PATH', rootlibexecdir / 'systemd-shutdown')
conf.set_quoted('SYSTEMD_STDIO_BRIDGE_BINARY_PATH', bindir / 'systemd-stdio-bridge')
conf.set_quoted('SYSTEMD_TEST_DATA', testsdir / 'testdata') conf.set_quoted('SYSTEMD_TEST_DATA', testsdir / 'testdata')
conf.set_quoted('SYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH', rootbindir / 'systemd-tty-ask-password-agent') conf.set_quoted('SYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH', rootbindir / 'systemd-tty-ask-password-agent')
conf.set_quoted('SYSTEMD_UPDATE_HELPER_PATH', rootlibexecdir / 'systemd-update-helper') conf.set_quoted('SYSTEMD_UPDATE_HELPER_PATH', rootlibexecdir / 'systemd-update-helper')

View File

@ -36,7 +36,7 @@ case "$COMMAND" in
remove) remove)
[ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] && \ [ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] && \
echo "Removing /lib/modules/${KERNEL_VERSION}/modules.dep and associated files" echo "Removing /lib/modules/${KERNEL_VERSION}/modules.dep and associated files"
exec rm -f /lib/modules/"${KERNEL_VERSION}"/modules.{alias{,.bin},builtin.bin,dep{,.bin},devname,softdep,symbols{,.bin}} exec rm -f /lib/modules/"${KERNEL_VERSION}"/modules.{alias{,.bin},builtin{,.alias}.bin,dep{,.bin},devname,softdep,symbols{,.bin}}
;; ;;
*) *)
exit 0 exit 0

View File

@ -26,9 +26,8 @@ static BusTransport arg_transport = BUS_TRANSPORT_LOCAL;
static bool arg_user = false; static bool arg_user = false;
static int help(void) { static int help(void) {
printf("%s [OPTIONS...]\n\n" printf("%s [OPTIONS...]\n\n"
"STDIO or socket-activatable proxy to a given DBus endpoint.\n\n" "Forward messages between two D-Bus busses via a pipe or socket.\n\n"
" -h --help Show this help\n" " -h --help Show this help\n"
" --version Show package version\n" " --version Show package version\n"
" -p --bus-path=PATH Path to the bus address (default: %s)\n" " -p --bus-path=PATH Path to the bus address (default: %s)\n"
@ -41,7 +40,6 @@ static int help(void) {
} }
static int parse_argv(int argc, char *argv[]) { static int parse_argv(int argc, char *argv[]) {
enum { enum {
ARG_VERSION = 0x100, ARG_VERSION = 0x100,
ARG_MACHINE, ARG_MACHINE,
@ -64,7 +62,7 @@ static int parse_argv(int argc, char *argv[]) {
assert(argc >= 0); assert(argc >= 0);
assert(argv); assert(argv);
while ((c = getopt_long(argc, argv, "hp:M:", options, NULL)) >= 0) { while ((c = getopt_long(argc, argv, "hp:M:", options, NULL)) >= 0)
switch (c) { switch (c) {
@ -98,7 +96,6 @@ static int parse_argv(int argc, char *argv[]) {
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unknown option code %c", c); "Unknown option code %c", c);
} }
}
return 1; return 1;
} }
@ -125,7 +122,7 @@ static int run(int argc, char *argv[]) {
in_fd = SD_LISTEN_FDS_START; in_fd = SD_LISTEN_FDS_START;
out_fd = SD_LISTEN_FDS_START; out_fd = SD_LISTEN_FDS_START;
} else } else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Illegal number of file descriptors passed."); return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "More than one file descriptor was passed.");
is_unix = is_unix =
sd_is_socket(in_fd, AF_UNIX, 0, 0) > 0 && sd_is_socket(in_fd, AF_UNIX, 0, 0) > 0 &&