\subsection{W0001 -- Archive as package file
detected}\label{w0001--archive-as-package-file-detected}

Usually a CTAN package should not contain archives. An exception are
situations where, for example, the source code of a package is kept in a
separate zip archive.

\subsection{W0002 -- Duplicate files
detected}\label{w0002--duplicate-files-detected}

Duplicate files were detected which are listed right after this message.

The message is a warning message as something like this could not be
seen as an error in general.

\subsection{W0003 -- Same named files detected in the package
tree}\label{w0003--same-named-files-detected-in-the-package-tree}

We like to have unique file names over the whole package directory tree.
When we discover same named files we report it as a warning. Common
names like \texttt{README}, \texttt{README.txt}, \texttt{README.md},
\texttt{Makefile}, \texttt{Makefile.in}, \texttt{Makefile.am} and
\texttt{makefile} are ignored when checking.

For more details refer to:\\
\url{https://mirror.ctan.org/help/ctan/CTAN-upload-addendum.html\#uniquefilenames}

\subsection{\texorpdfstring{W0004 -- encoding with BOM
detected}{W0004 --  encoding with BOM detected}}\label{w0004---encoding-with-bom-detected}

A UTF encoded package file contains a BOM (byte order mark). Currently,
we issues a warning.

Nevertheless, the CTAN team discourages uses of BOM. Please be aware,
that in some future time this could be reagarded as an error.

\subsection{\texorpdfstring{W0005 -- Very large file with size
\texttt{\textless{}size\textgreater{}} detected in
package}{W0005 -- Very large file  with size \textless size\textgreater{} detected in package}}\label{w0005--very-large-file--with-size-size-detected-in-package}

(Experimental) We issue the message if there is a file is larger than
40MiB in the package directory tree.

\subsection{\texorpdfstring{W0006 -- Very large file with size
\texttt{\textless{}size\textgreater{}} detected in TDS zip
archive}{W0006 -- Very large file with size \textless size\textgreater{} detected in TDS zip archive}}\label{w0006--very-large-file-with-size-size-detected-in-tds-zip-archive}

(Experimental) We issue the message if there is a file larger than 40MiB
in the TDS zip archive.

\subsection{W0007 -- Empty directory detected in the TDS zip
archive}\label{w0007--empty-directory-detected-in-the-tds-zip-archive}

Empty directories in a TDS zip archive are discouraged. As they usually
don't create errors in the distribution we issue a warning only.

\subsection{W0008 -- Windows file has Unix line
endings}\label{w0008--windows-file-has-unix-line-endings}

A Windows file with Unix line endings was detected.

We regard a file as a Windows file if its name ends with:

\begin{itemize}
\tightlist
\item
  \texttt{.bat}
\item
  \texttt{.cmd}
\end{itemize}

CRLF for such files is ok but we issue a warning as there may be some
kind of edge cases where CRLF is better.

We ignore Powershell files (\texttt{.ps1}, \texttt{.psm1} or
\texttt{.psd1}) as both CRLF and LF line endings are ok here.

\subsection{\texorpdfstring{W0009 -- Replacing
\texttt{\textless{}pkgname\textgreater{}\ -\textgreater{}\ \textless{}tpkg\textgreater{}}
with the same from config
file}{W0009 -- Replacing \textless pkgname\textgreater{} -\textgreater{} \textless tpkg\textgreater{} with the same from config file}}\label{w0009--replacing-pkgname---tpkg-with-the-same-from-config-file}

This message can only show up if \texttt{pkgcheck} got called with
\texttt{-\/-config}. Indicates that an entry in the \texttt{pkgcheck}
config file does the same as the hard-coded entry. This helps to keep a
clean config file.

\subsection{\texorpdfstring{W0010 -- Hardlinks detected with inode
}{W0010 -- Hardlinks detected with inode }}\label{w0010--hardlinks-detected-with-inode-}

Hardlinks found in the package directory tree. The inode number will be
displayed.

\subsection{\texorpdfstring{W0011 -- has an mtime in the future by
seconds, or \textless hours, minutes,
seconds\textgreater{}}{W0011 --  has an mtime in the future by  seconds, or \textless hours, minutes, seconds\textgreater{}}}\label{w0011---has-an-mtime-in-the-future-by--seconds-or-hours-minutes-seconds}

The file \texttt{\textless{}file\textgreater{}} has a future
modification time. This is most probably caused by the archiver tool
which doesn't pay attention to the timezone when adding the file to the
archive.

The future time will be displayed in

\begin{itemize}
\tightlist
\item
  seconds
\item
  and hours, minutes and seconds
\end{itemize}
