mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-22 19:16:32 +01:00
fix(bootstrap): fix guile-gnutls static libtool target and make init fail-safe without panic
This commit is contained in:
parent
ee0f48186e
commit
ef7127bb83
5 changed files with 39 additions and 26 deletions
|
|
@ -1,5 +1,5 @@
|
||||||
--- guile-gnutls-v5.0.1/configure.ac 2025-07-13 09:01:47
|
--- guile-gnutls-v5.0.1/configure.ac 2025-07-13 09:01:47
|
||||||
+++ guile-gnutls-v5.0.1/configure.ac 2026-02-25 20:59:39
|
+++ guile-gnutls-v5.0.1/configure.ac 2026-02-26 09:33:42
|
||||||
@@ -37,7 +37,7 @@
|
@@ -37,7 +37,7 @@
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
AC_PROG_CPP
|
AC_PROG_CPP
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
AM_CONDITIONAL([CROSS_COMPILING], [test "x$cross_compiling" = "xyes"])
|
AM_CONDITIONAL([CROSS_COMPILING], [test "x$cross_compiling" = "xyes"])
|
||||||
AM_CONDITIONAL(HAVE_GCC_GNU89_INLINE_OPTION, test "$gnu89_inline" = "yes"])
|
AM_CONDITIONAL(HAVE_GCC_GNU89_INLINE_OPTION, test "$gnu89_inline" = "yes"])
|
||||||
--- guile-gnutls-v5.0.1/guile/Makefile.am 2025-07-13 09:01:47
|
--- guile-gnutls-v5.0.1/guile/Makefile.am 2025-07-13 09:01:47
|
||||||
+++ guile-gnutls-v5.0.1/guile/Makefile.am 2026-02-25 20:59:39
|
+++ guile-gnutls-v5.0.1/guile/Makefile.am 2026-02-26 09:33:42
|
||||||
@@ -46,6 +46,7 @@
|
@@ -46,6 +46,7 @@
|
||||||
.in.scm:
|
.in.scm:
|
||||||
$(AM_V_GEN)$(MKDIR_P) "`dirname "$@"`" ; cat "$^" | \
|
$(AM_V_GEN)$(MKDIR_P) "`dirname "$@"`" ; cat "$^" | \
|
||||||
|
|
@ -49,7 +49,7 @@
|
||||||
# Make sure 'gnutls.scm' is built first.
|
# Make sure 'gnutls.scm' is built first.
|
||||||
# Unset 'GUILE_LOAD_COMPILED_PATH' so we can be sure that any .go file that we
|
# Unset 'GUILE_LOAD_COMPILED_PATH' so we can be sure that any .go file that we
|
||||||
--- guile-gnutls-v5.0.1/guile/modules/gnutls.in 2025-07-13 09:01:47
|
--- guile-gnutls-v5.0.1/guile/modules/gnutls.in 2025-07-13 09:01:47
|
||||||
+++ guile-gnutls-v5.0.1/guile/modules/gnutls.in 2026-02-25 20:59:39
|
+++ guile-gnutls-v5.0.1/guile/modules/gnutls.in 2026-02-26 09:33:43
|
||||||
@@ -817,7 +817,8 @@
|
@@ -817,7 +817,8 @@
|
||||||
;; save 'extensiondir' only if it's different from what Guile expects.
|
;; save 'extensiondir' only if it's different from what Guile expects.
|
||||||
@maybe_guileextensiondir@))
|
@maybe_guileextensiondir@))
|
||||||
|
|
@ -71,20 +71,14 @@
|
||||||
(set! protocol/ssl-3 protocol/ssl3)
|
(set! protocol/ssl-3 protocol/ssl3)
|
||||||
(set! protocol/tls-1.0 protocol/tls1-0)
|
(set! protocol/tls-1.0 protocol/tls1-0)
|
||||||
--- guile-gnutls-v5.0.1/guile/src/Makefile.am 2025-07-13 09:01:47
|
--- guile-gnutls-v5.0.1/guile/src/Makefile.am 2025-07-13 09:01:47
|
||||||
+++ guile-gnutls-v5.0.1/guile/src/Makefile.am 2026-02-25 20:59:39
|
+++ guile-gnutls-v5.0.1/guile/src/Makefile.am 2026-02-26 09:33:43
|
||||||
@@ -35,12 +35,17 @@
|
@@ -40,7 +40,11 @@
|
||||||
|
|
||||||
CLEANFILES = $(BUILT_SOURCES)
|
|
||||||
|
|
||||||
+if BUILD_SHARED
|
|
||||||
guileextension_LTLIBRARIES = guile-gnutls-v-2.la
|
|
||||||
|
|
||||||
# Use '-module' to build a "dlopenable module", in Libtool terms.
|
# Use '-module' to build a "dlopenable module", in Libtool terms.
|
||||||
# Use '-undefined' to placate Libtool on Windows; see
|
# Use '-undefined' to placate Libtool on Windows; see
|
||||||
# <https://lists.gnutls.org/pipermail/gnutls-devel/2014-December/007294.html>.
|
# <https://lists.gnutls.org/pipermail/gnutls-devel/2014-December/007294.html>.
|
||||||
|
+if BUILD_SHARED
|
||||||
guile_gnutls_v_2_la_LDFLAGS = -module -no-undefined
|
guile_gnutls_v_2_la_LDFLAGS = -module -no-undefined
|
||||||
+else
|
+else
|
||||||
+noinst_LTLIBRARIES = guile-gnutls-v-2.la
|
|
||||||
+guile_gnutls_v_2_la_LDFLAGS = -all-static -no-undefined
|
+guile_gnutls_v_2_la_LDFLAGS = -all-static -no-undefined
|
||||||
+endif
|
+endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,10 @@ build: cmake-4.2.3
|
||||||
build: libgit2-1.9.2
|
build: libgit2-1.9.2
|
||||||
build: nettle-3.10.2
|
build: nettle-3.10.2
|
||||||
build: libtasn1-v4.21.0
|
build: libtasn1-v4.21.0
|
||||||
build: gnutls-3.8.0
|
build: gnutls-3.8.12
|
||||||
build: guile-gnutls-v5.0.1
|
build: guile-gnutls-v5.0.1
|
||||||
|
# build: unzip-6.0
|
||||||
|
# build: sqlite-3510200
|
||||||
|
# build: guile-sqlite3-0.1.3
|
||||||
|
|
||||||
improve: after
|
improve: after
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,28 @@ cd /steps
|
||||||
. ./bootstrap.cfg
|
. ./bootstrap.cfg
|
||||||
. ./env
|
. ./env
|
||||||
. ./helpers.sh
|
. ./helpers.sh
|
||||||
trap 'env PATH=${PREFIX}/bin PS1="[TRAP] \w # " bash -i' ERR
|
|
||||||
|
shutdown_system() {
|
||||||
|
status="${1:-0}"
|
||||||
|
echo "init: shutting down (status=${status})" >&2
|
||||||
|
# ignore errors due to fstab or swapfile not existing
|
||||||
|
swapoff -a &> /dev/null || true
|
||||||
|
sync
|
||||||
|
# sysrq to avoid device busy; then mount to wait for it to finish
|
||||||
|
echo u > /proc/sysrq-trigger
|
||||||
|
mount -o remount,ro / || true
|
||||||
|
echo o > /proc/sysrq-trigger # power off
|
||||||
|
while true; do sleep 1; done
|
||||||
|
}
|
||||||
|
|
||||||
|
on_error() {
|
||||||
|
status=$?
|
||||||
|
trap - ERR
|
||||||
|
echo "init: error detected, aborting bootstrap path." >&2
|
||||||
|
shutdown_system "${status}"
|
||||||
|
}
|
||||||
|
|
||||||
|
trap 'on_error' ERR
|
||||||
|
|
||||||
setup_kernel_devices() {
|
setup_kernel_devices() {
|
||||||
mount | grep ' on /dev ' &> /dev/null || (mkdir -p /dev; mount -t devtmpfs devtmpfs /dev)
|
mount | grep ' on /dev ' &> /dev/null || (mkdir -p /dev; mount -t devtmpfs devtmpfs /dev)
|
||||||
|
|
@ -77,7 +98,7 @@ verify_kernel_devices() {
|
||||||
setup_kernel_devices
|
setup_kernel_devices
|
||||||
verify_kernel_devices || {
|
verify_kernel_devices || {
|
||||||
echo "Kernel device setup verification failed." >&2
|
echo "Kernel device setup verification failed." >&2
|
||||||
exit 1
|
shutdown_system 1
|
||||||
}
|
}
|
||||||
|
|
||||||
if test -f /swapfile; then
|
if test -f /swapfile; then
|
||||||
|
|
@ -97,7 +118,7 @@ run_steps_guix_if_requested() {
|
||||||
fi
|
fi
|
||||||
if [ ! -f /steps-guix/manifest ]; then
|
if [ ! -f /steps-guix/manifest ]; then
|
||||||
echo "BUILD_GUIX_ALSO is True but /steps-guix/manifest is missing." >&2
|
echo "BUILD_GUIX_ALSO is True but /steps-guix/manifest is missing." >&2
|
||||||
exit 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sed -i '/^BUILD_GUIX_ALSO=/d' /steps/bootstrap.cfg
|
sed -i '/^BUILD_GUIX_ALSO=/d' /steps/bootstrap.cfg
|
||||||
|
|
@ -105,10 +126,12 @@ run_steps_guix_if_requested() {
|
||||||
|
|
||||||
/script-generator /steps-guix/manifest /steps
|
/script-generator /steps-guix/manifest /steps
|
||||||
bash /steps-guix/0.sh
|
bash /steps-guix/0.sh
|
||||||
return 0
|
return $?
|
||||||
}
|
}
|
||||||
|
|
||||||
run_steps_guix_if_requested || true
|
if [ "${BUILD_GUIX_ALSO}" = True ]; then
|
||||||
|
run_steps_guix_if_requested || shutdown_system $?
|
||||||
|
fi
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -123,14 +146,7 @@ else
|
||||||
env - PATH=${PREFIX}/bin PS1="\w # " setsid openvt -fec1 -- bash -i
|
env - PATH=${PREFIX}/bin PS1="\w # " setsid openvt -fec1 -- bash -i
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ignore errors due to fstab or swapfile not existing
|
shutdown_system 0
|
||||||
swapoff -a &> /dev/null || true
|
|
||||||
sync
|
|
||||||
# sysrq to avoid device busy; then mount to wait for it to finish
|
|
||||||
echo u > /proc/sysrq-trigger
|
|
||||||
mount -o remount,ro /
|
|
||||||
echo o > /proc/sysrq-trigger # power off
|
|
||||||
while true; do sleep 1; done
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
chmod +x /init
|
chmod +x /init
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue