Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id 85F6F6DE189A for ; Sat, 12 Mar 2016 04:31:38 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: -0.033 X-Spam-Level: X-Spam-Status: No, score=-0.033 tagged_above=-999 required=5 tests=[AWL=-0.022, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id n0xUTgGUafO6 for ; Sat, 12 Mar 2016 04:31:36 -0800 (PST) Received: from fethera.tethera.net (fethera.tethera.net [198.245.60.197]) by arlo.cworth.org (Postfix) with ESMTPS id A76956DE13EF for ; Sat, 12 Mar 2016 04:31:36 -0800 (PST) Received: from remotemail by fethera.tethera.net with local (Exim 4.84) (envelope-from ) id 1aeiiK-0004yd-Pb; Sat, 12 Mar 2016 07:32:12 -0500 Received: (nullmailer pid 17170 invoked by uid 1000); Sat, 12 Mar 2016 12:31:33 -0000 From: David Bremner To: David Bremner , notmuch@notmuchmail.org Subject: library config api v4 Date: Sat, 12 Mar 2016 08:31:24 -0400 Message-Id: <1457785890-17058-1-git-send-email-david@tethera.net> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1453561198-2893-1-git-send-email-david@tethera.net> References: <1453561198-2893-1-git-send-email-david@tethera.net> X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 12:31:38 -0000 This is an updated version of id:1453561198-2893-1-git-send-email-david@tethera.net The main change is patch 6/6 that uses the config facility to split the database from the mail messages. In order to cut the Gordian knot of how to find the database using config information stored in the database, this uses a well known location (based on XDG_DATA_HOME) to store the database. This is a proof of concept at this point; you can see the basic idea in the last test of T590-libconfig.sh. Some modifications to notmuch-setup / notmuch-config would be needed to make this usable. I haven't tested it very extensively, but in principle at the library level this allows the database and maildir root to be arbitrary paths; if a well known location is not used for the database, then it would be up to the clients to keep track of the database location.