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