From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roel Janssen Subject: Add the git commit id to the generation information Date: Tue, 30 May 2017 10:00:48 +0200 Message-ID: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44386) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dFc5K-000690-EH for guix-devel@gnu.org; Tue, 30 May 2017 04:01:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dFc5H-0002RN-0O for guix-devel@gnu.org; Tue, 30 May 2017 04:00:58 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:44605) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dFc5G-0002RJ-TV for guix-devel@gnu.org; Tue, 30 May 2017 04:00:54 -0400 Received: from [143.121.198.177] (port=36458 helo=cog147) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dFc5G-0005mo-BF for guix-devel@gnu.org; Tue, 30 May 2017 04:00:54 -0400 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org Dear Guix, I have a feature request. When I run 'guix pull', install a package, run 'guix pull' again (on another day), and install another package, I'd get two generations: > Generation 181 May 22 2017 11:47:37 > + haunt 0.2.1 out /gnu/store/x2bkpzrdbaxavl29r2xg0fip1jjici9q-haunt-0.2.1 > > Generation 182 May 24 2017 09:52:06 (current) > + guile-commonmark 0.1 out /gnu/store/k8vq65czfb8k4hvvjvsca34scd9xsxik-guile-commonmark-0.1 Now, if I'd like to go to the Guix packages source code of generation 181, I can only guess at which actual state of the Guix repository this was, because this timestamp is the timestamp of creating the generation, not the timestamp of the Guix package state. So, I'd like to propose to add the commit id to the generation like so: > Generation 181 May 22 2017 11:47:37 (ae548434337cddf9677a4cd52b9370810b2cc9b6) > + haunt 0.2.1 out /gnu/store/x2bkpzrdbaxavl29r2xg0fip1jjici9q-haunt-0.2.1 > > Generation 182 May 24 2017 09:52:06 (current) > + guile-commonmark 0.1 out /gnu/store/k8vq65czfb8k4hvvjvsca34scd9xsxik-guile-commonmark-0.1 So, 'current' is the one that is installed at that time. Any other should be traceable through the git commit ID. This would probably require us to have the repository information available when building the tarball that will be downloaded by 'guix pull'. I think this feature is very important because it makes the generations traceable to the Guix source code, which is needed for reproducing the same generation. Is this something we could make? And can we live with the implicit requirement to have the git repository information available when building the source tarballs used by 'guix pull'? Kind regards, Roel Janssen