- Added ability to detach-sign packages with GPG
- Made script compatible with Python 3
- Added CLI flag for overwriting S3 packages
- Switched to logging module for output
- Improved handling of tar and zip package outputs
- Added support for statically-compiled binary outputs
- Modifyed the nightly version format to be more human-readable
- Removed incorrect debug statement
- Switched GOARM value from arm64 to 7
- Switched order of generate and get call
- Added 'go generate' command to circle builds in test.sh
- Merged generalized changes from the Kapacitor build.py script for
easier porting of features between projects
- Changed the nightly versioning scheme to use a tilde instead of a
dash for easier upgrade paths.
- Added `go get` call for each platform in case of platform-specific
build flags.
- Added a `--no-stash` option to prevent uncommitted changes from
sneaking into packaged builds.
- Better automatic handling of version numbers.
- Removed per-platform go get command (for now).
- Added better build and packaging logic for ARM architectures.
Since we are pinned to go 1.4.3, we're using the same dependency
manager as telegraf to make builds more reproducible. We'll re-evaluate
vendoring when we can move off of 1.4.3.
--pkgarch overrides the architecture which is used in subsequent runs to
build different packages (deb,tar.gz,rpm) and the architecture is used
to index the build information kept in a dict, which of course fails if
it has been overridden. This commit resets the overridden architecture
after each run of fpm to initial, in order to fix the packaging.
- Added package iteration to tar and zip builds in case of pre-release.
- Added ability to specify S3 bucket path (ex: bucket/influxdb) in case the user wants to upload to a folder hierarchy.
- Restructured build script for easier diffing between other TICK-stack build scripts.
- Cleaned up build script output to not use tabs.
- Added a top-level directory for tar.
- Removed zip as a supported package output due to fpm zip output including the entire directory structure.
Add --pkgarch option to build.py to specify the packaging architecture which can be different to GOARCH.
Example: build for debian on raspberry pi. GOARCH will be arm but the packaging architecture on debian will be armhf (arm hard float). The --pkgarch option is passed to fpm to specify the required architecture which is reflected in the package manifest and also in the result filename.
- Re-enabling support for ARM builds in `build.py`.
- Improved `build.py`'s iteration and package version.
- Fixed minor bug with logrotate file path in `build.py`.
- Improved installation pre and post install/uninstall scripts by adding distribution-specific logic to account for quirks between the different package managers.
- Added post-install as post-trans script for RPM builds due to the order of RPM upgrade commands (issue where init scripts were removed when upgrading).
- Added explicit backup to pre-install script to ensure legacy configuration survive an upgrade.
New package filesystem hierarchy:
- /var/lib/influxdb => Data directories
- /usr/lib/influxdb => Scripts and other miscellaneous files
- /etc/influxdb => Configuration
- /usr/bin/ => Where InfluxDB binaries will live