chattr makes cygport slow

Andrew Schulman schulman.andrew@epa.gov
Sat Jul 8 13:23:03 GMT 2023


> On 06/07/2023 18:36, Andrew Schulman via Cygwin-apps wrote:
> >> Recently I noticed that `cygport finish` has become really slow on some of my
> >> package source trees. After I run for example
> >>
> >> cygport libargp.cygport finish
> >>
> >> it waits for about 5 minutes without any message to the console, before the
> >> first "Removing work directory" message appears.
> >>
> >> pstree shows that during this time cygport is waiting for chattr. In
> >> /usr/bin/cygport I see:
> >>
> >> if [ $OSTYPE = "cygwin" ]
> >> then
> >>      chattr -fR +C ${workdir} >/dev/null 2>&1 || true
> >> fi
> >>
> >> which is trying to make the workdir case-sensitive.
> >>
> >> Whatever the advantages of that are, it can take a long time. Would it be
> >> possible to skip it at least in the case of "finish"? It seems silly to spend
> >> all that time fixing up a directory tree that we then turn around and remove
> >> with rm -rf.
> 
> For a long time, we've just been assuming that anyone using cygport has 
> case-sensitivity turned on somehow (as the build underling a cygport 
> might assume that it's present, as is normal on a unix)
> 
> So, the idea here is that we try to ensure it's on, at least for the 
> working directory.
> 
> Skipping it when 'finish' is used isn't right, because then 'finish all' 
> wouldn't work as desired.  But yeah, it seems that this is in the wrong 
> place.  I'll look into moving it.

Thanks. Annoying, I realize. Unfortunately doing it separately for each command
isn't right either, if it runs 3 times instead of once when I run 'cygport prep
make inst'.

Also, just fixing it for 'finish' would still leave the delay for the other
commands. Maybe a switch that would allow turning it off, either host-wide in
~/.cygport.conf, or for a project that didn't need it in *.cygport.
 
> I think there's possibly something else going wrong if it's taking 5 
> minutes, as that seems excessive.

Could be BLODA. My host has MS antivirus.



More information about the Cygwin-apps mailing list