Skip to content

CI: Revise builds with older autoconf and related tool kits#1170

Merged
jimklimov merged 18 commits intonetworkupstools:masterfrom
jimklimov:issue-1168
Nov 10, 2021
Merged

CI: Revise builds with older autoconf and related tool kits#1170
jimklimov merged 18 commits intonetworkupstools:masterfrom
jimklimov:issue-1168

Conversation

@jimklimov
Copy link
Copy Markdown
Member

This should address issue #1168 (some fallout after PRs #1151 and #1159) - at least this passed on a test system with Ubuntu 14.04 that failed to build before the PRed change.

@jimklimov jimklimov added the CI Entries related to continuous integration infrastructure (here CI = tools + scripts + recipes) label Nov 9, 2021
@jimklimov jimklimov self-assigned this Nov 9, 2021
jimklimov and others added 15 commits November 9, 2021 17:33
…UILDSTODO and call optional_maintainer_clean_check() for the last iteration and optional_dist_clean_check() for others
…" after final optional_maintainer_clean_check() if that is called
…ild (this just spends time to generate the Makefile to kill it)
@jimklimov
Copy link
Copy Markdown
Member Author

Now this PR also rearranged the ci_build.sh script to not generally start (loops) with a distcheck, destined to spend a minute re-configuring to update a Makefile to delete it, and then configure again for the build.

@jimklimov
Copy link
Copy Markdown
Member Author

jimklimov commented Nov 10, 2021

Also discovered a bit of heads-up for people like me, who develop or debug shell scripts in the product or ecosystem nearby: I recently found that the expr shell utility/builtin is geared towards boolean evaluations, so any expressions that return a numeric zero mean a "false" exit-code.

For example, expr 1 - 1 or expr -2 + 2 would fail (return exit-code 1) while expr 2 - 1 and other non-zero maths would not (they return exit-code 0) .

Since many of our infra and maybe prod scripts do portable maths with expr (so they don't rely on particular shell's abilities like bash's N=$(($N-1)) or availability of third-party tools like bc), without realizing such edge case before, this is a "strange failure" mode to be on lookout for when something "crazy" happens.

Safety fencing with || true or checking in case of error that the returned string is "0" (and not some other error) may be due.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Entries related to continuous integration infrastructure (here CI = tools + scripts + recipes)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant