Corrupted filenames of created sdist on windows
Hello,
I don't know if this is the right place to ask ... I'm using build in some of my projects and noticed that filenames of the e.g. example.tar.gz file that is created are cut of. Shouldn't build create a sdist zip file on windows?
Regards,
Johnny
Probably need more info. Build does work on Windows. Are you sure the extensions are missing (not just looking at them in Explorer, which can hide extensions), do you have some configuration files, what backend are you using, etc?
The filenames are cut of after 32 characters. It happens with files I have included like
src_folder_name =
mockups/csv_data/*.csv
I'm building with cmd and python 3.10.5
In the setup.cfg file I tried classifiers:
Operating System :: Microsoft :: Windows :: Windows 10
and
Operating System :: OS Independent
With both classifiers the problem is present
The build itself is not the problem only when I want to access/extract the tar.gz files with 7-Zip
In another case the folder-path is 4 characters longer and the filnames in that folder are cut after 28 characters. Therefore the whole path length is probably decisive.
I've investigated a bit more and it turns out, when I extract the tar.gz (sdist) file in the dist folder all the files that have a path longer than 195 characters are cut of. But it does not matter where I extract the tar.gz. The number of characters would be another, but they would all be cut at the same length. My assumption is, that it has something to do with the 260 characters in path limitation Windows had or has. Maybe it is exceeded during the packing process?!
I cloned the project to another location, to reduce the path length. I extraced the sdist again in the dist folder. Here the total path length of the mentioned files is 141 characters. They are still cut off.
Could you try increasing the path length limit? https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#maximum-path-length-limitation
Classifiers don't affect things, they are just metadata. The build is happening in a temporary directory, so the location of the build source probably doesn't matter.
I checked in the registry, LongPathsEnabled is set to 1