Limits
wpkg has some limits that will prevent you from doing certain things. Also we strive in breaking the limits in each new version, so older versions may be more limited than what we have here:
Label | Limit | Comments |
---|---|---|
Filename | 255 bytes | NTFS and ext4 are limited to 255 bytes per file. |
Full Path |
32Kb or 4Kb |
NTFS is limited as 32kb, ext4 limits a path to 4096 characters (Other File Sytem Limits). Up to version 0.8.2, the maximum length of a path was 300 because of the wpkgar format although, because of a bug, in version 0.8.2 and earlier, it would not really support such long paths correctly all the time. |
Path Characters | All except: NULL, controls and : * ? " < > | | A path and filename cannot include characters that NTFS and other Microsoft file systems reject. These are all controls (0 to 31) and the : * ? " < > | characters. Of course, the / and \ characters are used interchangeably and specifically used to separate path elements. They cannot otherwise be used in a filename. The --build process checks each filename before it gets added to a package. That way it ensures cross compatibility of packages. Further, a filename cannot start or end with space, nor end with a period. These combinaisons are allowed under MS-Windows, but cause problems an thus we forbid them. |
File Size |
1Gb |
All files managed by the memfile class are limited to 1Gb (10243). |
wpkgar | 64Kb | Full paths and filenames in the wpkgar are limited to 64Kb. |
|
Unlimited | When installing a file, the depth of the directed acyclic graph is checked, if more than 1,000 level you get a warning. We do not impose a limit, but it is likely to break even before the 1,000 mark as it uses quite a bit of stack memory. |
Unix Time | Year 2038 | Different file formats do not (yet) allow for dates over the year of 2038. In the tar format, adding support for the PAX header will solve the problem since the PAX header saves dates in ASCII not limited to 32 bit numbers. |
User Area | --instdir | Files from a package can only be installed under the directory defined by --instdir. Note that if you only use the --root option and never the --admindir, then by default the administration directory is part of the installation area; it is yet forbidden to have any file end up under that directory (i.e. /var/lib/wpkg by default.) |
Working under MS-Windows? Please check out this Known Bug if you feel like you ran in some problems in regard to filename or path length.