Why doesn't '*' work as a perl regexp in my .Rbuildignore file?
When I try to build a package with the following in my .Rbuildignore file,
I get the errors:
Warning in readLines(ignore_file) : incomplete final line found on '/home/user/project/.Rbuildignore'
invalid regular expression '*pdf'
I thought '*' was a wildcard for one or more characters?
There are two styles of pattern matching for files:
- regular expressions. These are used for general string pattern matching. See ?regex
- globs. These are typically used by UNIX shells. See ?Sys.glob
You seem to be thinking in terms of globs but .Rbuildignore uses regular expressions. To convert a glob to a regular expression try
> glob2rx("*pdf")  "^.*pdf$"
In a perl regexp, use .*? as a wildcard.
But I think that what you actually want is pdf$ and Rdata$ as entries in .Rbuildignore seem to affect files whose paths they match only partially, too. $ means "end of the path".
See help(regex) for help on regular expression, esp. the Perl variant, and try
instead. The 'dot' matches any chartacter, and the 'star' says that it can repeat zero or more times. I just tried it on a package of mine and this did successfully ignore a pdf vignette as we asked it to.