Re: [Xen-devel] [PATCH] tools/firmware: pass EXTRAVERSION to seabios build

2017-05-30 Thread Olaf Hering
On Tue, May 30, Wei Liu wrote:

> subdirs-seabios-dir: EXTRAVERSION=XXX
> Limit it to the one that needs the environment variable -- seabios or
> ipxe.

Ok, I will try it. Last time I looked environment did not work.


Olaf


signature.asc
Description: PGP signature
___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] tools/firmware: pass EXTRAVERSION to seabios build

2017-05-30 Thread Wei Liu
On Tue, May 30, 2017 at 04:24:18PM +0200, Olaf Hering wrote:
> On Tue, May 30, Wei Liu wrote:
> 
> > In that case, can you confine such hackery to be seabios only?
> 
> Is it worth the hassle? It seems only ipxe would recognize the
> EXTRAVERSION. And how would I actually limit it to seabios? Something
> like "make $(filter-out subdir-seabios-dir, subdirs-$@)"?
> 

No, what I meant was something like:

subdirs-seabios-dir: EXTRAVERSION=XXX

Limit it to the one that needs the environment variable -- seabios or
ipxe.

___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] tools/firmware: pass EXTRAVERSION to seabios build

2017-05-30 Thread Olaf Hering
On Tue, May 30, Wei Liu wrote:

> In that case, can you confine such hackery to be seabios only?

Is it worth the hassle? It seems only ipxe would recognize the
EXTRAVERSION. And how would I actually limit it to seabios? Something
like "make $(filter-out subdir-seabios-dir, subdirs-$@)"?

Olaf


signature.asc
Description: PGP signature
___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] tools/firmware: pass EXTRAVERSION to seabios build

2017-05-30 Thread Wei Liu
On Tue, May 30, 2017 at 02:25:11PM +0200, Olaf Hering wrote:
> On Tue, May 30, Wei Liu wrote:
> 
> > What I meant was: this is passing EXTRAVERSION to all subdir targets,
> > which seems unnecessary to me. And you already specified a version
> > string for seabios.
> 
> True, but scripts/buildversion.py insists on --extra 'whatever'.
> 

In that case, can you confine such hackery to be seabios only?

> Olaf



___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] tools/firmware: pass EXTRAVERSION to seabios build

2017-05-30 Thread Olaf Hering
On Tue, May 30, Wei Liu wrote:

> What I meant was: this is passing EXTRAVERSION to all subdir targets,
> which seems unnecessary to me. And you already specified a version
> string for seabios.

True, but scripts/buildversion.py insists on --extra 'whatever'.

Olaf


signature.asc
Description: PGP signature
___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] tools/firmware: pass EXTRAVERSION to seabios build

2017-05-30 Thread Wei Liu
On Tue, May 30, 2017 at 12:33:15PM +0100, Wei Liu wrote:
> On Mon, May 29, 2017 at 09:57:58AM +0200, Olaf Hering wrote:
> > On Fri, May 26, Ian Jackson wrote:
> > 
> > > This seems like a real problem which should be improved.  But maybe we
> > > should use Xen's EXTRAVERSION by default ?
> > 
> > After thinking about it, why does the tools build not just enforce a
> > fixed string? There is no point for scripts/buildversion.py to put
> > current time and buildhost into the binary. This breaks reproducible
> > builds. A simple, untested change like this should be enough:
> > 
> > diff --git a/tools/firmware/Makefile b/tools/firmware/Makefile
> > index 8562f547bc..c2b5985dc7 100644
> > --- a/tools/firmware/Makefile
> > +++ b/tools/firmware/Makefile
> > @@ -22,6 +22,8 @@ ovmf-dir:
> >  seabios-dir:
> > GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh $(SEABIOS_UPSTREAM_URL) 
> > $(SEABIOS_UPSTREAM_REVISION) seabios-dir
> > cp seabios-config seabios-dir/.config;
> > +   rm -f seabios-dir/.version
> > +   echo '$(SEABIOS_UPSTREAM_REVISION)' > seabios-dir/.version
> 
> Please consider adding a comment before this snippet saying this is for
> reproducible build.
> 
> > $(MAKE) -C seabios-dir olddefconfig
> >  
> >  .PHONY: all
> > @@ -35,7 +37,7 @@ ifeq ($(CONFIG_ROMBIOS),y)
> > false ; \
> > fi
> >  endif
> > -   $(MAKE) $(LD32BIT-y) CC=$(CC) PYTHON=$(PYTHON) subdirs-$@
> > +   $(MAKE) $(LD32BIT-y) CC=$(CC) PYTHON=$(PYTHON) EXTRAVERSION="-Xen" 
> > subdirs-$@
> 
> Why is this needed?
> 

