Re: rump-mathopd and rump-nginx packages moved, packaging infrastructure

  • From: Antti Kantee <pooka@xxxxxx>
  • To: rumpkernel-users@xxxxxxxxxxxxx
  • Date: Thu, 02 Jul 2015 22:01:13 +0000

On 02/07/15 20:13, Martin Lucina wrote:

I agree, however I'm not too hung up on using make. The common boilerplate
consists of mostly a sequential set of "fetch upstream", "maybe patch",
"maybe configure", "build", "install", "maybe make images" steps.

I was thinking that we could build a small DSL for packaging using shell
scripts. Imagine a build.sh that looked something like this:

#!/bin/sh
. ../scripts/common.sh

package nginx
upstream http://nginx.org/download/nginx-1.8.0.tar.gz
patches patches/*
NGINX_CONF_ENV=...
NGINX_CONF_OPTS=...
configure ./configure ${NGINX_CONF_OPTS}
build make
install objs/nginx nginx.bin
iso_image stubetc.iso ../stubetc/etc
iso_image data.iso images/data

This should be pretty trivial to write, probably a couple of hours work.
Observant readers will note that the "syntax" is somewhat inspired by OPAM.

Thoughts?

Well, if you think it saves overall time in introducing a few dozen packages, knock yourself out. Just don't do anything that you'll be sad to throw away in a few months.

I used the following to deduce the --host value to ./configure:
HOST=$(subst -cc,,$(notdir $(CC)))

I wonder, with the toolchain rename, is that always correct for us?

Yes. However I'm wondering if we want a bit more "infrastructure" that
makes it clear what target and/or bake configuration the user is building
packages for, and just does the whole lot. Or perhaps this is getting too
much like a packaging system? :-)

The point is that we can deduce the value which should be passed to --host, we can't deduce the platform target to rumpbake. I'm not sure we can even execute rumpbake automatically. The parameters to rumpbake are a bit like the combination of installing and OS and a set of packages on it.

That said, wouldn't it be better if the makefiles took the value passed to --host and constructed CC from that (where specifying CC is even necessary)?

Other related posts: