diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2017-01-30 11:12:08 +0900 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2017-02-08 15:56:28 -0500 |
commit | d726f225f5eabc0efa1ef7006c4a6f840b28b767 (patch) | |
tree | edc752dbad179e8d6149ccca3efe00e975bf3eb5 /tools | |
parent | 61304dbec36dc445bbe7d2c19b4da0695861e0a8 (diff) | |
download | u-boot-d726f225f5eabc0efa1ef7006c4a6f840b28b767.tar.gz u-boot-d726f225f5eabc0efa1ef7006c4a6f840b28b767.tar.bz2 u-boot-d726f225f5eabc0efa1ef7006c4a6f840b28b767.zip |
cmd: rework "license" command
The previous commit ("add a new command to show .config contents")
improves the basic infrastructure of "embed a compressed file into
the U-Boot image, and print it by a command". The same pattern for
the "license" command.
This commit reworks the command to improve the following:
[1] Improve log style
Kbuild style log
GZIP cmd/license_data.gz
CHK cmd/license_data_gz.h
UPD cmd/license_data_gz.h
CHK cmd/license_data_size.h
UPD cmd/license_data_size.h
instead of the bare Make log:
cat ./Licenses/gpl-2.0.txt | gzip -9 -c | \
tools/bin2header license_gzip > ./include/license.h
[2] Collect related code into the "cmd" directory
Prior to this commit, the license.h was created by tools/Makefile,
placed under the "include" directory, included from cmd/license.c,
and deleted by the top-level Makefile. It is not a good idea to
scatter related code.
[3] Drop the fixed-malloc size LICENSE_MAX
Just allocate the minimum required size of buffer because we know
the size of the original gpl-2.0.txt.
[4] Fix more issues
Terminate the buffer with zero to prevent puts() from over-running.
Add "static" to do_license.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/Makefile | 11 | ||||
-rw-r--r-- | tools/bin2header.c | 41 |
2 files changed, 1 insertions, 51 deletions
diff --git a/tools/Makefile b/tools/Makefile index f5ac6313e1..cbccd4ab91 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -32,7 +32,6 @@ CONFIG_BUILD_ENVCRC ?= $(ENVCRC-y) hostprogs-$(CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER) += atmel_pmecc_params -hostprogs-$(CONFIG_CMD_LICENSE) += bin2header hostprogs-$(CONFIG_LCD_LOGO) += bmp_logo hostprogs-$(CONFIG_VIDEO_LOGO) += bmp_logo HOSTCFLAGS_bmp_logo.o := -pedantic @@ -233,10 +232,6 @@ endif endif # !LOGO_BMP -# Generated gziped GPL-2.0 license text -LICENSE_H = $(objtree)/include/license.h -LICENSE-$(CONFIG_CMD_LICENSE) += $(LICENSE_H) - # # Use native tools and options # Define __KERNEL_STRICT_NAMES to prevent typedef overlaps @@ -251,7 +246,7 @@ HOST_EXTRACFLAGS += -include $(srctree)/include/libfdt_env.h \ -D__KERNEL_STRICT_NAMES \ -D_GNU_SOURCE -__build: $(LOGO-y) $(LICENSE-y) +__build: $(LOGO-y) $(LOGO_H): $(obj)/bmp_logo $(LOGO_BMP) $(obj)/bmp_logo --gen-info $(LOGO_BMP) > $@ @@ -259,10 +254,6 @@ $(LOGO_H): $(obj)/bmp_logo $(LOGO_BMP) $(LOGO_DATA_H): $(obj)/bmp_logo $(LOGO_BMP) $(obj)/bmp_logo --gen-data $(LOGO_BMP) > $@ -$(LICENSE_H): $(obj)/bin2header $(srctree)/Licenses/gpl-2.0.txt - cat $(srctree)/Licenses/gpl-2.0.txt | gzip -9 -c | \ - $(obj)/bin2header license_gzip > $(LICENSE_H) - # Let clean descend into subdirs subdir- += env diff --git a/tools/bin2header.c b/tools/bin2header.c deleted file mode 100644 index 6c2c23f624..0000000000 --- a/tools/bin2header.c +++ /dev/null @@ -1,41 +0,0 @@ -/* bin2header.c - program to convert binary file into a C structure - * definition to be included in a header file. - * - * (C) Copyright 2008 by Harald Welte <laforge@openmoko.org> - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <stdlib.h> -#include <stdio.h> -#include <unistd.h> - -int main(int argc, char **argv) -{ - if (argc < 2) { - fprintf(stderr, "%s needs one argument: the structure name\n", - argv[0]); - exit(1); - } - - printf("/* bin2header output - automatically generated */\n"); - printf("unsigned char %s[] = {\n", argv[1]); - - while (1) { - int i, nread; - unsigned char buf[10]; - nread = read(0, buf, sizeof(buf)); - if (nread <= 0) - break; - - printf("\t"); - for (i = 0; i < nread - 1; i++) - printf("0x%02x, ", buf[i]); - - printf("0x%02x,\n", buf[nread-1]); - } - - printf("};\n"); - - exit(0); -} |