What I meant was: this is passing EXTRAVERSION to all subdir targets,
which seems unnecessary to me. And you already specified a version
string for seabios.

___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] tools/firmware: pass EXTRAVERSION to seabios build

2017-05-30 Thread Wei Liu
On Mon, May 29, 2017 at 09:57:58AM +0200, Olaf Hering wrote:
> On Fri, May 26, Ian Jackson wrote:
> 
> > This seems like a real problem which should be improved.  But maybe we
> > should use Xen's EXTRAVERSION by default ?
> 
> After thinking about it, why does the tools build not just enforce a
> fixed string? There is no point for scripts/buildversion.py to put
> current time and buildhost into the binary. This breaks reproducible
> builds. A simple, untested change like this should be enough:
> 
> diff --git a/tools/firmware/Makefile b/tools/firmware/Makefile
> index 8562f547bc..c2b5985dc7 100644
> --- a/tools/firmware/Makefile
> +++ b/tools/firmware/Makefile
> @@ -22,6 +22,8 @@ ovmf-dir:
>  seabios-dir:
>   GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh $(SEABIOS_UPSTREAM_URL) 
> $(SEABIOS_UPSTREAM_REVISION) seabios-dir
>   cp seabios-config seabios-dir/.config;
> + rm -f seabios-dir/.version
> + echo '$(SEABIOS_UPSTREAM_REVISION)' > seabios-dir/.version

Please consider adding a comment before this snippet saying this is for
reproducible build.

>   $(MAKE) -C seabios-dir olddefconfig
>  
>  .PHONY: all
> @@ -35,7 +37,7 @@ ifeq ($(CONFIG_ROMBIOS),y)
>   false ; \
>   fi
>  endif
> - $(MAKE) $(LD32BIT-y) CC=$(CC) PYTHON=$(PYTHON) subdirs-$@
> + $(MAKE) $(LD32BIT-y) CC=$(CC) PYTHON=$(PYTHON) EXTRAVERSION="-Xen" 
> subdirs-$@

Why is this needed?

>  
>  
>  .PHONY: install
> 
> Olaf



___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] tools/firmware: pass EXTRAVERSION to seabios build

2017-05-29 Thread Olaf Hering
On Fri, May 26, Ian Jackson wrote:

> This seems like a real problem which should be improved.  But maybe we
> should use Xen's EXTRAVERSION by default ?

After thinking about it, why does the tools build not just enforce a
fixed string? There is no point for scripts/buildversion.py to put
current time and buildhost into the binary. This breaks reproducible
builds. A simple, untested change like this should be enough:

diff --git a/tools/firmware/Makefile b/tools/firmware/Makefile
index 8562f547bc..c2b5985dc7 100644
--- a/tools/firmware/Makefile
+++ b/tools/firmware/Makefile
@@ -22,6 +22,8 @@ ovmf-dir:
 seabios-dir:
GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh $(SEABIOS_UPSTREAM_URL) 
$(SEABIOS_UPSTREAM_REVISION) seabios-dir
cp seabios-config seabios-dir/.config;
+   rm -f seabios-dir/.version
+   echo '$(SEABIOS_UPSTREAM_REVISION)' > seabios-dir/.version
$(MAKE) -C seabios-dir olddefconfig
 
 .PHONY: all
