[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gnulib is no longer an hg subrepo
From: |
Markus Mützel |
Subject: |
Re: gnulib is no longer an hg subrepo |
Date: |
Sun, 26 Jan 2020 19:52:55 +0100 |
Am 26. Januar 2020 um 18:05 Uhr schrieb "John W. Eaton":
> I removed the gnulib directories from the source trees on the buildbot
> systems that I manage. I think they should work now. I also restarted
> the buildbot worker process on three of the four systems I manage. I
> think they were disabled after recent upgrades. Things should be back
> to normal soon.
Thanks!
> To make updating gnulib easier for us, I think we will need to come up
> with some solution in the bootstrap script so that it will automatically
> fetch new changes for gnulib. Otherwise, we will have to manually
> update the gnulib sources when we change GNULIB_REVISION in
> bootstrap.conf. This will require some coordination with the gnulib
> folks. I looked at it but couldn't decide the right thing to do. I
> might be wrong, but it looks like the update will already happen if
> gnulib is a git subrepo. Otherwise, fetching new changes doesn't
> happen. Should that always happen, even if the GNULIB_SRCDIR is set?
> Should a failed fetch be fatal by default? Maybe you are not on the
> network or don't have permission to write to a shared gnulib source
> tree. If it is fatal by default, then there should probably be an
> option to allow skipping that step. Too many twists and turns. I gave
> up. Would someone like to take up this cause and try to make bootstrap
> do the right thing for us?
Would this change help?
# HG changeset patch
# User Markus Mützel <address@hidden>
# Date 1580064128 -3600
# Sun Jan 26 19:42:08 2020 +0100
# Node ID b08a376fb1c4cd1af470dcce467a7276813da234
# Parent e6482c932d4bc097050f5fb2e4e5ffd98a5581df
bootstrap: Pull from remote git if $GNULIB_REVISION doesn't exist in local git.
diff -r e6482c932d4b -r b08a376fb1c4 bootstrap
--- a/bootstrap Sun Jan 26 17:00:05 2020 +0100
+++ b/bootstrap Sun Jan 26 19:42:08 2020 +0100
@@ -670,6 +670,9 @@
|| cleanup_gnulib
trap - 1 2 13 15
+
+ elif ! git --git-dir="$gnulib_path"/.git cat-file commit
"$GNULIB_REVISION"; then
+ git --git-dir="$gnulib_path"/.git pull
fi
GNULIB_SRCDIR=$gnulib_path
;;
This only executes if the package is not in a GIT repository (which is the case
for Octave) and the "gnulib" sub-directory already exists.
It assumes that $gnulib_path (i.e. the "gnulib" sub-directory) is a GIT
repository and pulls from remote if the specific commit cannot be found in the
local repository.
This only happens if GNULIB_SRCDIR is not previously set.
Is this what we want?
Markus