Paul Martin [Wed, 11 Feb 2015 11:50:28 +0000 (11:50 +0000)]
networkd DHCPv4 logging endian fix
On Tue, Feb 10, 2015 at 08:10:43PM +0100, Lennart Poettering wrote:
> Hmm, I think it would be nicer to use be32toh() here instead, since it
> ensures the macro is (to a limited degree) typesafe.
>
> Any chance you could rework that?
From: Paul Martin <paul.martin@codethink.co.uk>
Date: Wed, 11 Feb 2015 11:47:16 +0000
Subject: [PATCH] networkd dhcpv4 logging endian fix
On a big-endian host, systemd-networkd prints out IPv4 network
addresses byte reversed:
Feb 10 16:43:32 hostname systemd-networkd[151]: eth0 : DHCPv4 address 158.1.24.10/16 via 1.1.24.10
The address obtained is 10.24.1.158/16 and the route is
10.24.0.0/16 dev eth0 src 10.24.1.187
The macro ADDRESS_FMT_VAL() unpacks a "struct in_addr" in a
little-endian specific manner.
This patch forces the passed address into host order, then unpacks it.
On an x86 later than i486, compiled with -O2, the only extra overhead
is a single bswap instruction.
Zbigniew Jędrzejewski-Szmek [Wed, 11 Feb 2015 04:19:26 +0000 (23:19 -0500)]
man: boilerplate unification
Zbigniew Jędrzejewski-Szmek [Wed, 11 Feb 2015 04:19:16 +0000 (23:19 -0500)]
man: fix reference to glob manpage
Zbigniew Jędrzejewski-Szmek [Wed, 11 Feb 2015 04:17:59 +0000 (23:17 -0500)]
man: add systemd.generator(7)
This is largely based on http://www.freedesktop.org/wiki/Software/systemd/Generators/,
and obsoletes that page. It seems that we do a much better
job of keeping man pages up-to-date compared to wiki pages.
Man pages are also easier to find for users.
https://bugs.freedesktop.org/show_bug.cgi?id=89048
Tom Gundersen [Tue, 10 Feb 2015 21:30:50 +0000 (22:30 +0100)]
TODO
Tom Gundersen [Tue, 10 Feb 2015 17:30:16 +0000 (18:30 +0100)]
net: support globbing and disjunction in Match logic
Match{Name,OrginalName,Type,Driver,Path} can now take a space-separated glob of matches.
Tom Gundersen [Tue, 10 Feb 2015 19:40:41 +0000 (20:40 +0100)]
networkd: fdb - refactor a bit
Pass around Link objcets rather than FdbEntry objects. The link objects have an up-to-date
ifname we can use for logging. match_name sholud _never_ be used for anything except
matching. Firstly, it may be unset (usually is), and secondly it may not be up-to-date.
Tom Gundersen [Tue, 10 Feb 2015 16:29:40 +0000 (17:29 +0100)]
networkd: bus - expose MatchMAC
Tom Gundersen [Tue, 10 Feb 2015 16:28:34 +0000 (17:28 +0100)]
man: sd_bus_path_encode - fix order of arguments
Tom Gundersen [Tue, 10 Feb 2015 15:36:58 +0000 (16:36 +0100)]
networkd: network-bus - use sd_bus_path_{en,de}code
Lennart Poettering [Tue, 10 Feb 2015 20:25:28 +0000 (21:25 +0100)]
CODING_STYLE: elaborate on O_CLOEXEC a bit
Cristian Rodríguez [Tue, 10 Feb 2015 15:06:24 +0000 (12:06 -0300)]
tree-wide: Always use recvmsg with MSG_CMSG_CLOEXEC
Lennart Poettering [Tue, 10 Feb 2015 20:17:26 +0000 (21:17 +0100)]
test-lldp: fix minor OOM
Lennart Poettering [Tue, 10 Feb 2015 20:15:47 +0000 (21:15 +0100)]
test-lldp: initialize structs when we define them
Lennart Poettering [Tue, 10 Feb 2015 20:15:21 +0000 (21:15 +0100)]
test-lldp: use strndup() where possible
Philippe De Swert [Sun, 8 Feb 2015 20:21:51 +0000 (22:21 +0200)]
libsystemd-network: Avoid potential NULL dereference in test-lldp
As a malloc0 could fail, doing a strncpy without checking could
cause issues. Adding an assert should be good enough and in line
with other similar routines in the code.
Found with Coverity Fixes: CID#1261402
Lennart Poettering [Tue, 10 Feb 2015 19:46:19 +0000 (20:46 +0100)]
update TODO
Lennart Poettering [Tue, 10 Feb 2015 19:46:09 +0000 (20:46 +0100)]
bus-proxyd: initialize ioctl structure only once
Vincent Batts [Tue, 10 Feb 2015 11:31:43 +0000 (12:31 +0100)]
.gitignore: add systemd-pull
Lennart Poettering [Tue, 10 Feb 2015 11:32:54 +0000 (12:32 +0100)]
journald: don't specify inline in local functions
Leave it to the compiler to figure out whether it shall inline stuff or
not.
Only place where using static inline is OK to use is in in header
files, really.
Lennart Poettering [Tue, 10 Feb 2015 11:32:19 +0000 (12:32 +0100)]
shared: untabify
Lennart Poettering [Tue, 10 Feb 2015 11:31:56 +0000 (12:31 +0100)]
logind: tell Coverity that we knowingly ignore mkdir()'s return value
Lennart Poettering [Tue, 10 Feb 2015 11:31:31 +0000 (12:31 +0100)]
update TODO
Hui Wang [Tue, 10 Feb 2015 08:42:22 +0000 (16:42 +0800)]
keymap: Add microphone mute keymap for several HP laptops
On these several HP laptops, the microphone mute hotkey is "Fn+F8" and
the scancode for this hotkey is 0x81, but this scancode was mapped to
fn_esc in the HP generic keymap section. To fix this problem, we add
a machine specific keymap section to add the correct keymap rule.
BugLink: https://bugs.launchpad.net/bugs/1409721
BugLink: https://bugs.launchpad.net/bugs/1334968
Signed-off-by: Hui Wang <hui.wang@canonical.com>
Tom Gundersen [Mon, 9 Feb 2015 21:02:32 +0000 (22:02 +0100)]
networkd: link_object_find - don't accept invalid input
Reported by Zbigniew.
Tom Gundersen [Mon, 9 Feb 2015 15:22:34 +0000 (16:22 +0100)]
networkd: support route scopes
For now we only support the hardcoded values RT_SCOPE_{UNIVERSE,LOCAL,HOST},
and not numerical values or values from /etc/iproute2/rt_scopes.
This addresses https://bugs.freedesktop.org/show_bug.cgi?id=88508.
Torstein Husebø [Mon, 9 Feb 2015 13:18:57 +0000 (14:18 +0100)]
treewide: correct typos and use consistent "MAC" spelling
Tom Gundersen [Mon, 9 Feb 2015 11:00:33 +0000 (12:00 +0100)]
networkd: bus - switch to properly escaped object paths
Tom Gundersen [Sun, 8 Feb 2015 22:20:56 +0000 (23:20 +0100)]
networkd: add support for IPv6 tokens
This allows the admin to set the host-specific part of IPv6 addresses, but still
receive the prefix via SLAAC.
.network file snippet:
[Network]
IPv6Token=::12
gives:
$ ip token
token ::12 dev eth0
This closes https://bugs.freedesktop.org/show_bug.cgi?id=81177.
Tom Gundersen [Sun, 8 Feb 2015 21:27:15 +0000 (22:27 +0100)]
networkd: generalize IPv4LL to LinkLocal
This allows both IPv4 and IPv6 link-local addresses to be enabled or disabled. By default
we still enable IPv6LL and disable IPv4LL. The old config option is kept for backwards
compatibility, but removed from the documentation.
Tom Gundersen [Sun, 8 Feb 2015 21:34:53 +0000 (22:34 +0100)]
sd-rtnl: fix typesystem for IFLA_AF_SPEC
Got this one wrong, it is not a union, just a nested container.
Daniele Medri [Sun, 8 Feb 2015 07:57:49 +0000 (08:57 +0100)]
language fallback: it_CH (Italian, Swiss) -> it_IT (Italian, Italy)
Tom Gundersen [Sun, 8 Feb 2015 12:27:56 +0000 (13:27 +0100)]
networkd: add basic org.freedesktop.network1.Network interface
Tom Gundersen [Sun, 8 Feb 2015 12:29:35 +0000 (13:29 +0100)]
networkd: add network_get_by_name
Tom Gundersen [Sun, 8 Feb 2015 18:43:01 +0000 (19:43 +0100)]
build-sys: properly enable the networkd dbus activation
Tom Gundersen [Sun, 8 Feb 2015 18:31:46 +0000 (19:31 +0100)]
sd-rtnl: add support for IFLA_INET6_*
Tom Gundersen [Sun, 8 Feb 2015 11:37:05 +0000 (12:37 +0100)]
sd-rtnl: extend type system to allow address-family to decide the union members
So far we only supported selecting them by sibling attributes.
(This stuff is all a bit crazy, but there seems to be no other way...)
Mantas Mikulėnas [Fri, 6 Feb 2015 20:35:14 +0000 (22:35 +0200)]
networkd: use valid bus paths
Object path components must start with [A-Za-z_] (AFAIK).
Also the value of 'p' is undefined if asprintf fails.
Compare to user_bus_path() in src/login/logind-user-dbus.c:281.
Tom Gundersen [Fri, 6 Feb 2015 13:43:17 +0000 (14:43 +0100)]
sd-rtnl: don't treat 0-length messages specially
Still parse the CMSG data, and most importantly make sure we drop the message when peeking.
Umut Tezduyar Lindskog [Sat, 7 Feb 2015 13:12:41 +0000 (14:12 +0100)]
sysctl: consider --prefix while parsing the files
not while applying the parsed sysctl values. Otherwise
info "Overwriting earlier assignment of %s in file %s" is
visible many times even though the given --prefix doesn't
try to set the overridden value.
This also optimizes the startup tiny bit since we have udev
rules running on network devices and setting sysctl through
the rules.
Piotr Drąg [Sat, 7 Feb 2015 16:33:40 +0000 (17:33 +0100)]
Add Silesian and Kashubian to language fallback map
Silesian and Kashubian speakers would prefer to fall back to Polish (pl)
translations instead of English (C).
https://bugs.freedesktop.org/show_bug.cgi?id=89021
Lukasz Skalski [Fri, 6 Feb 2015 16:08:32 +0000 (17:08 +0100)]
bus-proxyd: fix 'ListQueuedOwners' call
Set proper kdbus_cmd_list object size, otherwise:
dbus-send --system --dest=org.freedesktop.DBus --type=method_call \
print-reply / org.freedesktop.DBus.ListQueuedOwners string:org.freedesktop.systemd1
Error org.freedesktop.DBus.Error.InvalidArgs: Invalid argument
Zbigniew Jędrzejewski-Szmek [Sat, 31 Jan 2015 19:11:23 +0000 (14:11 -0500)]
localed: add LANGUAGE= fallback when LANG= is specified
For the entries listed in the first column of language-fallback-map,
the entry from the second column will be used for LANGUAGE=, if
LANGUAGE= is not explicitly specified.
https://bugzilla.redhat.com/show_bug.cgi?id=624158
Naveen Kumar [Sat, 31 Jan 2015 17:50:49 +0000 (12:50 -0500)]
Add language fallback map
This map will be used to provide a fallback for translations.
For example, a Niederdeutsch (nds) speaker prefers to fall back to
German (de) translations rather then the English (C) ones.
https://bugzilla.redhat.com/show_bug.cgi?id=624158#c9
Zbigniew Jędrzejewski-Szmek [Fri, 6 Feb 2015 14:12:27 +0000 (09:12 -0500)]
build-sys: remove reference to long gone file
Interesting that automake doesn't complain about this at all.
That file was removed in
3fb97a58fa3f233.
Tom Gundersen [Fri, 6 Feb 2015 11:09:36 +0000 (12:09 +0100)]
units: networkd - fix busname to work on kdbus
Tom Gundersen [Fri, 6 Feb 2015 10:54:30 +0000 (11:54 +0100)]
sd-rtnl: don't fall over when receiving 0 bytes from the socket
causes EOF. Seems like a kernel bug. Ignoring it seems to work be the best we
can do for now...
See https://bugs.freedesktop.org/show_bug.cgi?id=88397
Tom Gundersen [Fri, 6 Feb 2015 10:49:07 +0000 (11:49 +0100)]
sd-rtnl: fix creation of synthetic error replies
Tom Gundersen [Fri, 6 Feb 2015 07:36:17 +0000 (08:36 +0100)]
udev: net_setup - clarify reason for failure of persistent mac address policy
Zbigniew Jędrzejewski-Szmek [Fri, 6 Feb 2015 00:44:13 +0000 (19:44 -0500)]
shared/log: read /proc/cmdline only in daemons
http://lists.freedesktop.org/archives/systemd-devel/2015-February/027960.html
Lukas Nykryn [Thu, 5 Feb 2015 17:07:54 +0000 (18:07 +0100)]
update TODO
Tom Gundersen [Thu, 5 Feb 2015 17:00:16 +0000 (18:00 +0100)]
networkd: move the connection to the bus out of manager_new (again)
This would otherwise make the tests fail as we cannot grab the bus name.
Tom Gundersen [Thu, 5 Feb 2015 16:59:40 +0000 (17:59 +0100)]
networkd: gracefully handle failure to emit signals when dbus is not connected
When we get kdbus we don't need these hackse.
David Herrmann [Wed, 4 Feb 2015 15:21:27 +0000 (16:21 +0100)]
bus: sync with kdbus (ABI break)
Tom Gundersen [Wed, 4 Feb 2015 14:00:20 +0000 (15:00 +0100)]
networkd: exit on idle
We will be woken up on rtnl or dbus activity, so let's just quit if some time has passed and that is the only thing that can happen.
Note that we will always stay around if we expect network activity (e.g. DHCP is enabled), as we are not restarted on that.
Tom Gundersen [Wed, 4 Feb 2015 14:16:40 +0000 (15:16 +0100)]
networkd: don't unlink state files on exit
Only unlink state files on DELLINK. This allows sd-network to be used even when networkd is not running.
Tom Gundersen [Wed, 4 Feb 2015 10:44:37 +0000 (11:44 +0100)]
networkd: add basic dbus API
Only the very basics, more to come.
For now:
$ busctl tree org.freedesktop.network1
└─/org/freedesktop/network1
└─/org/freedesktop/network1/link
├─/org/freedesktop/network1/link/1
├─/org/freedesktop/network1/link/2
├─/org/freedesktop/network1/link/3
├─/org/freedesktop/network1/link/4
├─/org/freedesktop/network1/link/5
├─/org/freedesktop/network1/link/6
├─/org/freedesktop/network1/link/7
├─/org/freedesktop/network1/link/8
└─/org/freedesktop/network1/link/9
$ busctl introspect org.freedesktop.network1 /org/freedesktop/network1
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
org.freedesktop.network1.Manager interface - - -
.OperationalState property s "carrier" emits-change
$ busctl introspect org.freedesktop.network1 /org/freedesktop/network1/link/1
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
org.freedesktop.network1.Link interface - - -
.AdministrativeState property s "unmanaged" emits-change
.OperationalState property s "carrier" emits-change
Tom Gundersen [Wed, 4 Feb 2015 09:08:12 +0000 (10:08 +0100)]
networkd: don't warn about missing links unnecessarily
If we get a NEWLINK + NEWADDR between enumerating the links and enumerating the addresses, we
would get a warning that the link corresponding to the address does not exist. This is a false
warning as both the NEWLINK and NEWADDR would be processed after enumerating completed, so drop
it.
Tom Gundersen [Wed, 4 Feb 2015 08:47:50 +0000 (09:47 +0100)]
networkd: log when finished enumerating links and addresses
Ivan Shapovalov [Wed, 4 Feb 2015 22:57:00 +0000 (01:57 +0300)]
systemctl: unit_find_paths(): unify error handling in two code pathes
Ivan Shapovalov [Wed, 4 Feb 2015 22:56:59 +0000 (01:56 +0300)]
systemctl: cat, edit: further polish error messages
Ivan Shapovalov [Wed, 4 Feb 2015 22:56:58 +0000 (01:56 +0300)]
systemctl: cat: fix error handling
- correctly check for local vs. remote transport
- return after receiving error from expand_names()
Ivan Shapovalov [Wed, 4 Feb 2015 22:56:57 +0000 (01:56 +0300)]
systemctl: cat, edit: improve unit load error reporting
- report actual load error for units which could not be loaded
- make unit_find_paths() report all kinds of errors it encounters
(for consistency)
- consistently handle not-found errors in cat() and edit()
Bastien Nocera [Wed, 4 Feb 2015 17:46:10 +0000 (18:46 +0100)]
hwdb: Bind "toolbox" buttons to the Windows key
One would expect pressing the button to go to an overview / show
applications mode, we thus map it to leftmeta, the Windows key.
See https://bugzilla.gnome.org/show_bug.cgi?id=658602#c17
Michael Biebl [Wed, 4 Feb 2015 20:31:26 +0000 (21:31 +0100)]
build-sys: mark systemd-firstboot man page as conditional
Rebuild Makefile-man.am accordingly.
Lennart Poettering [Wed, 4 Feb 2015 16:00:23 +0000 (17:00 +0100)]
timesyncd: downgrade more log messages from LOG_INFO to LOG_DEBUG
https://bugs.freedesktop.org/show_bug.cgi?id=87505
Let's make timesyncd less chatty.
Zbigniew Jędrzejewski-Szmek [Wed, 4 Feb 2015 15:24:02 +0000 (10:24 -0500)]
shared/capabilities: simplify assertions about bits
The assert added in
7d328b5446 was wrong. Also update the comments
and make sure we don't try to shift by type size.
Zbigniew Jędrzejewski-Szmek [Wed, 4 Feb 2015 14:39:36 +0000 (09:39 -0500)]
shared/util: drop duplicate log2u64 function
Zbigniew Jędrzejewski-Szmek [Wed, 4 Feb 2015 14:35:37 +0000 (09:35 -0500)]
man: fix diagrams in bootup(7)
Fallout from
798d3a524e.
Lennart Poettering [Wed, 4 Feb 2015 13:46:40 +0000 (14:46 +0100)]
timesyncd: reduce log chattiness a bit
Let's downgrade the statistics output from LOG_INFO to LOG_DEBUG.
https://bugs.freedesktop.org/show_bug.cgi?id=88926
Jay Faulkner [Wed, 4 Feb 2015 01:45:50 +0000 (17:45 -0800)]
nspawn: Allow module loading if CAP_SYS_MODULE is requested
nspawn containers currently block module loading in all cases, with
no option to disable it. This allows an admin, specifically setting
capability=CAP_SYS_MODULE or capability=all to load modules.
Tom Gundersen [Wed, 4 Feb 2015 08:23:24 +0000 (09:23 +0100)]
shared/capability: don't be too frugal on space for caps
We were dropping the most significant bit. Add an assert to make sure it does not happen again.
Fixes a bug introduced in
7d328b544621d4b1bec936dec612947ad8bfb65a.
Zbigniew Jędrzejewski-Szmek [Wed, 4 Feb 2015 02:14:13 +0000 (21:14 -0500)]
Reindent man pages to 2ch
Zbigniew Jędrzejewski-Szmek [Tue, 3 Feb 2015 01:28:39 +0000 (20:28 -0500)]
tmpfiles: fix compilation without acl support
Luke Shumaker [Wed, 4 Feb 2015 01:07:37 +0000 (20:07 -0500)]
cg_path_get_user_unit(): Did not correctly parse user-unit templates.
It ran either skip_session() or skip_user_manager(), then ran skip_slices()
iff skip_session() ran. It needs to run skip_slices() in either case.
Included is a test case demonstrating why.
Lennart Poettering [Wed, 4 Feb 2015 00:42:49 +0000 (01:42 +0100)]
core: don't reset log level to NOTICE if we get quiet on the kernel cmdline
quiet should really just have an effect on the stuff we dump on the
console, not what we log elsewhere.
Hence:
debug on kernel cmdline → interpreted by every tool, turns up
log levels to "debug" everywhere.
quiet on kernel cmdline → interpreted only by PID 1 (and
obviously the kernel) no alteration of the max log level, but
turns off status output.
http://lists.freedesktop.org/archives/systemd-devel/2014-December/026271.html
Lennart Poettering [Wed, 4 Feb 2015 00:42:46 +0000 (01:42 +0100)]
update TODO
Chris J Arges [Tue, 3 Feb 2015 23:56:06 +0000 (17:56 -0600)]
virt: add detect_vm_devicetree for powerpc arches
Check sysfs devicetree values in order to detect if we are running on a KVM
hypervisor on a powerpc architecture.
Tom Gundersen [Tue, 3 Feb 2015 14:44:50 +0000 (15:44 +0100)]
networkd: refactor socket activation a bit
Tom Gundersen [Tue, 3 Feb 2015 20:33:04 +0000 (21:33 +0100)]
sd-rtnl: allow sd_rtnl_open_fd() to be used on bound sockets
Tom Gundersen [Tue, 3 Feb 2015 14:44:12 +0000 (15:44 +0100)]
networkd: handle suspend events
Thomas Hindoe Paaboel Andersen [Tue, 3 Feb 2015 20:35:14 +0000 (21:35 +0100)]
partial revert of fed6df8
This one was acutally used to free xattr
Lennart Poettering [Tue, 3 Feb 2015 18:07:40 +0000 (19:07 +0100)]
core: open up DefaultDependencies= property for transient units
Johannes Hölzl [Tue, 3 Feb 2015 17:53:31 +0000 (18:53 +0100)]
core: busname_supported() should cache what it detects
Add the missing "static" to actually make this a cache.
Lennart Poettering [Tue, 3 Feb 2015 17:17:00 +0000 (18:17 +0100)]
journald: fix some xsprrintf() buffer size fallout
Lennart Poettering [Tue, 3 Feb 2015 17:16:35 +0000 (18:16 +0100)]
core: use some nice macros where appropriate
Lennart Poettering [Tue, 3 Feb 2015 17:16:17 +0000 (18:16 +0100)]
update TODO
Lennart Poettering [Tue, 3 Feb 2015 13:08:56 +0000 (14:08 +0100)]
update TODO
Lennart Poettering [Tue, 3 Feb 2015 12:53:01 +0000 (13:53 +0100)]
loopback-setup: simplify code a bit
Lennart Poettering [Tue, 3 Feb 2015 12:48:15 +0000 (13:48 +0100)]
loopback-setup: no need to redefine LOOPBACK_IFINDEX, we already have it in missing.h
Lennart Poettering [Tue, 3 Feb 2015 10:46:25 +0000 (11:46 +0100)]
update TODO
Harald Hoyer [Tue, 3 Feb 2015 09:43:24 +0000 (10:43 +0100)]
test-functions: search for the initrd and kernel according to the BLS
Also search for the initrd and kernel according to the boot loader
specification.
Harald Hoyer [Tue, 3 Feb 2015 09:44:27 +0000 (10:44 +0100)]
test-functions: use sfdisk without cyl,head,sectors
newer sfdisk implementations do not work with these anymore
Harald Hoyer [Tue, 3 Feb 2015 09:45:25 +0000 (10:45 +0100)]
test-functions:install_libnss() call dracut_install with all $NSS_LIBS
dracut_install() can cope with more than one file
Martin Pitt [Sun, 1 Feb 2015 23:19:33 +0000 (00:19 +0100)]
tests: install ldconfig.real for Debian based distros
In Debian based distributions ldconfig is just a shell wrapper around
ldconfig.real, for deferring it during package installation.
Martin Pitt [Sun, 1 Feb 2015 23:19:32 +0000 (00:19 +0100)]
tests: install hostname debug tool
This is mostly a vehicle to pull in libnsl.so which gets dlopen()ed by NSS
under certain NSS configurations.
Martin Pitt [Sun, 1 Feb 2015 23:19:31 +0000 (00:19 +0100)]
tests: install all required libnss modules
Don't assume "files" for everything in nsswitch. Instead, ask "getent passwd"
about which libnss modules it dlopen()s, and install these.
Martin Pitt [Sun, 1 Feb 2015 23:19:30 +0000 (00:19 +0100)]
tests: don't hardcode systemctl path
Get it from type -P instead, to support --enable-split-usr.
Martin Pitt [Sun, 1 Feb 2015 23:19:29 +0000 (00:19 +0100)]
tests: determine rootlibdir from pkg-config
Prefer asking pkg-config for the rootlibdir, to also support systems with
--enable-split-usr. Fall back to the hardcoded /usr/lib/systemd if that fails.
Martin Pitt [Sun, 1 Feb 2015 23:19:28 +0000 (00:19 +0100)]
tests: Make sushell optional in image creation
sushell does not exist in all distributions, and it can be changed with
configure --with-debug-shell, so make installation of it optional.