[R-pkg-devel] Justification and status of the 100-bytes path length limit.
Iago Bonnici
|@go@bonn|c| @end|ng |rom umontpe|||er@|r
Fri Sep 13 15:00:06 CEST 2024
Hello @r-package-devel,
Reading from the following guide, I understand that file paths in
my R package should remain under 100 bytes long:
https://cran.r-project.org/doc/manuals/R-exts.html#Package-structure-1
The only explanation I could find stands within the same line in
this document:
/> packages are normally distributed as tarballs, and these have
a limit on path lengths: for maximal portability
/ So, if I understand correctly, the limit set by CRAN is deferred to
some limit of the `tar` archive format.
Now, reading from the following page:
https://en.wikipedia.org/wiki/Tar_(computing)#File_format
I learn that `tar` was indeed limited to 100-bytes paths prior to
POSIX.1-1988.
If I understand correctly. This limitation has been bumped to 256
bytes in year 1988.
Then, it has been completely lifted in 2001, meaning that
POSIX.1-2001-compliant `tar` files have no limit on the file path lengths.
Although I do understand the importance of ensuring
backward-compatibility, I find it suprising that the 100-bytes
limitation ensures compatibility with files format /*older than R
itself*/ (1993, right?).
Considering that the limitation is suprisingly short by modern
standards, I have two questions about it:
- Is the 100-bytes paths limitation only supposed to ensure
compatilbility with pre-POSIX.1-1998 `tar` files?
- If not, then I believe it should be stated in the official
guide what are the other reasons to set such a low limit.
- If yes, then I believe the limitation should either:
- be reconsidered. For example, it could be lifted for
packages targetting R versions posterior to 2021 (20 years after
POSIX.1-2001) or anything similar.
- be justified deeper in the official guide. The guide
should explain why CRAN considers it meaningful or important to support
pre-POSIX.1-1998 format.
- Has this discussion already happened like 1000 times
<https://stat.ethz.ch/mailman/listinfo/r-package-devel> ? If so, then I
believe the answers should be clarified in the official guide anyway.
Thank you for kind responses, I am happy to help pushing this
forward if required.
Best regards,
--
Iago-lito
[[alternative HTML version deleted]]
More information about the R-package-devel
mailing list