Skip to content
Snippets Groups Projects
  • Jakub Jelinek's avatar
    701e1b94
    gotools: Workaround non-reproduceability of automake · 701e1b94
    Jakub Jelinek authored
    The regen bot recently flagged a difference in gotools/Makefile.in.
    Trying it locally, it seems pretty random
    for i in `seq 20`; do PATH=~/automake-1.15.1/bin:~/autoconf-2.69/bin:$PATH automake; echo -n `git diff Makefile.in | wc -l`" "; done; echo; for i in `seq 20`; do
    +PATH=~/automake-1.15.1/bin:~/autoconf-2.69/bin:$PATH setarch x86_64 -R automake; echo -n `git diff Makefile.in | wc -l`" "; done; echo;
    14 14 14 0 0 0 14 0 14 0 14 14 14 14 0 14 14 0 0 0
    14 0 14 0 0 14 14 14 0 14 14 0 0 14 14 14 0 0 0 14
    The 14 line git diff is
    diff --git a/gotools/Makefile.in b/gotools/Makefile.in
    index 36c2ec2abd3..f40883c39be 100644
    --- a/gotools/Makefile.in
    +++ b/gotools/Makefile.in
    @@ -704,8 +704,8 @@ distclean-generic:
     maintainer-clean-generic:
            @echo "This command is intended for maintainers to use"
            @echo "it deletes files that may require special tools to rebuild."
    -@NATIVE_FALSE@install-exec-local:
     @NATIVE_FALSE@uninstall-local:
    +@NATIVE_FALSE@install-exec-local:
     clean: clean-am
    
     clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \
    so whether it is
    @NATIVE_FALSE@install-exec-local:
    @NATIVE_FALSE@uninstall-local:
    or
    @NATIVE_FALSE@uninstall-local:
    @NATIVE_FALSE@install-exec-local:
    depends on some hash table traversal or what.
    
    I'm not familiar with automake/m4 enough to debug that, so I'm
    instead offering a workaround, with this patch the order is deterministic.
    
    2024-04-15  Jakub Jelinek  <jakub@redhat.com>
    
    	* Makefile.am (install-exec-local, uninstall-local): Add goals
    	on the else branch of if NATIVE to ensure reproducibility.
    	* Makefile.in: Regenerate.
    701e1b94
    History
    gotools: Workaround non-reproduceability of automake
    Jakub Jelinek authored
    The regen bot recently flagged a difference in gotools/Makefile.in.
    Trying it locally, it seems pretty random
    for i in `seq 20`; do PATH=~/automake-1.15.1/bin:~/autoconf-2.69/bin:$PATH automake; echo -n `git diff Makefile.in | wc -l`" "; done; echo; for i in `seq 20`; do
    +PATH=~/automake-1.15.1/bin:~/autoconf-2.69/bin:$PATH setarch x86_64 -R automake; echo -n `git diff Makefile.in | wc -l`" "; done; echo;
    14 14 14 0 0 0 14 0 14 0 14 14 14 14 0 14 14 0 0 0
    14 0 14 0 0 14 14 14 0 14 14 0 0 14 14 14 0 0 0 14
    The 14 line git diff is
    diff --git a/gotools/Makefile.in b/gotools/Makefile.in
    index 36c2ec2abd3..f40883c39be 100644
    --- a/gotools/Makefile.in
    +++ b/gotools/Makefile.in
    @@ -704,8 +704,8 @@ distclean-generic:
     maintainer-clean-generic:
            @echo "This command is intended for maintainers to use"
            @echo "it deletes files that may require special tools to rebuild."
    -@NATIVE_FALSE@install-exec-local:
     @NATIVE_FALSE@uninstall-local:
    +@NATIVE_FALSE@install-exec-local:
     clean: clean-am
    
     clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \
    so whether it is
    @NATIVE_FALSE@install-exec-local:
    @NATIVE_FALSE@uninstall-local:
    or
    @NATIVE_FALSE@uninstall-local:
    @NATIVE_FALSE@install-exec-local:
    depends on some hash table traversal or what.
    
    I'm not familiar with automake/m4 enough to debug that, so I'm
    instead offering a workaround, with this patch the order is deterministic.
    
    2024-04-15  Jakub Jelinek  <jakub@redhat.com>
    
    	* Makefile.am (install-exec-local, uninstall-local): Add goals
    	on the else branch of if NATIVE to ensure reproducibility.
    	* Makefile.in: Regenerate.
Makefile.in 42.06 KiB