poke-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bootstrap bug fix


From: Luca Saiu
Subject: bootstrap bug fix
Date: Tue, 18 Jan 2022 21:13:59 +0100
User-agent: Gnus (Gnus v5.13), GNU Emacs 28.0.50, x86_64-pc-linux-gnu

Hello.

I noticed that when bootstrapping poke using --no-git --jitter-srcdir
poke's bootstrap script *requires* --gnulib-srcdir , but then uses the
given directory only for bootstrapping poke, ignoring it for Jitter.

This patch fixes the anomaly, and adds a few forgotten quotations.

Is this reasonable for master?

-- 
Luca Saiu
* My personal web site:  http://ageinghacker.net
* GNU Jitter:            https://www.gnu.org/software/jitter
* GNU epsilon:           https://www.gnu.org/software/epsilon

I support everyone's freedom of mocking any opinion or belief, no
matter how deeply held, with open disrespect and the same unrelented
enthusiasm of a toddler who has just learned the word "poo".
diff --git a/ChangeLog b/ChangeLog
index 9465f28e..5b8c4609 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2022-01-18  Luca Saiu  <positron@gnu.org>
+
+       * bootstrap.conf (bootstrap_post_import_hook): Use the specified
+       --gnulib-srcdir for boostrapping Jitter as well: redefine
+       GNULIB_SRCDIR to be an absolute path, then cd to the Jitter source
+       directory and pass Gnulib's absolute path to Jitter's bootstrap
+       script; do not rely on a hardwired --gnulib-srcdir=../gnulib .
+       (bootstrap_post_import_hook): Add missing quotations when
+       expanding GNULIB_SRCDIR and JITTER_SRCDIR.
+       * etc/hacking.org: Documentation: describe --jitter-srcdir=... in
+       a correct context, also passing --gnulib-srcdir=... as required.
+
 2022-01-18  Jose E. Marchesi  <jemarch@gnu.org>
 
        * testsuite/lib/poke-dg.exp (dg-require): Refer to etc/hacking.org
diff --git a/bootstrap.conf b/bootstrap.conf
index 6a201f25..2ea3404e 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -215,13 +215,13 @@ bootstrap_post_import_hook ()
     || die "Error: --no-git requires --jitter-srcdir"
 
   # create INSTALL.generic file
-  ${GNULIB_SRCDIR}/gnulib-tool --copy-file doc/INSTALL INSTALL.generic
+  "${GNULIB_SRCDIR}"/gnulib-tool --copy-file doc/INSTALL INSTALL.generic
 
   # create gl-libpoke
-  ${GNULIB_SRCDIR}/gnulib-tool --import --lib=libgnu --source-base=gl-libpoke 
--m4-base=m4/libpoke --doc-base=doc --aux-dir=build-aux 
--no-conditional-dependencies --libtool --without-tests --macro-prefix=libpoke 
${libpoke_modules}
+  "${GNULIB_SRCDIR}"/gnulib-tool --import --lib=libgnu 
--source-base=gl-libpoke --m4-base=m4/libpoke --doc-base=doc 
--aux-dir=build-aux --no-conditional-dependencies --libtool --without-tests 
--macro-prefix=libpoke ${libpoke_modules}
 
   # create gl-gui
-  ${GNULIB_SRCDIR}/gnulib-tool --import --lib=libgnu --source-base=gl-gui 
--m4-base=m4/gui --doc-base=doc --aux-dir=build-aux 
--no-conditional-dependencies --libtool --without-tests --macro-prefix=gui 
${gui_modules}
+  "${GNULIB_SRCDIR}"/gnulib-tool --import --lib=libgnu --source-base=gl-gui 
--m4-base=m4/gui --doc-base=doc --aux-dir=build-aux 
--no-conditional-dependencies --libtool --without-tests --macro-prefix=gui 
${gui_modules}
 
   if $use_git && test -d .git && check_exists git; then
     echo 'Updating the Jitter submodule'
@@ -231,12 +231,18 @@ bootstrap_post_import_hook ()
 
   echo 'Bootstrapping Jitter'
   (
-    cd $JITTER_SRCDIR
-    ./bootstrap --gnulib-srcdir=../gnulib --no-git
+    # Redefine GNULIB_SRCDIR to contain an absolute path, so that it can be
+    # used in the bootstrap command line from a different directory.
+    # This trick is more portable than the GNU realpath utility.
+    GNULIB_SRCDIR=$(cd "${GNULIB_SRCDIR}"; pwd)
+    # Bootstrap Jitter from its source directory.  The script must be executed
+    # there.
+    cd "${JITTER_SRCDIR}"
+    ./bootstrap --gnulib-srcdir="${GNULIB_SRCDIR}" --no-git
   ) || exit $?
 
   echo 'Importing Autoconf macros from Jitter...'
-  cp $JITTER_SRCDIR/autoconf/jitter.m4 m4/
+  cp "${JITTER_SRCDIR}"/autoconf/jitter.m4 m4/
 
   # Copy pkg-config's pkg.m4 so that our downstream users don't need to.
   local ac_dir=`aclocal --print-ac-dir`
diff --git a/etc/hacking.org b/etc/hacking.org
index 88fcf306..0f091e81 100644
--- a/etc/hacking.org
+++ b/etc/hacking.org
@@ -299,7 +299,7 @@ Indu Bhagat             <indu.bhagat@oracle.com>
    registered as submodule reference commits, the way to invoke
    bootstrap such that it doesn't delete your changes is:
 
-   : $ ./bootstrap --skip-po --no-git --jitter-srcdir=jitter
+   : $ ./bootstrap --skip-po --no-git --gnulib-srcdir=gnulib 
--jitter-srcdir=jitter
 
 ** Gettext
 

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]