Re: [Rd] Building Packages on Windows using .Rbuildignore (PR#7379)

From: Gabor Grothendieck <ggrothendieck_at_myway.com>
Date: Sat 20 Nov 2004 - 11:39:17 EST

 <murdoch <at> stats.uwo.ca> writes:

:
: On Thu, 18 Nov 2004 16:36:03 +0100 (CET), murdoch <at> stats.uwo.ca wrote :
:
: >>The reason that the processing is different according to whether one
: >>uses .Rbuildignore or not is that
: >> R CMD build
: >>takes the .Rbuildignore file into account but
: >> R CMD install
: >> R CMD check
: >> R CMD build --binary
: >>do not take .Rbuildignore into account.
: >
: >Okay, now I understand. I think I'd call the last of those a bug, and
: >it would seem to me that the install and check scripts should also
: >respect this directive. I've now copied this to the r-bugs list.
: >(This was reported for Windows; I don't know if it applies to other
: >platforms as well.)
:
: I've taken a look at the source now, and it appears that the intention
: is that R CMD check should respect the .Rbuildignore file, but (on my
: system) it's looking for it in the wrong place: it looks in the
: parent of the package directory, not in the main package directory.
: That is, if I have a package in subdirectory test, then
:
: Rcmd build test
:
: looks for test/.Rbuildignore as it should, but
:
: Rcmd check test
:
: looks for .Rbuildignore. The problem is in these lines of code:
:
: my $exclude_file = ".Rbuildignore";
: ## This is a bit tricky for bundles where the build ignore pattern
: ## file is in the top-level bundle dir.
: $exclude_file = &file_path(dirname($pkgdir), $exclude_file);
:
: In my test, $pkgdir was "d:/stuff/R/test", and $exclude_file ended up
: as "d:/stuff/R/.Rbuildignore".
:
: Could someone on Unix confirm this behaviour? I think the fix should
: be to change the last line to
:
: $exclude_file = &file_path($pkgdir, $exclude_file);
:
: but I don't want to mess things up on other platforms.
:
: Even with this change, Rcmd check is still going to install the files
: it's supposed to ignore, because it uses Rcmd INSTALL, and there's no
: .Rbuildignore support there.
:

If the behaviour is suddenly changed then this is going to cause work for people whose scripts depend on the current behavior. In order to minimize disruption I would ask that such change only be made at the same time that a flag for turning on and off .Rbuildignore processing is implemented on build, check, install and build --binary. Even with such a flag it may require revision to scripts but at least any change with the flag will be minimal. Even better, it may mean some scripts can be eliminated.



R-devel@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Sat Nov 20 11:46:49 2004

This archive was generated by hypermail 2.1.8 : Fri 18 Mar 2005 - 09:01:38 EST