main: show welcome message on boot

This commit is contained in:
Lennart Poettering 2010-07-07 00:25:41 +02:00
parent 9e58ff9c5c
commit c846ff4798
3 changed files with 51 additions and 1 deletions

View File

@ -764,7 +764,8 @@ int main(int argc, char *argv[]) {
log_debug(PACKAGE_STRING " running in %s mode.", manager_running_as_to_string(arg_running_as));
if (arg_running_as == MANAGER_SYSTEM) {
if (arg_running_as == MANAGER_SYSTEM && !serialization) {
status_welcome();
modprobe_setup(arg_nomodules);
kmod_setup();
hostname_setup();

View File

@ -2651,6 +2651,53 @@ finish:
close_nointr_nofail(fd);
}
void status_printf(const char *format, ...) {
va_list ap;
assert(format);
va_start(ap, format);
status_vprintf(format, ap);
va_end(ap);
}
void status_welcome(void) {
#if defined(TARGET_FEDORA)
char *r;
if (read_one_line_file("/etc/system-release", &r) < 0)
return;
truncate_nl(r);
/* This tries to mimic the color magic the old Red Hat sysinit
* script did. */
if (startswith(r, "Red Hat"))
status_printf("\tWelcome to \x1B[0;31m%s\x1B[0m!\n", r); /* Red for RHEL */
else if (startswith(r, "Fedora"))
status_printf("\tWelcome to \x1B[0;34m%s\x1B[0m!\n", r); /* Blue for Fedora */
else
status_printf("\tWelcome to %s!\n", r);
free(r);
#elif defined(TARGET_SUSE)
char *r;
if (read_one_line_file("/etc/SuSE-release", &r) < 0)
return;
truncate_nl(r);
status_printf("\tWelcome to \x1B[0;32m%s\x1B[0m!\n", r); /* Green for SUSE */
free(r);
#else
#warning "You probably should add a welcome text logic here."
#endif
}
static const char *const ioprio_class_table[] = {
[IOPRIO_CLASS_NONE] = "none",
[IOPRIO_CLASS_RT] = "realtime",

View File

@ -292,6 +292,8 @@ int rm_rf(const char *path, bool only_dirs, bool delete_root);
cpu_set_t* cpu_set_malloc(unsigned *ncpus);
void status_vprintf(const char *format, va_list ap);
void status_printf(const char *format, ...);
void status_welcome(void);
const char *ioprio_class_to_string(int i);
int ioprio_class_from_string(const char *s);