aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2020-08-13 17:33:00 +0100
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2020-08-13 17:33:00 +0100
commit9573d4e4d4754e629b73be4bd6846a049d57f427 (patch)
tree7f82ce352be52e7518b377e40904217cdd83a5ba
parent09840874c3af449032a07cac56e23a78d7e3a666 (diff)
--check-config option now prints names of last 5 installed
Until now, './project --check-config' would only print the names of the software that were being built. Besides that, it is also useful to know which packages have most recently finished. With this commit, we now print the last 5 built software packages with '--check-config' also, and the output has also been placed in a row of '='s to help separate it in each round. Also some more sanity checks have been added so it doesn't print error messages.
-rwxr-xr-xproject57
1 files changed, 54 insertions, 3 deletions
diff --git a/project b/project
index cdd0976..7368151 100755
--- a/project
+++ b/project
@@ -248,11 +248,62 @@ being built.
EOF
- # Run the infinite loop.
+ # Run the infinite loop. To be able to find the last built programs, we
+ # need to put all the Python programs and high-level program into one
+ # directory.
+ checkdir=.local/version-info/.for-check-config
while true; do
+
+ # Make sure the '.build' directory has already been created.
echo;
- echo "$(date) [[press CTRL-C to stop]]";
- ls $coloropt .build/software/build-tmp || junk=1;
+ echo "========================"
+ if [ -d .build ]; then
+ echo "$(date) [[press CTRL-C to stop]]";
+ echo "--- Currently being built:"
+ if [ -d .build/software/build-tmp ]; then
+ ls $coloropt .build/software/build-tmp || junk=1;
+ fi
+
+ # Make the temporary directory, delete its contents, then put new
+ # links of all built software.
+ if ! [ -d $checkdir ]; then mkdir $checkdir; fi
+ rm -f $checkdir/*
+
+ # Check if any programs exist in the given directory yet.
+ printresults=0
+ check=$(ls .local/version-info/python/)
+ if ! [ "x$check" = x ]; then
+ printresults=1
+ ln -s .local/version-info/python/* $checkdir/
+ fi
+ check=$(ls .local/version-info/proglib/)
+ if ! [ "x$check" = x ]; then
+ printresults=1
+ ln -s $(pwd)/.local/version-info/proglib/* $checkdir/
+ fi
+
+ # If something was actually found, then print them.
+ if [ $printresults = 1 ]; then
+ echo "--- Last 5 packages that were built:"
+
+ # Then sort all the links based on the most recent dates of the
+ # files they link to (with '-L').
+ ls -Llt $checkdir \
+ | awk '/^-/ && c++<5 {printf "[at %s] %s\n", $(NF-1), $NF}'
+ fi
+ else
+ cat <<EOF
+The connection to the build directory (.build) is not yet created.
+
+If you have just ran './project configure', it should be created and will
+be used in a few seconds to report the build status of various software.
+If not, please run './project configure' (in another terminal) and you will
+see the results shortly afterwards.
+EOF
+ fi
+ echo "========================"
+
+ # Wait for the next round of checks.
sleep 1;
done
exit 0