summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-04-09install-header: Added --extract-only switchHEADmasterAaron Ball
This switch skips the deploy function as well as the cleanup process, executing the extraction process before exiting. This will enable easier debugging. Note that this switch does not support a short version to avoid risk of conflicting with downstream run.sh-provided switches (eg: -e).
2018-04-09libinstall/template:Fix variable unset checkAaron Ball
Previously, we checked if the variable was empty and errored as if it was unset. This did not allow for variables that needed an empty value. Now we check if the variable is set and error on that. Empty is now a valid value.
2018-04-09Changed version delimiter from '#' to '_'Aaron Ball
Some uploaders had an issue with the source file having '#' in the name. Changing to '_' is still unique, but doesn't break client upload tools (so far).
2018-04-09Auto calculate checksums for installerAaron Ball
This automatically calculates sha512 and md5 checksums for the installer when built.
2018-03-07Added libcolorizeAaron Ball
This library provides the 'colorize' function. This function will color any text from stdin with the specified escape sequence, resetting the color changes at line end. Useful for coloring output of commands by piping their stdout or stderr to this function, specifying to color the output something unique.
2018-03-05install-header:Added SELFDIR variableAaron Ball
This variable holds the absolute path to the parent directory that contains the installer.
2018-03-05install-header:added source libensureAaron Ball
2018-03-05libensure:added license headerAaron Ball
2018-03-05Merge branch 'libensure'Aaron Ball
2018-03-05Added libensureAaron Ball
This provides the ensure::set function as well as the ERRNO_ENSURE variable. The function checks if a variable is set, and returns code 1 if unset, or code 0 if set. It also distinguishes between unset and empty (empty is considered set). The ERRNO_ENSURE variable is set to 1 when an unset variable is passed to ensure::set. This variable is useful for checking a list of variables without the need to catch every return code (just check ERRNO_ENSURE for code 1 at the end of the variable sequence).
2018-02-26Merge branch 'tar-timestamp-fix'Aaron Ball
2018-02-26Merge branch 'download_src_refactor'Aaron Ball
2018-02-26Fixed tar timestamping issue.Aaron Ball
The tar command always stores last modified timestamps. Because we are streaming the data to tar via stdin, this data is not given to tar, so timestamp is set to the time the package is built. This causes the package checksums to *always* differ, which is horrible for reproducible builds. Since we don't really care that much about source system timestamps since the installer becomes the source of truth, we now set last modified timestamp to 1970-01-01. This ensures that a package built at different times but with no modifications will yield the same checksum.
2018-02-25Refactor of download_src functionAaron Ball
Simplified use of file variable, with a better explanation of when and why it is used. We also now handle already-downloaded files, skipping them. Removed the source download loop from download_src function. Now the function just downloads the one source uri and the loop occurs outside this function. This enables its re-use outside of the main build process.
2018-02-14Merge branch 'source-dl-dest'Aaron Ball
2018-02-14pkgself:Set scp to not show login bannersAaron Ball
Some systems are configured to display login banners for interractive and/or non-interractive logins. This clutters up log output. Enabled "Error" level messages only for scp command.
2018-02-14pkgself: Changed source download dest to .source dirAaron Ball
Previously we downloaded all sources into the current directory. For packages that had a large number of sources, this cluttered up the directory and made it easy to confuse included resources with external downloaded resources. Now we download to a local hidden directory which keeps external resources seperated from included resources.
2018-02-14Merge branch 'variable-compress'Aaron Ball
2018-02-14Added compress and decompress variablesAaron Ball
Install header now has a {{ DECOMPRESS }} variable that is interpolated on run of pkgself with pkgself's value for ${DECOMPRESS}. Also added DECOMPRESS, COMPRESS, and COMPRESSEXT variables to pkgself to standardize compression tools and command calls across the script. This will also make it easier to make compress tools selectable in the future (eg: --gzip or --bzip2 will set the variables differently). Moved install header size calculation after all interpolations with a note that all interpolations need to occur before that line so the size counts are accurate.
2018-02-14install-header:changed dd extraction block sizeAaron Ball
Previously, we extracted block=1B * sizeof(chunk). This was extremely slow. Changing block size to sizeof(chunk) and count to 1, the process is sped up by about 200x.
2018-02-12lib template: Removed debugging outputAaron Ball
2018-02-05Merge branch 'libinstall'Aaron Ball
2018-02-05Initial commit of support for libinstall resourcesAaron Ball
The libinstall resources will be used for packaging installation libraries, such as a basic templating engine or simple shortcut functions and aliases. Updated LENS array to allow for an additional 8 byte archive. Also updated archive index. Now... 1. header 2. libinstall 3. run.sh 4. payload Added extract_libinstall function. Along with this, also added the new libtemplate, which provides a very basic templating engine to be used by the end user run.sh script if needed.
2018-02-05Merge branch 'pkgself-updates'Aaron Ball
2018-02-05pkgself: More stablity updatesAaron Ball
Added new selfdir variable to provide the absolute path to the directory containing the pkgself script. This will enable the easy inclusion of installer resources (such as libraries). Added check to ensure a Pkgfile is specified
2018-02-05Merge branch 'install-header-updates'Aaron Ball
2018-02-05More work on the install headerAaron Ball
extract_chunk_index: Added support for stdout extraction via the '-' destination. Added support for NOCLEANUP variable. If set, the removal of TMP will not occur. Added argument passthrough for install-header arguments to the deploy function. Some more comments Added exports and comments for global variables SELF, TMP, PAYLOAD, and NOCLEANUP. Added PAYLOAD variable for the installation package to easily referece the absolute path to its own install files within the payload archive.
2018-02-05Initial commitAaron Ball
Currently packages binary, creates payload index, etc. Installer executes specified run script and cleans itself up after run. NOTE: installer-header.sh is not released under any license at this time, as it is packaged with other people's code. Pkgself.sh is however GPLv3.

Generated by cgit