diff options
Diffstat (limited to 'project')
-rwxr-xr-x | project | 62 |
1 files changed, 57 insertions, 5 deletions
@@ -71,6 +71,7 @@ print_help() { # Print the output. cat <<EOF Usage: $scriptname configure [OPTIONS] + $scriptname shell [OPTIONS] $scriptname make [OPTIONS] Top-level script to manage the reproducible project. The high-level @@ -151,7 +152,7 @@ func_operation_set() { if [ x$operation = x ]; then operation=$1 else - echo "Only one operation ('configure' or 'make') may be given." + echo "Only one operation ('configure', 'make' or 'shell') may be given." exit 1 fi } @@ -247,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 @@ -480,7 +532,7 @@ case $operation in No operation defined! Please run with '--help' for more information. -(TIP: available operations are: 'configure' or 'make'). +(TIP: available operations are: 'configure', 'make', or 'shell'). EOF exit 1 |