bootstrap (bash-mesboot0) and ’make release’ error

  • Done
  • quality assurance status badge
Details
2 participants
  • Jan Nieuwenhuizen
  • zimoun
Owner
unassigned
Submitted by
zimoun
Severity
normal
Z
Z
zimoun wrote on 16 Sep 2020 00:02
bootstrap (bash-mesboot0) and ’make release ’ error
(address . bug-guix@gnu.org)
86ft7izokc.fsf@gmail.com
Dear,

Reading the release document [1] and going step by step, so I start from
a fresh worktree and branch and I tweak a bit (maybe I am doing wrong)
otherwise it fails:

./bootstrap && ./configure --localstatedir=/var/
make
make GUIX_MAINTENANCE_DIRECTORY=../../maintenance update-NEWS
make doc-pot-update

then the target and the error:

Toggle snippet (17 lines)
$ make release

[...]

make[4]: Leaving directory '/home/simon/src/guix/wk/rel/po/packages'
make \
top_distdir="guix-1.0.1.22205-a8360-dirty" distdir="guix-1.0.1.22205-a8360-dirty" \
dist-info dist-hook
make[4]: Entering directory '/home/simon/src/guix/wk/rel'
GEN gen-ChangeLog
GEN gen-AUTHORS
echo 1.0.1.22205-a8360-dirty > "guix-1.0.1.22205-a8360-dirty/.tarball-version"
guix-1.0.1.22205-a8360-dirty/gnu/packages/commencement.scm:// /gnu/store/cq0cmv35s9dhilx14zaghlc08gpc0hwr-tcc-boot0-0.9.26-6.c004e9a/lib/libc.a: error: 'sigprocmask' defined twice
error: store file names embedded in the distribution
make[4]: *** [Makefile:6335: assert-no-store-file-names] Error 1

The checkout is based on commit a8360892d7.


On IRC [2], it rings a bell. :-) The error should come from
’bash-mesboot0’ in (gnu packages commencement) at the ’modify-phases’
[3]:

