From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Cl=C3=A9ment?= Lassieur Subject: bug#26734: Snippets (even empty ones) of tar sources reset the timestamps of all files Date: Tue, 02 May 2017 15:17:29 +0200 Message-ID: <87d1brmm8m.fsf@lassieur.org> References: <874lx4d6j7.fsf@lassieur.org> <87h913h0rj.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54590) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d5Xgs-0005zP-3M for bug-guix@gnu.org; Tue, 02 May 2017 09:18:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d5Xgo-00087v-QP for bug-guix@gnu.org; Tue, 02 May 2017 09:18:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:52239) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d5Xgo-00087p-Mn for bug-guix@gnu.org; Tue, 02 May 2017 09:18:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1d5Xgo-0008Kh-HI for bug-guix@gnu.org; Tue, 02 May 2017 09:18:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-reply-to: <87h913h0rj.fsf@gnu.org> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 26734@debbugs.gnu.org Ludovic Courtès writes: > Clément Lassieur skribis: > >> I tried to patch 'patch-and-repack', but it triggers a full >> rebuild... WDYT? > > Right, it’s expected to trigger a full rebuild, so this should be fixed > in ‘core-updates’. Yes, but is there a way to test the patch on one package without having first to rebuild everything? > I guess we’ll have to collect the timestamps of all non-symlink files¹ > in step #1 and to reapply them with ‘set-file-time’ from (guix build > utils) after step #2. Does that mean that symlinks will still have their timestamps changed? To me that is a half-solution... Wouldn't it be easier to collect all recently modified files (those modified by snippet and patches), and set their timestamp to "1 January 1970", without changing the other files? That means removing the --mtime option from tar at step 3. > Thoughts? Would you like to do that? Sure :-) > ¹ Because Guile provides bindings for ‘utime’, which does not support > setting timestamps on symlinks. If the guile binding doesn't support setting timestamps on symlinks, I guess we can still use another way, like a system touch.