bootchart: parse /etc/os-release rather than system-release
Also parse it early, so that we can get it in the initramfs.
This commit is contained in:
@@ -82,6 +82,7 @@ static void signal_handler(int sig)
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
_cleanup_free_ char *build = NULL;
|
||||
struct sigaction sig;
|
||||
struct ps_struct *ps;
|
||||
char output_file[PATH_MAX];
|
||||
@@ -280,6 +281,12 @@ int main(int argc, char *argv[])
|
||||
sysfd = open("/sys", O_RDONLY);
|
||||
}
|
||||
|
||||
if (!build) {
|
||||
parse_env_file("/etc/os-release", NEWLINE,
|
||||
"PRETTY_NAME", &build,
|
||||
NULL);
|
||||
}
|
||||
|
||||
/* wait for /proc to become available, discarding samples */
|
||||
if (!(graph_start > 0.0))
|
||||
log_uptime();
|
||||
@@ -350,7 +357,7 @@ int main(int argc, char *argv[])
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
svg_do();
|
||||
svg_do(build);
|
||||
|
||||
fprintf(stderr, "bootchartd: Wrote %s\n", output_file);
|
||||
fclose(of);
|
||||
|
||||
@@ -124,4 +124,4 @@ extern double gettime_ns(void);
|
||||
extern void log_uptime(void);
|
||||
extern void log_sample(int sample);
|
||||
|
||||
extern void svg_do(void);
|
||||
extern void svg_do(const char *build);
|
||||
|
||||
+3
-12
@@ -140,7 +140,7 @@ static void svg_header(void)
|
||||
}
|
||||
|
||||
|
||||
static void svg_title(void)
|
||||
static void svg_title(const char *build)
|
||||
{
|
||||
char cmdline[256] = "";
|
||||
char filename[PATH_MAX];
|
||||
@@ -149,7 +149,6 @@ static void svg_title(void)
|
||||
char model[256] = "Unknown";
|
||||
char date[256] = "Unknown";
|
||||
char cpu[256] = "Unknown";
|
||||
char build[256] = "Unknown";
|
||||
char *c;
|
||||
FILE *f;
|
||||
time_t t;
|
||||
@@ -201,14 +200,6 @@ static void svg_title(void)
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
/* Build - 1st line from /etc/system-release */
|
||||
f = fopen("/etc/system-release", "r");
|
||||
if (f) {
|
||||
if (fgets(buf, 255, f))
|
||||
strncpy(build, buf, 255);
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
svg("<text class=\"t1\" x=\"0\" y=\"30\">Bootchart for %s - %s</text>\n",
|
||||
uts.nodename, date);
|
||||
svg("<text class=\"t2\" x=\"20\" y=\"50\">System: %s %s %s %s</text>\n",
|
||||
@@ -1053,7 +1044,7 @@ static void svg_top_ten_pss(void)
|
||||
}
|
||||
|
||||
|
||||
void svg_do(void)
|
||||
void svg_do(const char *build)
|
||||
{
|
||||
struct ps_struct *ps;
|
||||
|
||||
@@ -1106,7 +1097,7 @@ void svg_do(void)
|
||||
svg("</g>\n\n");
|
||||
|
||||
svg("<g transform=\"translate(10, 0)\">\n");
|
||||
svg_title();
|
||||
svg_title(build);
|
||||
svg("</g>\n\n");
|
||||
|
||||
svg("<g transform=\"translate(10,200)\">\n");
|
||||
|
||||
Reference in New Issue
Block a user