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.

I think there's possibly something else going wrong if it's taking 5 minutes, as that seems excessive.

Reply via email to