[R-pkg-devel] Not a bug in checks in R-devel
Duncan Murdoch
murdoch@dunc@n @end|ng |rom gm@||@com
Mon Oct 28 19:03:00 CET 2019
On 28/10/2019 1:01 p.m., William Dunlap wrote:
> The Matrix package explicitly sets LazyData to "no" with a note saying
> that it is necessary.
>
> LazyData: no
> LazyDataNote: not possible, since we use data/*.R *and* our classes
>
>
> My notes on implementing install.packages() in TERR include
>
> When R's install.packages() processes *.R files in the package's
> data directory, they may use functions defined in the package's R
> directory, whether or not LazyData is yes or no.
>
> If LazyData is no (but not if yes), then the *.R files in data can
> refer to files copied from pkg/inst/blah to pkg/blah.
>
> TERR must be able to do this to install the Matrix package from source.
>
>
> Hence changing the default to "yes" may break the installation of some
> packages.
Thanks! This also shows another solution to Luis-Miguel's problem. He had
\usage{growth.curves}
in his .Rd file, but that doesn't work unless LazyData: yes is used (as
pointed out earlier). In fact, it is incorrect: running
growth.curves
in the R console gives the error
Error: object 'growth.curves' not found
Since data is not lazy-loaded, the approach used by Matrix is needed,
i.e. an explicit call to data():
\usage{
data(growth.curves)
}
So this isn't a bug in the checks after all, it was an error in the
package and was being reported correctly.
Duncan Murdoch
>
> Bill Dunlap
> TIBCO Software
> wdunlap tibco.com <http://tibco.com>
>
>
> On Sun, Oct 27, 2019 at 12:35 PM Duncan Murdoch
> <murdoch.duncan using gmail.com <mailto:murdoch.duncan using gmail.com>> wrote:
>
> On 27/10/2019 6:04 a.m., Luis-Miguel Rodríguez Rojas wrote:
> > Thanks a lot Xavier!
> > This solved my issue.
>
> This seems like a simple workaround for the bug. Perhaps "LazyData:
> yes" should become the default. I don't know what are the
> advantages of
> the current "LazyData: no" default.
>
> BTW, another issue is that the environment variable controlling this
> test, "_R_CHECK_CODOC_VARIABLES_IN_USAGES_", doesn't appear to be
> documented. I did a fairly rough search through the sources for other
> undocumented check variables, and found this list:
>
> [1] "_R_CHECK_CODOC_VARIABLES_IN_USAGES_"
> [2] "_R_CHECK_CRAN_INCOMING_ASPELL_RECHECK_MAYBE_"
> [3] "_R_CHECK_CRAN_INCOMING_ASPELL_RECHECK_START_"
> [4] "_R_CHECK_CRAN_INCOMING_CHECK_FILE_URIS_"
> [5] "_R_CHECK_CRAN_INCOMING_DESCR_BAD_START_RECHECK_MAYBE_"
> [6] "_R_CHECK_CRAN_INCOMING_DESCR_BAD_START_RECHECK_START_"
> [7] "_R_CHECK_CRAN_INCOMING_GNU_MAKE_RECHECK_MAYBE_"
> [8] "_R_CHECK_CRAN_INCOMING_GNU_MAKE_RECHECK_START_"
> [9] "_R_CHECK_CRAN_INCOMING_NOTE_GNU_MAKE_"
> [10] "_R_CHECK_CRAN_INCOMING_SKIP_DATES_"
> [11] "_R_CHECK_CRAN_INCOMING_SKIP_DOI_CHECKS_"
> [12] "_R_CHECK_CRAN_INCOMING_SKIP_URL_CHECKS_IF_REMOTE_"
> [13] "_R_CHECK_CRAN_INCOMING_SKIP_VERSIONS_"
> [14] "_R_CHECK_CRAN_INCOMING_TITLE_CASE_RECHECK_MAYBE_"
> [15] "_R_CHECK_CRAN_INCOMING_TITLE_CASE_RECHECK_START_"
> [16] "_R_CHECK_CRAN_INCOMING_TITLE_INCLUDES_NAME_RECHECK_MAYBE_"
> [17] "_R_CHECK_CRAN_INCOMING_TITLE_INCLUDES_NAME_RECHECK_START_"
> [18] "_R_CHECK_CRAN_INCOMING_USE_ASPELL_"
> [19] "_R_CHECK_CRAN_STATUS_SUMMARY_"
> [20] "_R_CHECK_FF_AS_CRAN_"
> [21] "_R_CHECK_FILE_TIMES_TOL_"
> [22] "_R_CHECK_FUTURE_FILE_TIMESTAMPS_LEEWAY_"
> [23] "_R_CHECK_MAINTAINER_ADDRESS_"
> [24] "_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_"
> [25] "_R_CHECK_PACKAGE_DEPENDS_IGNORE_MISSING_ENHANCES_"
> [26] "_R_CHECK_PACKAGES_USED_CRAN_INCOMING_NOTES_"
> [27] "_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_"
> [28] "_R_CHECK_RD_CONTENTS_KEYWORDS_"
> [29] "_R_CHECK_SIZE_OF_TARBALL_"
> [30] "_R_CHECK_SRC_MINUS_W_SOMETIMES_UNINITIALIZED_"
> [31] "_R_CHECK_STANGLE_WARNINGS_"
> [32] "_R_CHECK_SUPPRESS_RANDR_MESSAGE_"
> [33] "_R_CHECK_UNLOAD_NAMESPACES_"
> [34] "_R_CHECK_URLS_USE_CURL_"
> [35] "_R_CHECK_VIGNETTE_TITLES_"
> [36] "_R_CHECK_VIGNETTES_SKIP_RUN_MAYBE_"
>
> Some of these (including _R_CHECK_CODOC_VARIABLES_IN_USAGES_) may be
> intended for internal use only; I'm not even certain the others are
> used
> in the checks. All I was looking for were patterns in the source using
>
> grep -r _R_CHECK_ *
>
> and within those lines I assumed ones with the pattern
> Sys.getenv("...")
> were actually environment variables being used, and ones in files in
> the
> doc directory were documented. The ones listed above appear to be used
> but not documented.
>
> Duncan Murdoch
>
> >
> > Best,
> > Miguel.
> >
> > --
> > Luis M. Rodriguez-R, Ph.D.
> > [ https://rodriguez-r.com <https://rodriguez-r.com/> ]
> > ---------------------------------
> > Research Engineer
> > Georgia Institute of Technology
> > 311 Ferst Drive, ES&T, Room 3324
> > Atlanta, GA 30332, USA
> > [ http://enve-omics.gatech.edu/ ]
> >
> >
> >
> > On Sun, Oct 27, 2019 at 3:09 AM Xavier Robin
> <Xavier.Robin using sib.swiss> wrote:
> >
> > Hi,
> >
> > It seems you have LazyLoad in your DESCRIPTION:
> >
> > LazyLoad: yes
> >
> > I ran into the same warning a few months ago and realized that
> > LazyLoad has been ignored since R 2.14.0. As a consequence your
> > dataset is not actually loaded lazily, which triggers the
> warning.
> >
> > Apparently the new way to lazy load a dataset is to use
> LazyData in
> > the DESCRIPTION:
> >
> > LazyData: yes
> >
> > I don't know in which R version LazyData was introduced, but I
> > expect around the same time.
> >
> >
> https://cran.r-project.org/doc/manuals/r-release/R-exts.html#The-DESCRIPTION-file
> >
> > I ended up making the following change, and the warning
> disappeared:
> >
> >
> https://github.com/xrobin/pROC/commit/77bbb151412643628f2549868700325c8e47cad4
> >
> > I hope it helps.
> > Xavier
> >
> >
> > On 27.10.19 02:14, Duncan Murdoch wrote:
> >> I think this is a bug. It starts to appear in R-devel revision
> >> 76780,
> >>
> >>
> ------------------------------------------------------------------------
> >>
> >> r76780 | hornik | 2019-07-04 14:55:52 -0400 (Thu, 04 Jul
> 2019) | 1
> >> line
> >>
> >> Tweaks for c76774.
> >>
> ------------------------------------------------------------------------
> >>
> >>
> >> where the default for a new test is set to TRUE. The new
> test was
> >> introduced in 76774,
> >>
> >>
> ------------------------------------------------------------------------
> >>
> >> r76774 | hornik | 2019-07-03 05:02:40 -0400 (Wed, 03 Jul
> 2019) | 2
> >> lines
> >>
> >> Have codoc() report variables in usages not in the code.
> >> (Optionally for now).
> >>
> ------------------------------------------------------------------------
> >>
> >>
> >> Duncan Murdoch
> >>
> >>
> >> On 26/10/2019 4:54 p.m., Luis-Miguel Rodríguez Rojas wrote:
> >>> Hello Duncan,
> >>>
> >>> Thanks for your quick response!
> >>>
> >>> I tried re-building and re-submitting and I'm still getting
> >>> the same error:
> >>>
> https://win-builder.r-project.org/incoming_pretest/enveomics.R_1.5.0_20191026_224156/Windows/00check.log
> >>>
> >>>
> https://win-builder.r-project.org/incoming_pretest/enveomics.R_1.5.0_20191026_224156/Debian/00check.log
> >>>
> >>>
> >>> I've made the tarball temporarily available directly in the
> >>> repository in case that helps at all:
> >>>
> https://github.com/lmrodriguezr/enveomics/blob/master/enveomics.R_1.5.0.tar.gz
> >>>
> >>>
> >>> Thanks a lot!
> >>> Miguel.
> >>>
> >>> --
> >>> Luis M. Rodriguez-R, Ph.D.
> >>> [ https://rodriguez-r.com <https://rodriguez-r.com/>
> >>> <https://rodriguez-r.com/> ]
> >>> ---------------------------------
> >>> Research Engineer
> >>> Georgia Institute of Technology
> >>> 311 Ferst Drive, ES&T, Room 3324
> >>> Atlanta, GA 30332, USA
> >>> [ http://enve-omics.gatech.edu/ ]
> >>>
> >>>
> >>>
> >>> On Sat, Oct 26, 2019 at 1:39 PM Duncan Murdoch
> >>> <murdoch.duncan using gmail.com <mailto:murdoch.duncan using gmail.com>
> <mailto:murdoch.duncan using gmail.com <mailto:murdoch.duncan using gmail.com>>
> >>> *MailScanner has detected a possible fraud attempt from
> >>> "gmail.com <http://gmail.com>" claiming to be*
> <mailto:murdoch.duncan using gmail.com <mailto:murdoch.duncan using gmail.com>>
> >>> <mailto:murdoch.duncan using gmail.com
> <mailto:murdoch.duncan using gmail.com>>> wrote:
> >>>
> >>> On 26/10/2019 11:39 a.m., Luis-Miguel Rodríguez Rojas
> wrote:
> >>> > Dear all,
> >>> >
> >>> > I maintain a package that has data fields, and
> didn't have
> >>> any
> >>> problems
> >>> > with this before. However, in my latest update, I'm
> >>> getting the
> >>> following
> >>> > error message from the CRAN tests:
> >>> >
> >>> > Flavor: r-devel-linux-x86_64-debian-gcc,
> >>> r-devel-windows-ix86+x86_64
> >>> > Check: for code/documentation mismatches, Result:
> WARNING
> >>> > Variables with usage in documentation object
> >>> 'growth.curves'
> >>> but not in
> >>> > code:
> >>> > 'growth.curves'
> >>> >
> >>> > Variables with usage in documentation object
> >>> 'phyla.counts'
> >>> but not in
> >>> > code:
> >>> > 'phyla.counts'
> >>>
> >>> I'm not seeing those messages when testing your package in
> >>> the same R
> >>> version as win-builder used, so it could be a transient
> >>> issue, or a
> >>> problem with the tarball that you submitted. In either
> case,
> >>> I'd
> >>> suggest just trying again: rebuild and submit.
> >>>
> >>> Duncan Murdoch
> >>>
> >>> >
> >>> > The variables are indeed NOT in the code, because
> they're
> >>> only to
> >>> be used
> >>> > in the examples. In this version I moved my
> documentation
> >>> from
> >>> the old (now
> >>> > defunct) inlinedocs to ROxygen2. In the previous form, I
> >>> had to
> >>> define a
> >>> > structure in the code including both the function
> and the
> >>> example, so
> >>> > technically the code was using the variables. In the new
> >>> form, I
> >>> simply
> >>> > define the examples with the @examples tag (that ends up
> >>> in the
> >>> .rd file
> >>> > within an \examples{} block).
> >>> >
> >>> > Does anyone have any idea on how I should define data in
> >>> the code
> >>> to avoid
> >>> > this issue? I could simply add the example lines
> after the
> >>> return (so
> >>> > they're never reached), but that sounds like a
> horrible hack.
> >>> >
> >>> > Just in case it's useful:
> >>> > GitHub repository (inside the enveomics.R folder):
> >>> > https://github.com/lmrodriguezr/enveomics/
> >>> > Full test output:
> >>> >
> >>>
> https://win-builder.r-project.org/incoming_pretest/enveomics.R_1.5.0_20191026_032029/Windows/00check.log
> >>> >
> >>> > Thanks!
> >>> > Miguel.
> >>> >
> >>> >
> >>> > --
> >>> > Luis M. Rodriguez-R, Ph.D.
> >>> > [ https://rodriguez-r.com ]
> >>> > ---------------------------------
> >>> > Research Engineer
> >>> > Georgia Institute of Technology
> >>> > 311 Ferst Drive, ES&T, Room 3324
> >>> > Atlanta, GA 30332, USA
> >>> > [ http://enve-omics.gatech.edu/ ]
> >>> >
> >>> > [[alternative HTML version deleted]]
> >>> >
> >>> > ______________________________________________
> >>> > R-package-devel using r-project.org
> <mailto:R-package-devel using r-project.org>
> >>> <mailto:R-package-devel using r-project.org
> <mailto:R-package-devel using r-project.org>>
> >>> *MailScanner has detected a possible fraud attempt from
> >>> "r-project.org <http://r-project.org>" claiming to be*
> >>> <mailto:R-package-devel using r-project.org
> <mailto:R-package-devel using r-project.org>>
> >>> <mailto:R-package-devel using r-project.org
> <mailto:R-package-devel using r-project.org>> mailing list
> >>> > https://stat.ethz.ch/mailman/listinfo/r-package-devel
> >>> >
> >>>
> >>
> >> ______________________________________________
> >> R-package-devel using r-project.org <mailto:R-package-devel using r-project.org>
> >> <mailto:R-package-devel using r-project.org
> <mailto:R-package-devel using r-project.org>> mailing list
> >> https://stat.ethz.ch/mailman/listinfo/r-package-devel
> >
> > --
> > Xavier Robin, PhD
> > University of Basel | Swiss Institute of Bioinformatics
> > Biozentrum - Klingelbergstrasse 50/70 - 4056 Basel
> > t: +41 61 207 18 77 | m: +41 78 865 09 01
> > Xavier.Robin using sib.swiss <mailto:Xavier.Robin using sib.swiss
> <mailto:Xavier.Robin using sib.swiss>> -http://www.sib.swiss
> >
>
> ______________________________________________
> R-package-devel using r-project.org <mailto:R-package-devel using r-project.org>
> mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>
More information about the R-package-devel
mailing list