Similar questions were asked before but I did not found one for the recently discovered problem.
What I want to do is uploading a package to CTAN which is in good technical shape. I did this before using the instructions given by http://tug.org/texlive/pkgcontrib.html:
I created a flat directory containing all files.
I created a TDS directory structure holding the files at the intended position.
I zipped the TDS structures.
I zipped the flat directory and the
.tds.zip
to a package ZIP file.I uploaded the package ZIP file to CTAN with accompanying information.
So far, so good. My intention was and is to cause as few as possible trouble to the CTAN team for installing my package.
Recently, I discovered that my naive idea that they just unzip my package was not true. They process my uploaded files and sometimes fix things by hand. That is not what I want.
Now to the question:
What are the (untold) technical details authors should respect to make the job of the CTAN team easier?
I know of a Perl script ctanify
which probably makes all automatically on Linux systems (but not for Windows as the documentation states (?)). Aside from that, I would like to know (and remove) the technical reasons for problems.
Some things to correct seem to arise from preparing files on Windows systems - I put that in the title of the question.
What I know, is the following:
(A) Text files on Windows systems end lines with CRLF (hex: 0D0A) while Unix systems use LF (hex: 0A) only. I saw that CTAN filters uploaded text files such that CRLF is replaced by LF. This causes work and moreover problems, if it is not clear which file actually is a text file. This part of the answer I can give myself: replace CRLF by LF before zipping.
(B) Zipping is zipping (?) - or not? Are there good and bad ZIP files for CTAN? How can I produce a good ZIP file (on a Windows) system. I know that the answer will be tool-dependent but are there some general hints what to consider for CTAN?
Edit: for example, the Java based zipper of Apache Ant 1.9.2 produces bad ZIP files. From CTAN, I get the following report back:
,-----[ tds_fault_finder ]------------------------------------------------
| WARNING: tcolorbox.tds.zip: Bad zipper? No file is labelled as text by zipinfo
`-------------------------------------------------------------------------
Presumably, this is because some "text vs. binary" flags are not set by this zipper. According to CTAN, they do receive good ZIP files from Windows systems. So, this part of the question could be formulated as: What are good zipper tools (for Windows)?
Edit 2: According to the given answers and some further research, the brief answer seems to be: everything based on Info-ZIP is a good zipper for CTAN uploads. Windows binaries for Info-Zip are found here; see the answers for other good zippers.
(Anything else) What else does the CTAN team do to process uploaded files which can be avoided by the authors?