Re: [GUILT] add FreeBSD support
From: gnehzuil.liu <hidden>
Date: 2016-06-15 22:58:22
在 2013-8-9,下午10:46,Josef 'Jeff' Sipek [off-list ref] 写道:
On Fri, Aug 09, 2013 at 08:32:28PM +0800, Zheng Liu wrote:quoted
From: Zheng Liu <redacted> Currently guilt doesn't support FreeBSD platform. This commit tries to add this support. The file called 'os.FreeBSD' is copied from os.Darwin due to these two platforms have almost the same command tools.Out of curiosity, is it identical? I eyeballed it, and they do look identical. There's probably a better way to do this whole os-specific thing, but this will work well enough for now.
Yes, it is identical. Sorry, I am a newbie for guilt, but I am happy to improve this os-specific thing. Any idea?
Regards,
- Zheng
Jeff.quoted
Signed-off-by: Zheng Liu <redacted> --- Hi all, After applied this patch, the regression test 010 and 060 will fail because of the output format. After fixing these issues, all the regression tests will pass. P.S. I don't subscribe git@ mailing list. So please put my email address in Cc list. Thanks! Regards, - Zheng os.FreeBSD | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 os.FreeBSDdiff --git a/os.FreeBSD b/os.FreeBSD new file mode 100644 index 0000000..3f23121 --- /dev/null +++ b/os.FreeBSD@@ -0,0 +1,70 @@ +# usage: touch_date <unix ts> <file> +touch_date() +{ + touch -t `date -r $1 +%Y%m%d%H%M.%S` "$2" +} + +# usage: last_modified <file> +last_modified() +{ + stat -f "%m" "$1" +} + +# usage: format_last_modified <file> +format_last_modified() +{ + stat -f "%Sm" -t "%Y-%m-%d %H:%M:%S %z" "$1" +} + +# usage: head_n [count] +head_n() +{ + if [ "$1" -gt 0 ]; then + head -n "$1" + fi +} + +# usage: sha1 [file] +sha1() +{ + if [ $# = 1 ] + then + openssl dgst -sha1 "$1" | sed "s,SHA1.\(.*\).= \(.*\),\2 \1," + else + openssl dgst -sha1 | sed 's,\(.*= \)*\(.*\),\2 -,' + fi +} + +# usage: cp_a <src> <dst> +cp_a() +{ + cp -pR "$1" "$2" +} + +# usage: _tac +_tac() +{ + sed -e '1!G;h;$!d' +} + +_seq() +{ + ( + if [ $# -eq 1 ] + then + /usr/bin/jot $1 + elif [ $# -eq 2 ] + then + n1=$((${2} - ${1} + 1)) + n2=$1 + /usr/bin/jot $n1 $n2 + elif [ $# -eq 3 ] + then + num1=$1 + incr=$2 + num2=$3 + /usr/bin/awk -v n1=$num1 -v n2=$num2 -v add=$incr 'BEGIN{ for(i=n1; i<=n2; i+=add) print i;}' | /usr/bin/sed -E '/e/s/^.+e.+$/0/' + fi + ) + return 0 +}-- 1.8.3.4-- Research, n.: Consider Columbus: He didn't know where he was going. When he got there he didn't know where he was. When he got back he didn't know where he had been. And he did it all on someone else's money.