[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