Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:15-SP4
systemd
0009-pid1-handle-console-specificities-weirdnes...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0009-pid1-handle-console-specificities-weirdness-for-s390.patch of Package systemd
From dedd52f920cf7ae718bb31ac7286d3f7314540c6 Mon Sep 17 00:00:00 2001 From: Franck Bui <fbui@suse.com> Date: Fri, 10 Jun 2016 15:19:57 +0200 Subject: [PATCH 09/11] pid1: handle console specificities/weirdness for s390 arch The 3270 console on S/390 can do color but not the 3215 console. Partial forward port of 0001-On_s390_con3270_disable_ANSI_colour_esc.patch from SLE12-SP1. A bunch of the previous code has been dropped since some changes imported from upsteam made them uneeded. The remaining bits are probably hackish but at least they are now minimal. It was an attempt to address bnc#860937. And yes turning the console color mode off by passing $TERM=dumb via the kernel command line would have been much more easier and enough. This is actually implemented by recent systemd. There's also another command line option: systemd.log_color=off. See also a short discussion which happened on @systemd-maintainers whose $subject is "[PATCH] support conmode setting on command line". [fbui: fixes bsc#860937] --- src/basic/terminal-util.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c index d769423d6e..1a65391146 100644 --- a/src/basic/terminal-util.c +++ b/src/basic/terminal-util.c @@ -779,7 +779,20 @@ bool tty_is_vc_resolve(const char *tty) { } const char *default_term_for_tty(const char *tty) { - return tty && tty_is_vc_resolve(tty) ? "linux" : "vt220"; + if (tty && tty_is_vc_resolve(tty)) + return "linux"; + +#if defined (__s390__) || defined (__s390x__) + if (tty && tty_is_console(tty)) { + _cleanup_free_ char *mode = NULL; + + /* Simply return "dumb" in case of OOM. */ + (void) proc_cmdline_get_key("conmode", 0, &mode); + (void) proc_cmdline_value_missing("conmode", mode); + return streq_ptr(mode, "3270") ? "ibm327x" : "dumb"; + } +#endif + return "vt220"; } int fd_columns(int fd) { -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor