diff options
author | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2020-08-13 17:33:00 +0100 |
---|---|---|
committer | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2020-08-13 17:33:00 +0100 |
commit | 9573d4e4d4754e629b73be4bd6846a049d57f427 (patch) | |
tree | 7f82ce352be52e7518b377e40904217cdd83a5ba | |
parent | 09840874c3af449032a07cac56e23a78d7e3a666 (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-x | project | 57 |
1 files changed, 54 insertions, 3 deletions
@@ -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 |