[I added a specifier to the subject]

On 28/01/16 23:31, Ryan Day wrote:
To provide a standard README file for each rumprun package, a template
system should be implemented. An existing structure that we could loosely
follow is the pkgsrc system. Pkgsrc generates READMEs from variables in a
Makefile.

Yup, more infrastructure for rumprun-packages is in general is a good thing, and need to start from somewhere.

DISTNAME=       <pkg name>-<version>
CATEGORIES=     <following pkgsrc categories>
MASTER_SITES=   http://www.all.the/files/

MAINTAINERS=    "Full Name" <[email protected]>,"Distinguished Full Name,
Esq." github: @fnesq
HOMEPAGE=       http://url.to.site.homepage
COMMENT=        This library is linked to by other rumprun packages
LICENSE=        to ill

NOTES=          NOTES
EXAMPLE= EXAMPLE
- - - - -

I've included CATEGORIES, even though rumprun packages don't have them.
Maybe it isn't needed yet.

My experience with categories from pkgsrc has been that the "misc" category will eventually have the most packages.

Taxonomy was a great tool before powerful electronic computers were invented ;)

So, my vote is to skip categories, and instruct users to use either grep or a web service to search for what they want. I'm guessing the common search problem, anyway, is "can I run X on Rumprun", not "which programs do Y".

I've added the EXAMPLE variable, which would pull from a file. Most rumprun
packages have an example included in the README.

I think that would be better served by a link to the relevant part of the wiki. I can't yet define "relevant" since we didn't finish the other thread, but some sort of wiki link in any case. Just so that this mail is self-contained, my initial thinking was an anchor to the Packages TOC. That way, if there are many pages relevant to a package, you can get a glimpse of all of them (e.g. basic python usage and using flask on python). Alternatively, we can add two links, one to the TOC and one to the base page for the package.

I've added the NOTES variable, which would also pull from a file. Some
packages may have additional information that the user needs to know about.
Redis only works with one type of persistence, for example. Mysqld disables
threads, as another example.

Is NOTES something that should be pulled from a file, or should we enforce keeping it simple by requiring it's specified inline in the Makefile?

# Overview of ${DISTNAME}

${COMMENT}

Maybe this could "$distname is $comment", just to avoid having to duplicate that wording in every COMMENT?

Source files are retrieved from [${MASTER_SITES}](${MASTER_SITES}). More
information about the package can be found at [${HOMEPAGE}](${HOMEPAGE}).

Is the tarball location relevant? How many percent of users would want to click it manually?

This package uses the ${LICENSE} license.

# Maintainer

  * ${MAINTAINER[0]}
  * $(MAINTAINER[1]}

The information for maintainers might take some more tuning for how to make it easy to specify in the Makefile.

# Example

${EXAMPLE}

As mentioned earlier, that's probably better served by a wiki page.

We could also  include standard links in the READMEs pointing to the FAQ
and build-rr tutorials.

Hmm. Inspired by the above sentence, maybe the README could say something like "package of <pkgname> for the Rumprun unikernel[link]". That would increase our search engine relevance, and still give people who find us from a search engine some way of discovering how they're actually supposed to use the package.

I'm not sure it's necessary to link every single howto from every page. Then again, I never had the experience of discovering this stuff via a link, so I have no idea. Comments from people who recently discovered rumprun-packages would be valuable.

This is getting rather long. Any thoughts, obvious problems?

I'd say that we don't yet have so many packages that this needs to implemented "atomically". IMO, changes toward the direction you propose can be initiated (but wait a day or two for other opinions). Though, I guess nailing down the packages wiki is the roadblock, since the heavy lifting is getting the examples etc. into another place so that you can actually generate the READMEs without losing existing information.

Reply via email to