@@ -35,7 +37,7 @@ ifeq ($(CONFIG_ROMBIOS),y)
false ; \
fi
 endif
-   $(MAKE) $(LD32BIT-y) CC=$(CC) PYTHON=$(PYTHON) subdirs-$@
+   $(MAKE) $(LD32BIT-y) CC=$(CC) PYTHON=$(PYTHON) EXTRAVERSION="-Xen" 
subdirs-$@
 
 
 .PHONY: install

Olaf


signature.asc
Description: PGP signature
___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


[Xen-devel] [PATCH] tools/firmware: pass EXTRAVERSION to seabios build

2017-05-26 Thread Ian Jackson
Olaf Hering writes ("[PATCH] tools/firmware: pass EXTRAVERSION to seabios 
build"):
> Having a fixed version string in the seabios binary is cumbersome:
>  - it is required to write something to '.version' in the toplevel
>directory of seabios-dir-remove.
>  - it is required to pass EXTRAVERSION= to make.

I can't quite parse this, but:

> The latter is impossible without this change. For some reason an 'export
> EXTRAVERSION=something' prior to 'make tools' is not sufficient. It has
> to be passed in as cmdline option to make.

This seems like a real problem which should be improved.  But maybe we
should use Xen's EXTRAVERSION by default ?

> +SEABIOS_EXTRAVERSION ?= "-prebuilt.xen.org"

I think this is a rather odd default value.  This image is precisely
not prebuild, for example.  Also I don't think a domain name is really
the right thing here.

Thanks,
Ian.

___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


[Xen-devel] [PATCH] tools/firmware: pass EXTRAVERSION to seabios build

2017-05-26 Thread Olaf Hering
Having a fixed version string in the seabios binary is cumbersome:
 - it is required to write something to '.version' in the toplevel
   directory of seabios-dir-remove.
 - it is required to pass EXTRAVERSION= to make.

The latter is impossible without this change. For some reason an 'export
EXTRAVERSION=something' prior to 'make tools' is not sufficient. It has
to be passed in as cmdline option to make.

Add a make variable SEABIOS_EXTRAVERSION= and pass it to make.
Allow changing the default via the environment.
Document the new variable in INSTALL.

Signed-off-by: Olaf Hering 
---
 INSTALL | 2 ++
 tools/firmware/Makefile | 4 +++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/INSTALL b/INSTALL
index 58359da380..96245505d7 100644
--- a/INSTALL
+++ b/INSTALL
@@ -279,6 +279,8 @@ CHECKPOLICY=
 Use clang instead of GCC.
 clang=y
 
+The version string of the built-in seabios can be adjusted with:
+SEABIOS_EXTRAVERSION=
 
 Systemd support
 ===
diff --git a/tools/firmware/Makefile b/tools/firmware/Makefile
index 8562f547bc..fcc9754b08 100644
--- a/tools/firmware/Makefile
+++ b/tools/firmware/Makefile
@@ -5,6 +5,8 @@ include $(XEN_ROOT)/tools/Rules.mk
 TARGET  := hvmloader/hvmloader
 INST_DIR := $(DESTDIR)$(XENFIRMWAREDIR)
 
+SEABIOS_EXTRAVERSION ?= "-prebuilt.xen.org"
+
 SUBDIRS-y :=
 SUBDIRS-$(CONFIG_OVMF) += ovmf-dir
 SUBDIRS-$(CONFIG_SEABIOS) += seabios-dir
@@ -35,7 +37,7 @@ ifeq ($(CONFIG_ROMBIOS),y)
false ; \
fi
 endif
-   $(MAKE) $(LD32BIT-y) CC=$(CC) PYTHON=$(PYTHON) subdirs-$@
+   $(MAKE) $(LD32BIT-y) CC=$(CC) PYTHON=$(PYTHON) 
EXTRAVERSION=$(SEABIOS_EXTRAVERSION) subdirs-$@
 
 
 .PHONY: install

___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel