From: Bastian Blank Date: Sat, 5 Jul 2014 09:46:43 +0000 (+0200) Subject: Display Debian package version in hypervisor log X-Git-Tag: archive/raspbian/4.17.1+2-gb773c48e36-1+rpi1~1^2~22 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=63cfcb3ae4916b7f038803574fedb93ea3917d6f;p=xen.git Display Debian package version in hypervisor log During hypervisor boot, disable the banner and nicely display the xen version as well as the Maintainer address from debian/control. For this to work the DEB_VERSION and DEB_MAINTAINER variables needs to be set by debian/rules. Original patch by Bastian Blank Modified by Hans van Kranenburg Maximilian Engelhardt --- diff --git a/xen/build.mk b/xen/build.mk index 758590c68e..99b60aed41 100644 --- a/xen/build.mk +++ b/xen/build.mk @@ -17,7 +17,6 @@ targets += .banner quiet_cmd_compile.h = UPD $@ define cmd_compile.h if [ ! -r $@ -o -O $@ ]; then \ - cat .banner; \ sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \ -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \ -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \ @@ -28,13 +27,16 @@ define cmd_compile.h -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \ -e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \ -e 's!@@changeset@@!$(shell $(srctree)/tools/scmversion $(XEN_ROOT) || echo "unavailable")!g' \ + -e 's/@@system_distribution@@/$(shell lsb_release -is)/g' \ + -e 's/@@system_maintainer_domain@@/$(shell echo "${DEB_MAINTAINER}" | sed -ne 's,^.[^<]*<[^@>]*@\([^>]*\)>,\1,p')/g' \ + -e 's/@@system_maintainer_local@@/$(shell echo "${DEB_MAINTAINER}" | sed -ne 's,^.[^<]*<\([^@>]*\)@.*>,\1,p')/g' \ + -e 's/@@system_version@@/$(shell echo "${DEB_VERSION}")/g' \ < $< > $(dot-target).tmp; \ - sed -rf $(srctree)/tools/process-banner.sed < .banner >> $(dot-target).tmp; \ mv -f $(dot-target).tmp $@; \ fi endef -include/xen/compile.h: include/xen/compile.h.in .banner FORCE +include/xen/compile.h: include/xen/compile.h.in FORCE $(if $(filter-out FORCE,$?),$(Q)rm -fv $@) $(call if_changed,compile.h) diff --git a/xen/common/kernel.c b/xen/common/kernel.c index f8134d3e7a..4ac3ba70f2 100644 --- a/xen/common/kernel.c +++ b/xen/common/kernel.c @@ -414,9 +414,9 @@ static int __init cf_check buildinfo_init(void) hypfs_add_dir(&buildinfo, &compileinfo, true); hypfs_string_set_reference(&compiler, xen_compiler()); - hypfs_string_set_reference(&compile_by, xen_compile_by()); + hypfs_string_set_reference(&compile_by, xen_compile_system_maintainer_local()); hypfs_string_set_reference(&compile_date, xen_compile_date()); - hypfs_string_set_reference(&compile_domain, xen_compile_domain()); + hypfs_string_set_reference(&compile_domain, xen_compile_system_maintainer_domain()); hypfs_add_leaf(&compileinfo, &compiler, true); hypfs_add_leaf(&compileinfo, &compile_by, true); hypfs_add_leaf(&compileinfo, &compile_date, true); @@ -497,8 +497,8 @@ DO(xen_version)(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg) memset(&info, 0, sizeof(info)); safe_strcpy(info.compiler, deny ? xen_deny() : xen_compiler()); - safe_strcpy(info.compile_by, deny ? xen_deny() : xen_compile_by()); - safe_strcpy(info.compile_domain, deny ? xen_deny() : xen_compile_domain()); + safe_strcpy(info.compile_by, deny ? xen_deny() : xen_compile_system_maintainer_local()); + safe_strcpy(info.compile_domain, deny ? xen_deny() : xen_compile_system_maintainer_domain()); safe_strcpy(info.compile_date, deny ? xen_deny() : xen_compile_date()); if ( copy_to_guest(arg, &info, 1) ) return -EFAULT; diff --git a/xen/common/version.c b/xen/common/version.c index d320135208..b44d41175e 100644 --- a/xen/common/version.c +++ b/xen/common/version.c @@ -20,19 +20,24 @@ const char *xen_compile_time(void) return XEN_COMPILE_TIME; } -const char *xen_compile_by(void) +const char *xen_compile_system_distribution(void) { - return XEN_COMPILE_BY; + return XEN_COMPILE_SYSTEM_DISTRIBUTION; } -const char *xen_compile_domain(void) +const char *xen_compile_system_maintainer_local(void) { - return XEN_COMPILE_DOMAIN; + return XEN_COMPILE_SYSTEM_MAINTAINER_LOCAL; } -const char *xen_compile_host(void) +const char *xen_compile_system_maintainer_domain(void) { - return XEN_COMPILE_HOST; + return XEN_COMPILE_SYSTEM_MAINTAINER_DOMAIN; +} + +const char *xen_compile_system_version(void) +{ + return XEN_COMPILE_SYSTEM_VERSION; } const char *xen_compiler(void) @@ -60,11 +65,6 @@ const char *xen_changeset(void) return XEN_CHANGESET; } -const char *xen_banner(void) -{ - return XEN_BANNER; -} - const char *xen_deny(void) { return ""; diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c index e8468c121a..0a5bf924c4 100644 --- a/xen/drivers/char/console.c +++ b/xen/drivers/char/console.c @@ -1000,14 +1000,11 @@ void __init console_init_preirq(void) pv_console_set_rx_handler(serial_rx); /* HELLO WORLD --- start-of-day banner text. */ - spin_lock(&console_lock); - __putstr(xen_banner()); - spin_unlock(&console_lock); - printk("Xen version %d.%d%s (%s@%s) (%s) %s %s\n", + printk("Xen version %d.%d%s (%s %s) (%s@%s) (%s) %s %s\n", xen_major_version(), xen_minor_version(), xen_extra_version(), - xen_compile_by(), xen_compile_domain(), xen_compiler(), - xen_build_info(), xen_compile_date()); - printk("Latest ChangeSet: %s\n", xen_changeset()); + xen_compile_system_distribution(), xen_compile_system_version(), + xen_compile_system_maintainer_local(), xen_compile_system_maintainer_domain(), + xen_compiler(), xen_build_info(), xen_compile_date()); /* Locate and print the buildid, if applicable. */ xen_build_init(); diff --git a/xen/include/xen/compile.h.in b/xen/include/xen/compile.h.in index 3151d1e7d1..b4f7c98951 100644 --- a/xen/include/xen/compile.h.in +++ b/xen/include/xen/compile.h.in @@ -1,8 +1,9 @@ #define XEN_COMPILE_DATE "@@date@@" #define XEN_COMPILE_TIME "@@time@@" -#define XEN_COMPILE_BY "@@whoami@@" -#define XEN_COMPILE_DOMAIN "@@domain@@" -#define XEN_COMPILE_HOST "@@hostname@@" +#define XEN_COMPILE_SYSTEM_DISTRIBUTION "@@system_distribution@@" +#define XEN_COMPILE_SYSTEM_MAINTAINER_DOMAIN "@@system_maintainer_domain@@" +#define XEN_COMPILE_SYSTEM_MAINTAINER_LOCAL "@@system_maintainer_local@@" +#define XEN_COMPILE_SYSTEM_VERSION "@@system_version@@" #define XEN_COMPILER "@@compiler@@" #define XEN_VERSION @@version@@ @@ -11,4 +12,3 @@ #define XEN_EXTRAVERSION "@@extraversion@@" #define XEN_CHANGESET "@@changeset@@" -#define XEN_BANNER \ diff --git a/xen/include/xen/version.h b/xen/include/xen/version.h index 93c5877363..9d98d6ea27 100644 --- a/xen/include/xen/version.h +++ b/xen/include/xen/version.h @@ -6,9 +6,10 @@ const char *xen_compile_date(void); const char *xen_compile_time(void); -const char *xen_compile_by(void); -const char *xen_compile_domain(void); -const char *xen_compile_host(void); +const char *xen_compile_system_distribution(void); +const char *xen_compile_system_maintainer_domain(void); +const char *xen_compile_system_maintainer_local(void); +const char *xen_compile_system_version(void); const char *xen_compiler(void); unsigned int xen_major_version(void); unsigned int xen_minor_version(void);