static-toolbox/packaging/package.sh

62 lines
2.1 KiB
Bash
Raw Normal View History

#!/bin/bash
if [ $# -lt 2 ];then
echo "Usage: ${0} <commit> <version?" >&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