From d315ccbd89412de186c859b485bc56b849e81792 Mon Sep 17 00:00:00 2001 From: Dustin Kirkland Date: Sat, 29 Mar 2025 11:19:22 -0500 Subject: [PATCH 1/4] added help/version option to most executables --- debian/changelog | 7 +++++++ usr/lib/byobu/include/common | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/debian/changelog b/debian/changelog index 3f944579..290b754e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +byobu (6.13) unreleased; urgency=medium + + * usr/lib/byobu/include/common: + - added -v|--version and -h|--help to most executables + + -- Dustin Kirkland Tue, 17 Sep 2024 19:46:50 -0500 + byobu (6.12-0ubuntu1) noble; urgency=medium * usr/share/byobu/profiles/bashrc: diff --git a/usr/lib/byobu/include/common b/usr/lib/byobu/include/common index 04ae4f4d..9081f6cb 100755 --- a/usr/lib/byobu/include/common +++ b/usr/lib/byobu/include/common @@ -53,3 +53,8 @@ if [ -z "${BYOBU_INCLUDED_LIBS}" ]; then export BYOBU_DISTRO="$_RET" BYOBU_INCLUDED_LIBS=1 fi + +case "$1" in + -v|--version) [ "$(basename $0)" != "byobu" ] && exec byobu -v ;; + -h|--help) exec man $(basename $0) ;; +esac From 2ca86a554dc3269dd5a4a4133a71f3a3707d1ecf Mon Sep 17 00:00:00 2001 From: Dustin Kirkland Date: Sat, 29 Mar 2025 11:20:07 -0500 Subject: [PATCH 2/4] Description: strip time EPOCHREALTIME by digit not decimal separator original code stripped only by period defined decimal. Some locales separate by comma. The goal is to strip to a non-decimal, so instead only allowing digits, and using start of string ensures safety. Author: Jakub Skopal Origin: uptream, https://github.com/dustinkirkland/byobu/pull/71 Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/byobu/+bug/2052610 Reviewed-by: John Chittum Last-Update: 2025-03-03 --- usr/share/byobu/profiles/bashrc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/usr/share/byobu/profiles/bashrc b/usr/share/byobu/profiles/bashrc index 7fa07d67..1709d047 100644 --- a/usr/share/byobu/profiles/bashrc +++ b/usr/share/byobu/profiles/bashrc @@ -37,8 +37,9 @@ byobu_prompt_runtime() { local starttime endtime duration days hours minutes seconds microseconds nanoseconds str [ ! -r $BYOBU_RUN_DIR/timer.$$ ] && printf "[0.000s]" && return read starttime < $BYOBU_RUN_DIR/timer.$$ 2>/dev/null || true - endtime=${EPOCHREALTIME/./} - starttime=${starttime/./} + # strip to non-decimal time. avoids LP: #2052610 + endtime=${EPOCHREALTIME/[^0-9]/} + starttime=${starttime/[^0-9]/} duration=$((endtime - starttime)) days=$((duration/1000000/60/60/24)) hours=$((duration/1000000/60/60%24)) @@ -55,7 +56,7 @@ byobu_prompt_runtime() { printf "[%s] " "$str" 1>&2 } # Requires Bash 4.x -export PS0='$(printf "%s" ${EPOCHREALTIME/./} >"$BYOBU_RUN_DIR/timer.$$")' +export PS0='$(printf "%s" ${EPOCHREALTIME/[^0-9]/} >"$BYOBU_RUN_DIR/timer.$$")' case "$BYOBU_DISTRO" in "Ubuntu") From d647ef21383e7308fdb098e3a504bd404a6d3f50 Mon Sep 17 00:00:00 2001 From: Dustin Kirkland Date: Sat, 29 Mar 2025 19:54:52 -0500 Subject: [PATCH 3/4] fix PS1 ANSI escape sequences causing line wrap errors --- debian/changelog | 4 +++- usr/share/byobu/profiles/bashrc | 12 ++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/debian/changelog b/debian/changelog index 290b754e..6c56fd98 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,8 +2,10 @@ byobu (6.13) unreleased; urgency=medium * usr/lib/byobu/include/common: - added -v|--version and -h|--help to most executables + * usr/share/byobu/profiles/bashrc: + - fix PS1 ANSI escape sequences causing line wrap errors - -- Dustin Kirkland Tue, 17 Sep 2024 19:46:50 -0500 + -- Dustin Kirkland Sat, 29 Mar 2025 19:53:42 -0500 byobu (6.12-0ubuntu1) noble; urgency=medium diff --git a/usr/share/byobu/profiles/bashrc b/usr/share/byobu/profiles/bashrc index 1709d047..502b55f7 100644 --- a/usr/share/byobu/profiles/bashrc +++ b/usr/share/byobu/profiles/bashrc @@ -29,7 +29,7 @@ esac [ -r "$BYOBU_PREFIX/lib/byobu/include/dirs" ] && . "$BYOBU_PREFIX/lib/byobu/include/dirs" byobu_prompt_git() { git branch 2>/dev/null | sed -e "/^[^*]/d" -e "s/* \(.*\)/ (\1)/"; } -byobu_prompt_status() { local e=$?; [ $e != 0 ] && echo -e " $e "; } +byobu_prompt_status() { printf "%s" "[$?]"; } byobu_prompt_symbol() { [ "$USER" = "root" ] && printf "%s" "#" || printf "%s" "\$"; } byobu_prompt_runtime() { # Calculate the approximate runtime of the previous command @@ -53,7 +53,7 @@ byobu_prompt_runtime() { [ "$hours" = "0" ] && hours= || hours="${hours}h " [ "$minutes" = "0" ] && minutes= || minutes="${minutes}m " str="${days}${hours}${minutes}${seconds}.${microseconds}s" - printf "[%s] " "$str" 1>&2 + printf "[%s]" "$str" 1>&2 } # Requires Bash 4.x export PS0='$(printf "%s" ${EPOCHREALTIME/[^0-9]/} >"$BYOBU_RUN_DIR/timer.$$")' @@ -61,7 +61,7 @@ export PS0='$(printf "%s" ${EPOCHREALTIME/[^0-9]/} >"$BYOBU_RUN_DIR/timer.$$")' case "$BYOBU_DISTRO" in "Ubuntu") # Use Ubuntu colors (grey / orange / aubergine) - export PS1="${debian_chroot:+($debian_chroot)}\[\e[03;5;15;202m\]\$(byobu_prompt_status)\[\e[00m\]\$(byobu_prompt_runtime)\[\e[38;5;245m\]\u\[\e[00m\]@\[\e[38;5;172m\]\h\[\e[00m\]:\[\e[38;5;5m\]\w\[\e[00m\]\e[38;5;102m\]\$(byobu_prompt_git)\e[00m\]\$(byobu_prompt_symbol) " + export PS1="\$(byobu_prompt_runtime) --> \$(byobu_prompt_status)\n\[\e[38;5;245m\]\u\[\e[00m\]@\[\e[38;5;172m\]\h\[\e[00m\]:\[\e[38;5;5m\]\w\[\e[00m\]\$(byobu_prompt_git)\$(byobu_prompt_symbol) " export GREP_COLORS="ms=01;38;5;202:mc=01;31:sl=:cx=:fn=01;38;5;132:ln=32:bn=32:se=00;38;5;242" export LESS_TERMCAP_mb=$(printf '\e[01;31m') # enter blinking mode – red export LESS_TERMCAP_md=$(printf '\e[01;38;5;180m') # enter double-bright mode – bold light orange @@ -81,10 +81,10 @@ case "$BYOBU_DISTRO" in # For reference: https://upload.wikimedia.org/wikipedia/commons/1/15/Xterm_256color_chart.svg # Convert hex to 256: https://gist.githubusercontent.com/MicahElliott/719710/raw/73d047f0a3ffc35f0655488547e7f24fa3f04ea6/colortrans.py # Use Wolfi colors (pink=170 / purple=98 / blue=63); flashing error code on previous command non-zero exit - PS1="\[\e[03;5;15;54m\]\$(byobu_prompt_status)\[\e[00m\]\$(byobu_prompt_runtime)\[\e[38;5;170m\]\u\[\e[00m\]@\[\e[38;5;98m\]\h\[\e[00m\]:\[\e[38;5;63m\]\w\[\e[00m\]\e[38;5;45m\]\$(byobu_prompt_git)\e[00m\]\$(byobu_prompt_symbol) " + export PS1="\$(byobu_prompt_runtime) --> \$(byobu_prompt_status)\n\[\e[38;5;170m\]\u\[\e[00m\]@\[\e[38;5;98m\]\h\[\e[00m\]:\[\e[38;5;63m\]\w\[\e[00m\]\$(byobu_prompt_git)\$(byobu_prompt_symbol) " ;; *) - # Use Googley colors (blue / red / yellow / blue / green / red ) - PS1="${debian_chroot:+($debian_chroot)}\[\e[31m\]\$(byobu_prompt_status)\[\e[38;5;69m\]\u\[\e[38;5;214m\]@\[\e[38;5;167m\]\h\[\e[38;5;214m\]:\[\e[38;5;71m\]\w\[\e[38;5;214m\]\$(byobu_prompt_git)\$(byobu_prompt_symbol)\[\e[00m\] " + # Use primary colors (blue / yellow / red ) + export PS1="\$(byobu_prompt_runtime) --> \$(byobu_prompt_status)\n\[\e[38;5;69m\]\u\[\e[00m\]@\[\e[38;5;214m\]\h\[\e[00m\]:\[\e[38;5;167m\]\w\[\e[00m\]\$(byobu_prompt_git)\$(byobu_prompt_symbol) " ;; esac From 34ca6fec92c6742c655ddd81a68a893ab74345ac Mon Sep 17 00:00:00 2001 From: Dustin Kirkland Date: Sat, 29 Mar 2025 19:56:22 -0500 Subject: [PATCH 4/4] releasing 6.13 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 6c56fd98..0fa5450a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,11 +1,11 @@ -byobu (6.13) unreleased; urgency=medium +byobu (6.13-0ubuntu1) plucky; urgency=medium * usr/lib/byobu/include/common: - added -v|--version and -h|--help to most executables * usr/share/byobu/profiles/bashrc: - fix PS1 ANSI escape sequences causing line wrap errors - -- Dustin Kirkland Sat, 29 Mar 2025 19:53:42 -0500 + -- Dustin Kirkland Sat, 29 Mar 2025 19:55:23 -0500 byobu (6.12-0ubuntu1) noble; urgency=medium