>>>>> Prof Brian Ripley writes: > Note that it *does* work under Windows (via mapping names to short > names without spaces), so we should take care not to break that (and I > think adding quotes will as the shell quoting rules appear to be are > different).
I thought that R_system() would portably invoke a Bourne shell? -k > On Tue, 27 Apr 2004, Kurt Hornik wrote: >> >>>>> ellis writes: >> >> > Full_Name: Byron Ellis >> > Version: R 1.9.0 (and 2.0.0) >> > OS: Linux (Redhat Fedora Core) >> > Submission from: (NULL) (140.247.241.197) >> >> >> > It appears that `R CMD build` cannot handle spaces in the path when >> > building packages for distribution. For instance: >> >> > [EMAIL PROTECTED] ~/Bayesian Networks]$ R CMD build bnsl >> > * checking for file 'bnsl/DESCRIPTION' ... OK >> > * preparing 'bnsl': >> > * cleaning src >> > * removing junk files >> > * building 'bnsl_0.0.1.tar.gz' >> > tar: Networks/bnsl_0.0.1.tar: Cannot stat: No such file or directory >> > tar: Error exit delayed from previous errors >> > tar: Networks/bnsl_0.0.1.tar: Not found in archive >> > tar: Error exit delayed from previous errors >> > Error: cannot open file 'bnsl/DESCRIPTION' for reading >> > [EMAIL PROTECTED] ~/Bayesian Networks]$ >> >> > Results in a file named "Bayesian" (that appears to be the >> > uncompressed tar file) in ~/. I suspect some missing quotes somewhere. >> >> The problem definitely occurs when calling R CMD build from a dir whose >> file path contains white space. Now in R CMD build we have >> >> $ grep filepath build.in >> my $filepath = &file_path($startdir, $filename); >> R_system("zip -r9X $filepath.zip $pkgs $topLevelFiles"); >> R_system("$tar chf $filepath $pkgs $topLevelFiles"); >> R_system("gzip -9f $filepath"); >> my $filepath = &file_path($startdir, $filename); >> my $origfilepath = $filepath; >> $filepath =~ s+^([A-Za-x]):+/cygdrive/\1+; >> R_system("$tar chf $filepath $pkgname"); >> R_system("$tar xhf $filepath"); >> R_system("$tar chf $filepath $pkgname"); >> R_system("gzip -9f $origfilepath"); >> >> so in fact in none of the calls to R_system() with $filepath do we >> currently perform any kind of quoting or shell escaping. >> >> A simple improvement would be quoting all filepaths in R_system() calls >> via \"...\" or '...'. Unless someone has a better idea or wants to put >> in more effort ... > -- > Brian D. Ripley, [EMAIL PROTECTED] > Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ > University of Oxford, Tel: +44 1865 272861 (self) > 1 South Parks Road, +44 1865 272866 (PA) > Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-devel