From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [PATCH] alsactl: Try to create state file directory Date: Mon, 08 Jun 2015 15:03:21 +0200 Message-ID: References: <1433541647-300-1-git-send-email-nicholson@endlessm.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id E37B3260412 for ; Mon, 8 Jun 2015 15:03:21 +0200 (CEST) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Dan Nicholson Cc: alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org At Mon, 8 Jun 2015 05:52:18 -0700, Dan Nicholson wrote: > > On Jun 8, 2015 4:38 AM, "Takashi Iwai" wrote: > > > > At Fri, 5 Jun 2015 15:00:47 -0700, > > Dan Nicholson wrote: > > > > > > Try to create the directory for the state file when saving so we don't > > > depend on it being created ahead of time. This only checks for failures > > > on existing directories and doesn't try to create the leading > > > directories or workaround any other errors. This should catch the common > > > case where /var/lib exists, but /var/lib/alsa doesn't. > > > > I don't think it's the role of alsactl. It saves a file on the > > certain directory. If it doesn't exist, it's a failure of the > > installed package. > > Sure, that's understandable, but there's a couple reasons I think this is > helpful addition. > > First, if no path is supplied, store will save to /var/lib/alsa. So, it's > not as of the user has supplied a path it didn't setup correctly. It would > be nice if alsactl worked out of the box without additional integration by > packagers. For that, a safer way would be to create /var/lib/alsa in the installation. > Second, my real motivation for fixing this is to support stateless type of > systems that come with a clean /var. At Endless we're using ostree. The OS > is composed by Debian packages, and indeed alsa-utils is setup to create > /var/lib/alsa on install. However, to use the same OS snapshot for all > users, the contents of /var are stripped since they represent local system > state. We can certainly add a method for creating the directory at runtime, > but we believe it's more robust to have the program manage its own state as > much as possible. Why not specifying the proper directory via alsactl -f option for user? Takashi