On Thu, Jun 04, 2015 at 01:25:52AM +0200, Alexander Couzens wrote:
> Sorry for the noise, I missed the last patch from Gerd Hoffmann
> build: add opt-out for timestamp and hostname.
> 
> Please ignore mine if we are merging that one.

Gerd, it doesn't look like you pushed your "add opt-out" patch.  Are
you okay with the patch below instead?  It supports a "make
VERSION=xyz" build option that gives the user explicit control of the
contents of the version string.

-Kevin


commit 624e812764beda88b47c0018b1cee3b86d5c59eb
Author: Kevin O'Connor <[email protected]>
Date:   Wed Jun 3 19:17:12 2015 -0400

    build: Support "make VERSION=xyz" to override the default build version
    
    Add a build option to explicitly set the version information compiled
    into the seabios and seavgabios binaries.  This may assist in
    reproducible builds or to better link builds to distribution packages.
    If the new "VERSION=" parameter is not provided then the default build
    version remains unchanged.
    
    Signed-off-by: Kevin O'Connor <[email protected]>

diff --git a/Makefile b/Makefile
index 96aec48..f97b1bd 100644
--- a/Makefile
+++ b/Makefile
@@ -155,7 +155,7 @@ $(OUT)romlayout.o: src/romlayout.S $(OUT)autoconf.h 
$(OUT)asm-offsets.h
 
 $(OUT)romlayout16.lds: $(OUT)ccode32flat.o $(OUT)code32seg.o $(OUT)ccode16.o 
$(OUT)romlayout.o scripts/layoutrom.py scripts/buildversion.sh
        @echo "  Building ld scripts"
-       $(Q)./scripts/buildversion.sh $(OUT)version.c
+       $(Q)BUILD_VERSION="$(VERSION)" ./scripts/buildversion.sh $(OUT)version.c
        $(Q)$(CC) $(CFLAGS32FLAT) -c $(OUT)version.c -o $(OUT)version.o
        $(Q)$(LD) $(LD32BIT_FLAG) -r $(OUT)ccode32flat.o $(OUT)version.o -o 
$(OUT)code32flat.o
        $(Q)$(LD) $(LD32BIT_FLAG) -r $(OUT)ccode16.o $(OUT)romlayout.o -o 
$(OUT)code16.o
@@ -227,7 +227,7 @@ $(OUT)vgaentry.o: vgasrc/vgaentry.S $(OUT)autoconf.h 
$(OUT)asm-offsets.h
 
 $(OUT)vgarom.o: $(OUT)vgaccode16.o $(OUT)vgaentry.o $(OUT)vgasrc/vgalayout.lds 
scripts/buildversion.sh
        @echo "  Linking $@"
-       $(Q)./scripts/buildversion.sh $(OUT)vgaversion.c VAR16
+       $(Q)BUILD_VERSION="$(VERSION)" ./scripts/buildversion.sh 
$(OUT)vgaversion.c VAR16
        $(Q)$(CC) $(CFLAGS16) -c $(OUT)vgaversion.c -o $(OUT)vgaversion.o
        $(Q)$(LD) --gc-sections -T $(OUT)vgasrc/vgalayout.lds 
$(OUT)vgaccode16.o $(OUT)vgaentry.o $(OUT)vgaversion.o -o $@
 
diff --git a/scripts/buildversion.sh b/scripts/buildversion.sh
index e5ce96c..516aff5 100755
--- a/scripts/buildversion.sh
+++ b/scripts/buildversion.sh
@@ -4,14 +4,18 @@ OUTFILE="$1"
 VAR16MODE="$2"
 
 # Extract version info
-if [ -d .git -o -f .git ]; then
-    VERSION="`git describe --tags --long --dirty`"
-elif [ -f .version ]; then
-    VERSION="`cat .version`"
+if [ -z "$BUILD_VERSION" ]; then
+    if [ -d .git -o -f .git ]; then
+        VERSION="`git describe --tags --long --dirty`"
+    elif [ -f .version ]; then
+        VERSION="`cat .version`"
+    else
+        VERSION="?"
+    fi
+    VERSION="${VERSION}-`date +"%Y%m%d_%H%M%S"`-`hostname`"
 else
-    VERSION="?"
+    VERSION="$BUILD_VERSION"
 fi
-VERSION="${VERSION}-`date +"%Y%m%d_%H%M%S"`-`hostname`"
 echo "Version: ${VERSION}"
 
 # Build header file

_______________________________________________
SeaBIOS mailing list
[email protected]
http://www.seabios.org/mailman/listinfo/seabios

Reply via email to