Hello Apache NiFi community,

Please find the associated guidance to help those interested in
validating/verifying the release so they can vote.

# Download latest KEYS file:
https://dist.apache.org/repos/dist/dev/nifi/KEYS

# Import keys file:
gpg --import KEYS

# Pull down nifi-minifi-cpp-0.4.0 source release artifacts for review:

wget 
https://dist.apache.org/repos/dist/dev/nifi/nifi-minifi-cpp/0.4.0/nifi-minifi-cpp-0.4.0-source.tar.gz
wget 
https://dist.apache.org/repos/dist/dev/nifi/nifi-minifi-cpp/0.4.0/nifi-minifi-cpp-0.4.0-source.tar.gz.asc
wget 
https://dist.apache.org/repos/dist/dev/nifi/nifi-minifi-cpp/0.4.0/nifi-minifi-cpp-0.4.0-source.tar.gz.md5
wget 
https://dist.apache.org/repos/dist/dev/nifi/nifi-minifi-cpp/0.4.0/nifi-minifi-cpp-0.4.0-source.tar.gz.sha1
wget 
https://dist.apache.org/repos/dist/dev/nifi/nifi-minifi-cpp/0.4.0/nifi-minifi-cpp-0.4.0-source.tar.gz.sha256

# Verify the signature
gpg --verify nifi-minifi-cpp-0.4.0-source.tar.gz.asc

# Verify the hashes (md5, sha1, sha256) match the source and what was
provided in the vote email thread
md5sum nifi-minifi-cpp-0.4.0-source.tar.gz
sha1sum nifi-minifi-cpp-0.4.0-source.tar.gz
sha256sum nifi-minifi-cpp-0.4.0-source.tar.gz

# Untar nifi-minifi-cpp-0.4.0-source.tar.gz
tar xf nifi-minifi-cpp-0.4.0-source.tar.gz

# Verify the build works

The 0.4.0 release introduces bootstrap script [2] which can aid in
acquiring the correct packages, selecting which modules are desired and
streamlining configuration and build processes.

Alternatively, the previous, manual approach is also still possible.

Be mindful of the pre-requisites required for the C++ version of MiNiFi,
enumerated in the README [1]. These can vary from system to system and 
distribution,
an example of the package listing for a recent Ubuntu release is:
  cmake gcc g++ libcurl4-openssl-dev uuid-dev uuid libboost-all-dev
libssl-dev doxygen libpython3-dev libbz2-dev liblzma-dev

Once the required environment is established, a build with testing and
linting can be performed via:

  cd nifi-minifi-cpp-0.4.0-source
  mkdir build
  cd build
  cmake DPORTABLE=ON -DFAIL_ON_WARNINGS= ..
  make package
  make test
  make linter

# Verify the contents contain a good README, NOTICE, and LICENSE.

# Verify the git commit ID is correct

# Verify the RC was branched off the correct git commit ID

# Look at the resulting convenience assembly
(nifi-minifi-cpp-0.4.0-bin.tar.gz) found in your build directory

# Make sure the README, NOTICE, and LICENSE are present and correct

# Run the resulting convenience binary and make sure it works as expected

For some additional assistance, the recent 0.4.0 release of MiNiFi Java 
includes updated
MiNiFi Toolkit binaries [3].  This release of MiNiFi C++ provides support for 
the same
version (3) of the config schema supported by MiNiFi Java.

# Send a response to the vote thread indicating a +1, 0, -1 based on your
findings.

Thank you for your time and effort to validate the release!

[1]
https://github.com/apache/nifi-minifi-cpp/blob/MINIFICPP-379-RC1/README.md#system-requirements
[2]
https://github.com/apache/nifi-minifi-cpp/blob/MINIFICPP-379-RC1/README.md#bootstrapping
[3]
https://nifi.apache.org/minifi/download.html

Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to