#!/bin/bash if [ $# -lt 2 ];then echo "Usage: ${0} &2 echo "Example: ${0} b5bd185 7.70SVN" >&2 exit 2 fi commit=$1 version=$2 architectures=(aarch64 armhf x86 x86_64) tmp_dir=$(mktemp -dt packaging.XXXXXX) trap exit_script EXIT TERM exit_script(){ rm -rf "$tmp_dir" } echo "tmp_dir: ${tmp_dir}" for arch in "${architectures[@]}";do arch_dir="${tmp_dir}/nmap-${version}-${commit}-${arch}-portable" mkdir -p "$arch_dir" find ../bin/linux/${arch}/ -name "*-${commit}" -exec cp {} "${arch_dir}" \; echo "version: ${version}" ls -la "$arch_dir" if [ -s "${arch_dir}/nmap-${version}-${commit}" ];then mv "${arch_dir}/nmap-${version}-${commit}" "${arch_dir}/nmap" mv "${arch_dir}/ncat-${version}-${commit}" "${arch_dir}/ncat" # Note: Nping version starts with "0.". mv "${arch_dir}/nping-0.${version}-${commit}" "${arch_dir}/nping" elif [ -s "${arch_dir}/nmap-${commit}" ];then mv "${arch_dir}/nmap-${commit}" "${arch_dir}/nmap" mv "${arch_dir}/ncat-${commit}" "${arch_dir}/ncat" mv "${arch_dir}/nping-${commit}" "${arch_dir}/nping" else echo "Nmap binaries for ${arch} not found!" read continue fi if [ -d "../data/nmap-data-${version}-${commit}" ];then cp -r "../data/nmap-data-${version}-${commit}" "${arch_dir}/data" elif [ -d "../data/nmap-data-0.${version}-${commit}" ];then cp -r "../data/nmap-data-0.${version}-${commit}" "${arch_dir}/data" else echo "Nmap data directory not found!" read continue fi cp run-nmap.sh "$arch_dir" tar czf "${tmp_dir}/nmap-${version}-${commit}-${arch}-portable.tar.gz" -C "$tmp_dir" "nmap-${version}-${commit}-${arch}-portable" cd "$tmp_dir" zip -r -q "${tmp_dir}/nmap-${version}-${commit}-${arch}-portable.zip" "nmap-${version}-${commit}-${arch}-portable" cd - rm -rf "$arch_dir" done echo "Finished packing. Got the following releases:" ls -la "$tmp_dir" echo "Ready to copy them. Press CTRL+C to arbort, RETURN to continue...." read cp "${tmp_dir}/"* ../packaged