From patchwork Fri May 22 15:42:51 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ikey Doherty X-Patchwork-Id: 475817 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 489D0140E44 for ; Sat, 23 May 2015 07:51:32 +1000 (AEST) Received: from localhost ([::1]:36066 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yvuqo-0004yh-AL for incoming@patchwork.ozlabs.org; Fri, 22 May 2015 17:51:30 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49101) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yvp6A-0006Ae-5q for qemu-devel@nongnu.org; Fri, 22 May 2015 11:42:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yvp65-0005b7-Rj for qemu-devel@nongnu.org; Fri, 22 May 2015 11:42:57 -0400 Received: from mga14.intel.com ([192.55.52.115]:65295) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yvp65-0005aq-MP for qemu-devel@nongnu.org; Fri, 22 May 2015 11:42:53 -0400 Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga103.fm.intel.com with ESMTP; 22 May 2015 08:42:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,476,1427785200"; d="scan'208";a="575490760" Received: from ahamill-mobl2.ger.corp.intel.com (HELO ikey-laptop.ger.corp.intel.com) ([10.252.9.75]) by orsmga003.jf.intel.com with ESMTP; 22 May 2015 08:42:51 -0700 From: Ikey Doherty To: qemu-devel@nongnu.org Date: Fri, 22 May 2015 16:42:51 +0100 Message-Id: <1432309371-9179-1-git-send-email-michael.i.doherty@intel.com> X-Mailer: git-send-email 1.9.1 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 192.55.52.115 X-Mailman-Approved-At: Fri, 22 May 2015 17:51:05 -0400 Subject: [Qemu-devel] [PATCH] arch_init: Use stateless configuration for default target_${target}.conf X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org The goal of stateless, and thus this change, is to separate OS configuration from system administrator configuration. With this change we will read the default configuration data from /usr/share/defaults/qemu, in the absence of an overriding site administrator configuration in /etc/qemu. A key advantage of this change is enabling a sane and immutable default OS configuration, that is resiliant to upgrades. Ultimate power is still left to the system administrator, with the ability to override the defaults if required. Lastly, given that the sane defaults are always available, the administrator may simply remove their site-config files to reset the configuration to the "factory defaults" (i.e. OS configuration). Signed-off-by: Ikey Doherty --- Makefile | 8 ++++---- arch_init.c | 1 + configure | 2 ++ 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index d945804..52635da 100644 --- a/Makefile +++ b/Makefile @@ -390,12 +390,12 @@ endif endif install-confdir: - $(INSTALL_DIR) "$(DESTDIR)$(qemu_confdir)" + $(INSTALL_DIR) "$(DESTDIR)$(qemu_defaultdir)" -install-sysconfig: install-datadir install-confdir - $(INSTALL_DATA) $(SRC_PATH)/sysconfigs/target/target-x86_64.conf "$(DESTDIR)$(qemu_confdir)" +install-defaultconfig: install-datadir install-confdir + $(INSTALL_DATA) $(SRC_PATH)/sysconfigs/target/target-x86_64.conf "$(DESTDIR)$(qemu_defaultdir)" -install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig \ +install: all $(if $(BUILD_DOCS),install-doc) install-defaultconfig \ install-datadir install-localstatedir ifneq ($(TOOLS),) $(call install-prog,$(TOOLS),$(DESTDIR)$(bindir)) diff --git a/arch_init.c b/arch_init.c index 23d3feb..f23fb1f 100644 --- a/arch_init.c +++ b/arch_init.c @@ -137,6 +137,7 @@ static struct defconfig_file { } default_config_files[] = { { CONFIG_QEMU_CONFDIR "/qemu.conf", true }, { CONFIG_QEMU_CONFDIR "/target-" TARGET_NAME ".conf", true }, + { CONFIG_QEMU_DEFAULTDIR "/target-" TARGET_NAME ".conf", true }, { NULL }, /* end of list */ }; diff --git a/configure b/configure index f758f32..a0b6477 100755 --- a/configure +++ b/configure @@ -4303,6 +4303,7 @@ fi qemu_confdir=$sysconfdir$confsuffix qemu_moddir=$libdir$confsuffix qemu_datadir=$datadir$confsuffix +qemu_defaultdir="$datadir/defaults$confsuffix" qemu_localedir="$datadir/locale" tools="" @@ -4543,6 +4544,7 @@ echo "mandir=$mandir" >> $config_host_mak echo "sysconfdir=$sysconfdir" >> $config_host_mak echo "qemu_confdir=$qemu_confdir" >> $config_host_mak echo "qemu_datadir=$qemu_datadir" >> $config_host_mak +echo "qemu_defaultdir=$qemu_defaultdir" >> $config_host_mak echo "qemu_docdir=$qemu_docdir" >> $config_host_mak echo "qemu_moddir=$qemu_moddir" >> $config_host_mak if test "$mingw32" = "no" ; then