Toggle snippet (18 lines)
(add-after 'configure 'configure-fixups
(lambda _
(substitute* "config.h"
(("#define GETCWD_BROKEN 1") "#undef GETCWD_BROKEN"))
(let ((config.h (open-file "config.h" "a")))
(display (string-append "
// tcc: error: undefined symbol 'enable_hostname_completion'
#define enable_hostname_completion(on_or_off) 0

// /gnu/store/cq0cmv35s9dhilx14zaghlc08gpc0hwr-tcc-boot0-0.9.26-6.c004e9a/lib/libc.a: error: 'sigprocmask' defined twice
#define HAVE_POSIX_SIGNALS 1
#define endpwent(x) 0
")
config.h)
(close config.h))
#t))

J
J
Jan Nieuwenhuizen wrote on 16 Sep 2020 08:13
Re: bug#43435: bootstrap (bash-mesboot0) and ’m ake release’ error
(name . zimoun)(address . zimon.toutoune@gmail.com)(address . 43435@debbugs.gnu.org)
87lfhal05k.fsf@gnu.org
zimoun writes:

Hello zimoun!

Toggle quote (4 lines)
> Reading the release document [1] and going step by step, so I start from
> a fresh worktree and branch and I tweak a bit (maybe I am doing wrong)
> otherwise it fails:

[..]

Toggle quote (4 lines)
> guix-1.0.1.22205-a8360-dirty/gnu/packages/commencement.scm:// /gnu/store/cq0cmv35s9dhilx14zaghlc08gpc0hwr-tcc-boot0-0.9.26-6.c004e9a/lib/libc.a: error: 'sigprocmask' defined twice
> error: store file names embedded in the distribution
> make[4]: *** [Makefile:6335: assert-no-store-file-names] Error 1

So, this ’assert-no-store-file-names’ check in Makefile.am greps for

-E "$(storedir)/[a-z0-9]{32}-" $(distdir) ;

which is really meant for source code; to catch the use of hardcoded
store file names. Unfortunately, however ...

[..]

Toggle quote (15 lines)
> On IRC [2], it rings a bell. :-) The error should come from
> ’bash-mesboot0’ in (gnu packages commencement) at the ’modify-phases’
> [3]:
>
> (add-after 'configure 'configure-fixups
> (lambda _
> (substitute* "config.h"
> (("#define GETCWD_BROKEN 1") "#undef GETCWD_BROKEN"))
> (let ((config.h (open-file "config.h" "a")))
> (display (string-append "
> // tcc: error: undefined symbol 'enable_hostname_completion'
> #define enable_hostname_completion(on_or_off) 0
>
> // /gnu/store/cq0cmv35s9dhilx14zaghlc08gpc0hwr-tcc-boot0-0.9.26-6.c004e9a/lib/libc.a: error: 'sigprocmask' defined twice

a commented store file name was added inside a code snippet. Changing
this comment to something like

// /gnu/store/...-tcc-boot0-0.9.26-6.c004e9a/lib/libc.a: error: 'sigprocmask' defined twice

would pass the check, but this triggers a rebuld world. So I am
proposing the attached patch that breaks the comment to pass the check,
and using unquoted string-append to avoid a world rebuild.

Greetings,
Janneke
From 7256bae0eebbec22c42a482ccfdf12fd8b874188 Mon Sep 17 00:00:00 2001
From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org>
Date: Wed, 16 Sep 2020 06:57:51 +0200
Subject: [PATCH] gnu: commencement: bash-mesboot0: Break store file-name in
comment.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8

This fixes running ‘make release’.

* gnu/packages/commencement.scm (bash-mesboot0)[arguments]: Break store file
name in commend and add unquoted string-append to silence store file name
check. The store file name check is meant for code, this file name was
unfortunately used is a comment.
---
gnu/packages/commencement.scm | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

Toggle diff (28 lines)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 565799c611..8a0864f26a 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -788,14 +788,17 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(substitute* "config.h"
(("#define GETCWD_BROKEN 1") "#undef GETCWD_BROKEN"))
(let ((config.h (open-file "config.h" "a")))
- (display (string-append "
+ (display (string-append
+ ;; XXX TODO: remove nested ,(string-append ...) and
+ ;; store file name on next rebuild cycle
+ ,(string-append "
// tcc: error: undefined symbol 'enable_hostname_completion'
#define enable_hostname_completion(on_or_off) 0
-// /gnu/store/cq0cmv35s9dhilx14zaghlc08gpc0hwr-tcc-boot0-0.9.26-6.c004e9a/lib/libc.a: error: 'sigprocmask' defined twice
+// /gnu/store/" "cq0cmv35s9dhilx14zaghlc08gpc0hwr-tcc-boot0-0.9.26-6.c004e9a/lib/libc.a: error: 'sigprocmask' defined twice
#define HAVE_POSIX_SIGNALS 1
#define endpwent(x) 0
-")
+"))
config.h)
(close config.h))
#t))
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com| Avatar® http://AvatarAcademy.com
Z
Z
zimoun wrote on 16 Sep 2020 13:11
(name . Jan Nieuwenhuizen)(address . janneke@gnu.org)(address . 43435-done@debbugs.gnu.org)
87363iq8lv.fsf@gmail.com
Hi janneke,

On Wed, 16 Sep 2020 at 08:13, Jan Nieuwenhuizen <janneke@gnu.org> wrote:

Toggle quote (9 lines)
> a commented store file name was added inside a code snippet. Changing
> this comment to something like
>
> // /gnu/store/...-tcc-boot0-0.9.26-6.c004e9a/lib/libc.a: error: 'sigprocmask' defined twice
>
> would pass the check, but this triggers a rebuld world. So I am
> proposing the attached patch that breaks the comment to pass the check,
> and using unquoted string-append to avoid a world rebuild.

Thank you for explaining and the patch.

As you noticed, it seems a duplicate of bug #43005
http://issues.guix.gnu.org/issue/43005 and the fix had been pushed to
master as b85863f7ce99d05205e57358b36ff50656cca08b.

Closing.

All the best,
simon
Closed
?