tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkglint and R packages



> On Aug 1, 2019, at 4:01 PM, Roland Illig <roland.illig%gmx.de@localhost> wrote:
> 
> Am 01.08.2019 um 15:32 schrieb Brook Milligan:
>> I have just updated all the R packages to a canonical form.  Now
>> would be a good time to look at how pkglint handles them as they are
>> all quite standardized and all build (at least for me).
>> 
>> One specific addition I suggest is that 'R' be added as a legitimate
>> category. It is being used (and has been forever) just like 'perl5'
>> and 'python' as a language-specific category.
> 
> Done.

Thanks.

>> There may be other fixes that would help ensure that the canonical
>> form of a package is checked for and maintained as much as possible.
> 
> My suggestions for the minimal canonical R package are:
> 
> 1. The first paragraph contains R_PKGNAME, R_PKGVER and CATEGORIES, to
> make them as similar as possible to the other "simple package definitions".

This would be a good change.  The first two of those have been in the 3rd stanza, but it really makes more sense that they are first.  I like that.  (Except for the rototilling to make it happen. :)

> 2. The category "R" is added automatically by math/R/Makefile.extension,
> in the same way that "math" is currently added.

I guess I missed it.  It makes much more sense to be there than in every Makefile.  Good catch.

> 3. The maintainer defaults to pkgsrc-users%NetBSD.org@localhost, unless OWNER is
> set, which would obviously override this.

Some packages have a different MAINTAINER set.  Should that be changed to OWNER and MAINTAINER not used?

> What other rules do you have in mind? I looked at several examples in
> math/R-* and found them all very simple and similar in structure.

Yes, they should be mostly simple and very similar.  That is the point.  There are some that are fairly complex, but the idea is to keep simple R packages as simple as possible to encourage people to add them.  I have many times encountered situations where the R command 'install.package()' fails, but that installing works via a private package in my local pkgsrc.  Thus, it seems a good idea to add new packages as people decide they are useful.

> The default setting of HOMEPAGE made me wonder a bit: There's a default
> in math/R/Makefile.extension, and there are many packages that override
> this default with effectively ${R_HOMEPAGE_BASE}/${R_PKGNAME}. Therefore
> I think the default HOMEPAGE should be exactly that expression instead
> of the current default.

I haven't looked at all the HOMEPAGE definitions in detail, but I recall that you are likely right that they follow a common pattern.  That should likely be captured in Makefile.extension as well.

These all seem like really good ideas.  I won't have much time to tackle the changes soon, though, so I encourage others to jump in and handle this.

Thanks a lot for the observations.

Cheers,
Brook



Home | Main Index | Thread Index | Old Index