- Please find the associated guidance to help those interested in
validating/verifying the release so they can vote.# (Optional) You can follow the steps below in a docker container,
# so you don't need to install the build dependencies on your system
# This example uses Ubuntu 24.04 LTS
docker run --rm -it ubuntu:24.04 /bin/bash
# Install the necessary utilities:
# On Ubuntu 24.04 LTS:
apt update && apt -y install wget gnupg python3
# Download latest KEYS file:
wget https://dist.apache.org/repos/dist/dev/nifi/KEYS
# Import keys file:
gpg --import KEYS
# Download nifi-minifi-cpp source release artifacts for review:
VERSION=0.99.0
wget https://dist.apache.org/repos/dist/dev/nifi/nifi-minifi-cpp/${VERSION}/nifi-minifi-cpp-${VERSION}-source.tar.gz
wget https://dist.apache.org/repos/dist/dev/nifi/nifi-minifi-cpp/${VERSION}/nifi-minifi-cpp-${VERSION}-source.tar.gz.asc
wget https://dist.apache.org/repos/dist/dev/nifi/nifi-minifi-cpp/${VERSION}/nifi-minifi-cpp-${VERSION}-source.tar.gz.sha256
wget https://dist.apache.org/repos/dist/dev/nifi/nifi-minifi-cpp/${VERSION}/nifi-minifi-cpp-${VERSION}-source.tar.gz.sha512
# Verify the signature
gpg --verify nifi-minifi-cpp-${VERSION}-source.tar.gz.asc
# Verify the hashes match the source and what was
# provided in the vote email thread
sha256sum nifi-minifi-cpp-${VERSION}-source.tar.gz
sha512sum nifi-minifi-cpp-${VERSION}-source.tar.gz
# Extract nifi-minifi-cpp-${VERSION}-source.tar.gz
tar xvzf nifi-minifi-cpp-${VERSION}-source.tar.gz
# Install build dependencies and verify the build works
# including tests and linter checks
# Option 1. Python bootstrap (Linux and Windows)
# Install the dependencies of the bootstrap, and make sure sudo is usable by the current user
apt -y install sudo python3-venv git
# Use the bootstrap/py_bootstrap.sh script (or bootstrap/py_bootstrap.bat on Windows) to
# select features, build options, install dependencies
# The interface will ask for confirmation before running any commands with side-effects
cd nifi-minifi-cpp-${VERSION}-source
bootstrap/py_bootstrap.sh
# Select build type, build options and features in the menu
# and select One Click Build to build
# run tests and linter after the build
cd build
ctest -j16 && cmake --build . --parallel 4 --target linter
exit # end of Option 1
# Option 2. Use the following commands for manual dependency installation and build: (Linux only)
apt -y install tar build-essential libtool git libpython3-dev flex bison cmake
cd nifi-minifi-cpp-${VERSION}-source
mkdir build && cd build && cmake ..
cmake --build . --parallel $(nproc) --target package
ctest -j16 --output-on-failure
cmake --build . --parallel 4 --target linter
# or:
# ./bootstrap.sh && cd build && make package && make test && make linter
# On Windows:
# Install dependencies as documented:
# https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139627733
# cd nifi-minifi-cpp-${VERSION}-source
# win_build_vs.bat build /P
# - 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 binary as found in
# build/nifi-minifi-cpp-0.99.0.tar.gz or build/nifi-minifi-cpp.msi
# - Make sure the README, NOTICE, and LICENSE are present and correct
# - Run the resulting convenience binary and make sure it works as expected (you can use some example flows for verification under the ${MINIFI_SOURCE_ROOT}/examples directory)
# - 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!
Release Supporting and Helper Resources
Sample NiFi and MiNiFi Configuration to transmit data from MiNiFi to NiFi via Site to Site
The following archive contains a flow.xml.gz to configure a flow with a known input port UUID to communicate with a configuration for MiNiFI C++ with the included flow.yml.
Hashes
sha1sum: 5b3797924eee1a59421ff216c542cb28c3564bfe
sha256sum: 9323165a2086053f8d1ad5478e2b7cc97f01fbc38ba133afe77badba1a446833
Signature
Signed with the key at http://people.apache.org/keys/committer/aldrin.asc
1 Comment
Marton Szasz
In version 0.99.0-RC2, these unit tests will fail when running as root: FileStreamTests, FileSystemRepositoryTests, FetchFileTests
That's normal, because some negative tests of file operations succeed anyway with superuser privileges.