* Added err, info and warn functions to output necessary information in a specific format
* Added additional check for determining whether the shell really is a bash shell
* Added -v option and related code to increase compiler verbosity
* Discarded code to source a buildfile when attempting to validate it inside validatebuildfile function
* Further removed code to echo and pipe output to grep to validate build variables inside validatebuildfile function
* Added nopackagebuildfileerror function
* Renamed all variables in upper-case to lower-case inside runtime function
* Replaced $pkg/share/pkgconfig error with a warning and added supporting code to move it out of that directory and into $pkg/lib/
* Small miscellaneous fixes
-> Added validatecompiler function to validate compilers using distcc, ccache and sccache
-> Fixed code inside preprunitservice function
-> Existence of /share/pkgconfig directory inside staging directory now causes an ERROR
-> Go easy on symlinks, don't rm -rf; rm -f will do just fine
-> improved code to discard .smlinuxwritetest file to check parent temporary directory
-> Miscellaneous code fixes
Undertook code cleanup in bldpkg based on suggestions from shellcheck binary
Shellcheck suggestions aside, changes to bldpkg include:
-> Updated TODO list
-> Added set -e again
-> Replaced single-letter variables in runtime function with more sensible variable names
-> Restored man page compression and linking code from earlier bldpkg commits
-> Fixed code to move pkgconfig files from $pkg/share to $pkg/lib
Changes to bldpkg:
-> Added additional variables to be more verbose when showing either errors, warnings or info messages
-> Optimized find command options in various places
-> Discarded makepkg function and moved its code inside mkfinalpkg function
-> Discarded removestaticlibs function.
-> Static libraries are now compulsorily discarded unless preservestaticlibs variable is set near the top of the build file
-> Several smaller fixes
Made following changes to bldpkg:
* Introduced makepkg function to remove dependency on external base/pkgtools/makepkg script
* Simplified code inside applypatch function
* Added pigz and plzip parallel compressors inside pkgext case/esac
* Miscellaneous fixes
Changes to bldpkg:
* Fixed indentation in help usage function
* Fixed if/else code
* Added a check to cause bldpkg to fail if build validation function fails
* Simplified code for validating custom cpu flags
* Miscellaneous fixes
* Replaced echo with cat for generating summary and fixed related code
* Added -o option for copying alternate build file
* Fixed identation for help usage
* Moved all code related to validating build files into a function 'validatebldfile'
* Use printf for colours
* Added miscellaneous supporting code and comments
* Added code to check if autobuildtemp is set before removing $tempfile
* Added wait argument to nc for probing distccd port
* Removed double quotes from various places
* Updated TODO
Changes to bldpkg:
-> Added code to validate hosts using netcat when distcc is enabled and also update DISTCC_HOSTS variable accordingly
-> Using subshell unnecessary; removed it from top and bottom of the file
-> Fixed wordings in help function
-> Simplified code for populating buildfile variable by discarding srcdirpath variable
-> Added required files to be checked when the build starts as an array
-> genchecksum function is now a variable
-> Added missing -j in customcputhreads variable; previously the value was ignored by MAKEFLAGS
-> Added missing '[ERROR]' word when validating build file
-> Added missing exit when auditd binary was not found
-> Added sleep when auditd log file exceeds certain lines
-> Added checks to exit build when sha512 checksums fail to match
-> Added checks and fixed code when working with patches
-> Discarded unnecessary double quotes in values inside validpkgextensions array
-> Fixed identation
* Removed sourcebuildfile function call in various functions to cause sourcing to happen only once
* Added code that invokes /etc/rc.d/rc.gtk whenever /share/applications directory is detected
to update a system's GTK cache
* Added more stuff in TODO
* Rearranged code that sources bldpkg.conf a few lines up
* Renamed function debugmode to tracemode
* Defined setbuildfile, autoextractmode, displaysummary and setcputhreads functions and added corresponding option letters to getopts
* Added explanation in the help function
* Added temporary commented code for detecting stripped binaries and libraries before they are actually stripped
* Discarded -exec rm -v since the find command already contains -delete
* Discarded --strip-unneeded option from strip command
* Miscellaneous fixes
* Fixed code that prevented writing to BUILDMONITOR.html when $showsummary was set to 0 by moving it into its own separate function
* Also moved out code for cleaning up build files into a separate function
* Made miscellaneous fixes and removed unnecessary code
* Removed redundant code that checked for usr/var directory inside the staging directory since the existence of usr is already checked in previous lines
* Added and fixed double quotes in various places
* Added missing "$" in srcdirpath.SMBuild line
* Removed code that outputs an error in case the extension check fails.
* Added code to warn user when old package build and staging directories not belonging to current packge
exist inside the tmpfs directory
* Fixed sccachepath typos in code that validates sccache binary and hardlinks
* Added code to export RUSTC_WRAPPER variable when sccache is enabled
* Added code to validate app, version, homepage, download and desc variables
* Updated TODO
* Readjusted location of code that outputs current package being built
Readjusted description length in several packages in base section
* "subshelled" the entire script and discarded code to unset variables
* Moved up code that displays application name and version at the start
of the build a few lines up
* Fixed typos
* Converted all upper case variable names to lower case
* Added a TODO section at the top of the script
* Improved code that checks which build variables and functions are not set inside an SMBuild at the beginning of the build
* Moved code that searches for build dependencies near the top of the script and fixed search path to /share/doc
* Added a simple check to determine whether the parent temporary directory is writable
* Commented out code that places $app.{app,version,build} files inside parent temp directory
* Moved code that verifies checksums of source files near the top of the script
* Improved code that exports CONFIG_SITE for autoconf-based packages
* Fixed variable name "tmpfssavingsize"
* Discarded code that introduced passfailcleanup and interruptcleanup functions and reverted back to
prepbuildsummary and interruptsummary functions
Fixed identation in parts of the script
Moved SM_COMMENCEDATE variable at the top of the script
Merged SM_HTMLOUTPUT code above inarray function code into one below that function
Created two new functions - passfailcleanup and interruptcleanup. passfailcleanup deals and moved SM_HTMLOUTPUT code from existing prepbuildsummary and interruptsummary
into those two functions