From 7759063b7485ca0701fc8ba1961d0e53568ddd59 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Fri, 2 Jul 2021 11:02:41 +0200 Subject: [PATCH] Squashed 'gitstatus/' changes from 76182238..68bf9e0d 68bf9e0d build: generate byte-for-byte identical gitstatusd if the compiler supports -ffile-prefix-map d03e8edc add support for s390x architecture b32bea51 add a few architectures to the build script 7001409e bash: escape non-printable ANSI sequences (#247) git-subtree-dir: gitstatus git-subtree-split: 68bf9e0da3695ae989d523527643bef3f88e86ea --- build | 28 ++++++++++++++++++++-------- gitstatus.prompt.sh | 10 +++++----- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/build b/build index f77f1982..8190f478 100755 --- a/build +++ b/build @@ -55,7 +55,7 @@ workdir="$(command pwd)" narg() { echo $#; } -if [ "$(narg $workdir)" != 1 -o -z "${workdir##*:*}" ]; then +if [ "$(narg $workdir)" != 1 -o -z "${workdir##*:*}" -o -z "${workdir##*=*}" ]; then >&2 echo "[error] cannot build in this directory: $workdir" exit 1 fi @@ -138,6 +138,14 @@ esac cflags="$archflag=$gitstatus_cpu -fno-plt" +command touch "$workdir"/file-prefix-map-test.c +if 2>/dev/null "${CC:-/bin/cc}" \ + -ffile-prefix-map=x=y \ + -c "$workdir"/file-prefix-map-test.c \ + -o "$workdir"/file-prefix-map-test.o; then + cflags="$cflags -ffile-prefix-map=$workdir/=" +fi + if [ "$gitstatus_cpu" = x86-64 ]; then cflags="$cflags -mtune=generic" fi @@ -450,13 +458,16 @@ fi if [ -z "$gitstatus_cpu" ]; then case "$gitstatus_arch" in - armv6l) gitstatus_cpu=armv6;; + armel) gitstatus_cpu=armv5;; + armv6l|armhf) gitstatus_cpu=armv6;; armv7l) gitstatus_cpu=armv7;; arm64) gitstatus_cpu=armv8;; aarch64) gitstatus_cpu=armv8-a;; ppc64le) gitstatus_cpu=powerpc64le;; riscv64) gitstatus_cpu=rv64imafdc;; x86_64|amd64) gitstatus_cpu=x86-64;; + x86) gitstatus_cpu=i586;; + s390x) gitstatus_cpu=z900;; i386|i586|i686) gitstatus_cpu="$gitstatus_arch";; *) >&2 echo '[error] unable to infer target CPU architecture' @@ -485,12 +496,13 @@ case "$gitstatus_kernel" in fi if [ -z "$docker_image" ]; then case "$gitstatus_arch" in - x86_64) docker_image=alpine:3.11.6;; - i386|i586|i686) docker_image=i386/alpine:3.11.6;; - armv6l) docker_image=arm32v6/alpine:3.11.6;; - armv7l) docker_image=arm32v7/alpine:3.11.6;; - aarch64) docker_image=arm64v8/alpine:3.11.6;; - ppc64le) docker_image=ppc64le/alpine:3.11.6;; + x86_64) docker_image=alpine:3.11.6;; + x86|i386|i586|i686) docker_image=i386/alpine:3.11.6;; + armv6l|armhf) docker_image=arm32v6/alpine:3.11.6;; + armv7l) docker_image=arm32v7/alpine:3.11.6;; + aarch64) docker_image=arm64v8/alpine:3.11.6;; + ppc64le) docker_image=ppc64le/alpine:3.11.6;; + s390x) docker_image=s390x/alpine:3.11.6;; *) >&2 echo '[error] unable to infer docker image' >&2 echo 'Please specify explicitly with `-i IMAGE`.' diff --git a/gitstatus.prompt.sh b/gitstatus.prompt.sh index 9c1a2138..f27bcc39 100644 --- a/gitstatus.prompt.sh +++ b/gitstatus.prompt.sh @@ -33,11 +33,11 @@ function gitstatus_prompt_update() { gitstatus_query "$@" || return 1 # error [[ "$VCS_STATUS_RESULT" == ok-sync ]] || return 0 # not a git repo - local reset=$'\e[0m' # no color - local clean=$'\e[38;5;076m' # green foreground - local untracked=$'\e[38;5;014m' # teal foreground - local modified=$'\e[38;5;011m' # yellow foreground - local conflicted=$'\e[38;5;196m' # red foreground + local reset=$'\001\e[0m\002' # no color + local clean=$'\001\e[38;5;076m\002' # green foreground + local untracked=$'\001\e[38;5;014m\002' # teal foreground + local modified=$'\001\e[38;5;011m\002' # yellow foreground + local conflicted=$'\001\e[38;5;196m\002' # red foreground local p