mirror of https://github.com/ipxe/ipxe.git
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> |
||
---|---|---|
.. | ||
arch | ||
bin | ||
config | ||
core | ||
crypto | ||
doc | ||
drivers | ||
hci | ||
image | ||
include | ||
interface | ||
libgcc | ||
net | ||
scripts | ||
tests | ||
usr | ||
util | ||
.gitignore | ||
Makefile | ||
Makefile.efi | ||
Makefile.housekeeping | ||
Makefile.linux | ||
doxygen.cfg |