public inbox for goredo-devel@lists.cypherpunks.ru
Atom feed
From: spacefrogg <spacefrogg-goredo@spacefrogg•net>
To: Goredo Devel <goredo-devel@lists.cypherpunks.ru>
Subject: File mode changes not properly updated for existing targets
Date: Thu, 05 Oct 2023 14:21:04 +0000	[thread overview]
Message-ID: <9e4d15ee0b1d395a8cb9bdbeabe6a7eb@spacefrogg.net> (raw)

Hi,

I've discovered that, once a target was created by a .do file, its file 
modes are no longer properly updated, when the .do file is modified to 
do so. So, I have a target that is supposed to create a shell script. 
Initially, I forgot to make $3 executable. The target exists, now, under 
redo's control. I changed the .do file to add the executable bits to $3 
and ran redo again but nothing happened. After I deleted the target and 
ran redo again, the target was created with the proper file modes.

Could it be, that you are doing "cat" instead of "mv" on an existing 
target to avoid changing the inode? If so, be aware that the change from 
the old target to the new target would generally no longer be atomic to 
the outside world. POSIX only guarantees atomicity for mv and various 
filesystems have a very limited understanding of the atomicity of the 
write syscall.

Kind regards,
–Michael

             reply	other threads:[~2023-10-05 14:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-05 14:21 spacefrogg [this message]
2023-10-05 14:23 ` File mode changes not properly updated for existing targets spacefrogg
2023-10-05 14:28 ` Jan Niklas Böhm
2023-10-07 14:26   ` Sergey Matveev
2023-10-07 14:29 ` Sergey Matveev