#!/bin/sh # This script requires 'GNU tar' tool for compression. if [ "$1" = 'zip' ] || [ "$1" = 'ZIP' ]; then hb_archbin='zip' hb_ext='.zip' elif tar --version >/dev/null 2>&1; then hb_archbin='tar' hb_gnutar='yes' elif gtar --version >/dev/null 2>&1; then hb_archbin='gtar' hb_gnutar='yes' else hb_archbin='tar' hb_gnutar='no' echo "Warning!!! Cannot find 'GNU tar'" fi hb_currdir="$(pwd)" hb_archopt='-czf' [ -n "${hb_ext}" ] || hb_ext='.tar.gz' if [ -f mpkg_ver.sh ]; then hb_rootdir='..' else hb_rootdir=$(dirname "$0") hb_rootdir=$(dirname "${hb_rootdir}") fi . "${hb_rootdir}/package/mpkg_ver.sh" hb_ver=$(get_hbver "${hb_rootdir}") hb_filename="${hb_currdir}/harbour-${hb_ver}.src${hb_ext}" rm -f $hb_filename #[ -z "$TZ" ] && export TZ=PST8PDT hb_collect_all_git() { for f in $(git ls-tree HEAD -r --name-only); do [ -f "$f" ] && echo "$f" done } hb_collect_all_tree() { exclude='/obj/|/lib/|/bin/.*/|\.tar|\.zip|\.exe|\.log|/linux/|/win|/config/' for f in `find -type f | grep -vE ${exclude}`; do echo ${f:2} done for f in `find config -type f`; do echo ${f} done } hb_rmflst='yes' hb_flst='bin/hb_flst.tmp' if [ -d "$hb_rootdir/.git" ]; then hb_rmflst='yes' (cd "$hb_rootdir";hb_collect_all_git) > "$hb_rootdir/$hb_flst" echo "$hb_flst" >> "$hb_rootdir/$hb_flst" else hb_rmflst='yes' (cd "$hb_rootdir";hb_collect_all_tree) > "$hb_rootdir/$hb_flst" fi if [ "$hb_archbin" = 'zip' ]; then (cd "$hb_rootdir";$hb_archbin -r -q $hb_filename . "-i@$hb_flst") else (cd "$hb_rootdir";$hb_archbin $hb_archopt $hb_filename --files-from "$hb_flst") fi [ "$hb_rmflst" != 'yes' ] || rm -fR "$hb_rootdir/$hb_flst" cd "$hb_currdir"