From 3c9bf3aff30f02c7d31bd86f36c4db2520f8ffa4 Mon Sep 17 00:00:00 2001
From: Mohammad Akhlaghi <mohammad@akhlaghi.org>
Date: Fri, 3 May 2024 13:07:41 +0200
Subject: Configuration: no dependency on /bin/sh and useful run-time options

SUMMARY: no change necessary in your project, this commit only involves
changes in how already-existing software are built. Some handy options have
also been added to the top-level project script and the copyright years
have been updated.

Until now, if the host's '/bin/sh' had conflicts with the Maneage
environment, the configuration of Maneage would crash as soon as we entered
the building of high-level software. The full scenario is described in the
comments of the newly added 'reproduce/software/shell/prep-source.sh'. This
is most relevant when building older Maneage'd project in newer
environments.

With this commit, the following changes were made to avoid the problem
above:

  - Maneage edits the source code of all installed software to replace
    '/bin/sh' with Maneage's own shell before the programs are
    built. Through this, we were able to solve the problem described
    above.

  - The portable '#!/usr/bin/env sh' shebangs are now used at the start of
    the scripts that run during configure time so it uses the first
    available shell that it finds in its PATH (the system's before Dash is
    built), then Dash, and after Dash is built, Bash.

  - For TeXLive, since we don't install it from source, it was necessary to
    add the libraries necessary for the local '/bin/sh' in LD_LIBRARY_PATH.

Some high-level options have been added to the './project' script to
simplify certain operations:

  --keep-going: do not stop upon the first crash, but keep going on to
    build targets until all build-able targets have been built. This is
    very useful for debugging large pipelines and allows you to isolate the
    problematic part of your project.

  --highlight-all: equivalent to calling both '--highlight-new' &
    '--highlight-notes'.
---
 tex/src/preamble-maneage.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'tex/src/preamble-maneage.tex')

diff --git a/tex/src/preamble-maneage.tex b/tex/src/preamble-maneage.tex
index 5dc89fe..9e6cc5a 100644
--- a/tex/src/preamble-maneage.tex
+++ b/tex/src/preamble-maneage.tex
@@ -1,6 +1,6 @@
 %% Preamble for Maneage-related features.
 %
-%% Copyright (C) 2020-2023 Mohammad Akhlaghi <mohammad@akhlaghi.org>
+%% Copyright (C) 2020-2025 Mohammad Akhlaghi <mohammad@akhlaghi.org>
 %
 %% This LaTeX file is part of Maneage. Maneage is free software: you can
 %% redistribute it and/or modify it under the terms of the GNU General
-- 
cgit v1.2.1

