[OpenWrt-Devel] [PATCH] x86: generate reproducible UUID

Yousong Zhou yszhou4tech at gmail.com
Sun Nov 3 23:02:07 EST 2019


On Mon, 4 Nov 2019 at 07:47, Paul Spooren <mail at aparcar.org> wrote:
>
> This commit changes the behaviour of UUID generation. Instead of using
> the rand module of perl, generating a random UUID per compile, it now
> hashes the SOURCE_DATE_EPOCH, resulting in a reproducible UUID.
>
> Signed-off-by: Paul Spooren <mail at aparcar.org>
> ---
>  target/linux/x86/image/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile
> index ac70e771c8..68c2bee9d4 100644
> --- a/target/linux/x86/image/Makefile
> +++ b/target/linux/x86/image/Makefile
> @@ -40,7 +40,7 @@ ifneq ($(GRUB_TERMINALS),)
>    GRUB_TERMINAL_CONFIG := terminal_input $(GRUB_TERMINALS); terminal_output $(GRUB_TERMINALS)
>  endif
>
> -SIGNATURE:=$(shell perl -e 'printf("%08x", rand(0xFFFFFFFF))')
> +SIGNATURE:=$(shell echo "$(SOURCE_DATE_EPOCH)" | sha256sum | cut -c 1-8 -z)

Maybe just unify with other targets should be enough.  Note that "-z"
is not supported by coreutils-8.22 cut on CentOS 7

target/linux/tegra/image/Makefile
10:SIGNATURE:=$(shell printf "%.8s" $(SOURCE_DATE_EPOCH))

target/linux/x86/image/Makefile
43:SIGNATURE:=$(shell perl -e 'printf("%08x", rand(0xFFFFFFFF))')

target/linux/mvebu/image/Makefile
16:SIGNATURE:=$(shell printf "%.8s" $(SOURCE_DATE_EPOCH))

Regards,
               yousong

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list