chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
44c3298
)
hostnamectl: read OS pretty_name and cpe_name from remote
author
Djalal Harouni
<tixxdz@opendz.org>
Tue, 11 Mar 2014 13:57:16 +0000
(14:57 +0100)
committer
Lennart Poettering
<lennart@poettering.net>
Tue, 11 Mar 2014 16:48:45 +0000
(17:48 +0100)
src/hostname/hostnamectl.c
patch
|
blob
|
history
diff --git
a/src/hostname/hostnamectl.c
b/src/hostname/hostnamectl.c
index 94b4243b8d7191ff2012a9131652693c00b07d6f..326f371746982d60457b8c5f724eca763a95bff8 100644
(file)
--- a/
src/hostname/hostnamectl.c
+++ b/
src/hostname/hostnamectl.c
@@
-67,6
+67,8
@@
typedef struct StatusInfo {
char *pretty_hostname;
char *icon_name;
char *chassis;
char *pretty_hostname;
char *icon_name;
char *chassis;
+ char *os_pretty_name;
+ char *os_cpe_name;
char *virtualization;
char *architecture;
} StatusInfo;
char *virtualization;
char *architecture;
} StatusInfo;
@@
-74,7
+76,6
@@
typedef struct StatusInfo {
static void print_status_info(StatusInfo *i) {
sd_id128_t mid = {}, bid = {};
int r;
static void print_status_info(StatusInfo *i) {
sd_id128_t mid = {}, bid = {};
int r;
- _cleanup_free_ char *pretty_name = NULL, *cpe_name = NULL;
struct utsname u;
assert(i);
struct utsname u;
assert(i);
@@
-105,18
+106,11
@@
static void print_status_info(StatusInfo *i) {
if (!isempty(i->virtualization))
printf(" Virtualization: %s\n", i->virtualization);
if (!isempty(i->virtualization))
printf(" Virtualization: %s\n", i->virtualization);
- r = parse_env_file("/etc/os-release", NEWLINE,
- "PRETTY_NAME", &pretty_name,
- "CPE_NAME", &cpe_name,
- NULL);
- if (r < 0)
- log_warning("Failed to read /etc/os-release: %s", strerror(-r));
-
- if (!isempty(pretty_name))
- printf(" Operating System: %s\n", pretty_name);
+ if (!isempty(i->os_pretty_name))
+ printf(" Operating System: %s\n", i->os_pretty_name);
- if (!isempty(cpe_name))
- printf(" CPE OS Name: %s\n", cpe_name);
+ if (!isempty(
i->os_
cpe_name))
+ printf(" CPE OS Name: %s\n",
i->os_
cpe_name);
assert_se(uname(&u) >= 0);
printf(" Kernel: %s %s\n", u.sysname, u.release);
assert_se(uname(&u) >= 0);
printf(" Kernel: %s %s\n", u.sysname, u.release);
@@
-162,6
+156,8
@@
static int show_all_names(sd_bus *bus) {
{ "PrettyHostname", "s", NULL, offsetof(StatusInfo, pretty_hostname) },
{ "IconName", "s", NULL, offsetof(StatusInfo, icon_name) },
{ "Chassis", "s", NULL, offsetof(StatusInfo, chassis) },
{ "PrettyHostname", "s", NULL, offsetof(StatusInfo, pretty_hostname) },
{ "IconName", "s", NULL, offsetof(StatusInfo, icon_name) },
{ "Chassis", "s", NULL, offsetof(StatusInfo, chassis) },
+ { "OperatingSystemPrettyName", "s", NULL, offsetof(StatusInfo, os_pretty_name) },
+ { "OperatingSystemCPEName", "s", NULL, offsetof(StatusInfo, os_cpe_name) },
{}
};
{}
};
@@
-195,6
+191,8
@@
fail:
free(info.pretty_hostname);
free(info.icon_name);
free(info.chassis);
free(info.pretty_hostname);
free(info.icon_name);
free(info.chassis);
+ free(info.os_pretty_name);
+ free(info.os_cpe_name);
free(info.virtualization);
free(info.architecture);
free(info.virtualization);
free(info.architecture);