mirror of https://github.com/ipxe/ipxe.git
fix build error in a shallow-cloned source tree
Cloning the repository with the --depth option is useful when you do not need the full git history, but it fails to build core/version.c $ git clone --depth 1 git://git.ipxe.org/ipxe.git $ cd ipxe/src $ make [snip] [VERSION] bin/version.ipxe.dsk.o In file included from include/ipxe/features.h:6, from core/version.c:33: <command-line>: error: unsigned conversion from ‘int’ to ‘unsigned char’ changes value from ‘9062’ to ‘102’ [-Werror=overflow] include/ipxe/dhcp.h:529:58: note: in definition of macro ‘DHCP_OPTION’ 529 | #define DHCP_OPTION( ... ) VA_ARG_COUNT ( __VA_ARGS__ ), __VA_ARGS__ | ^~~~~~~~~~~ ... A shallow-cloned repository may not have any tag at all, then it returns only a commit hash. $ git describe --tags --always --long --abbrev=1 --match "v*" 9062 In such a case, VERSION_MINOR becomes empty, causing the build error. If 'git describe' does not find any tag, let the version macros fall back to the default: VERSION_MAJOR = 1 VERSION_MINOR = 0 VERSION_PATCH = 0 EXTRAVERSION = + Setting sha1 to GITVERSION is still useful. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>pull/534/head
parent
9062544f6a
commit
37c2d10e0c
|
@ -208,8 +208,9 @@ install :
|
|||
#
|
||||
# Version number calculations
|
||||
#
|
||||
ifneq ($(wildcard ../.git),)
|
||||
VERSIONS := $(shell git describe --tags --always --long --abbrev=1 --match "v*")
|
||||
VERSIONS := $(if $(wildcard ../.git),$(shell git describe --tags --always --long --abbrev=1 --match "v*"))
|
||||
|
||||
ifneq ($(filter v%, $(VERSIONS)),)
|
||||
VERSION_TUPLE := $(subst ., ,$(subst -, ,$(patsubst v%,%,$(VERSIONS))))
|
||||
VERSION_MAJOR := $(word 1,$(VERSION_TUPLE))
|
||||
VERSION_MINOR := $(word 2,$(VERSION_TUPLE))
|
||||
|
@ -225,6 +226,7 @@ VERSION_MAJOR = 1
|
|||
VERSION_MINOR = 0
|
||||
VERSION_PATCH = 0
|
||||
EXTRAVERSION = +
|
||||
GITVERSION = $(VERSIONS)
|
||||
endif
|
||||
MM_VERSION = $(VERSION_MAJOR).$(VERSION_MINOR)
|
||||
VERSION = $(MM_VERSION).$(VERSION_PATCH)$(EXTRAVERSION)
|
||||
|
|
Loading…
Reference in New Issue