diff --git a/bin/reboot_required b/bin/reboot_required index 29e56fa8..2e95c481 100755 --- a/bin/reboot_required +++ b/bin/reboot_required @@ -17,15 +17,18 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -flag="/var/run/reboot-required" +PKG="byobu" +reboot="/var/run/reboot-required" +reload="/var/run/screen/S-$USER/$PKG.reload-required" case "$1" in --detail) - ls -alF "$flag" 2>&1 + ls -alF "$reboot" "$reload" 2>&1 ;; --short) - [ -e "$flag" ] && printf "Yes" || printf "No" + [ -e "$reboot" ] && printf "Yes" || printf "No" ;; *) - [ -e "$flag" ] && printf "\005{=b bW}(@)\005{-} " || exit 0 + [ -e "$reboot" ] && printf "\005{=b bW}(@)\005{-} " + [ -e "$reload" ] && printf "\005{=b bW}\005{-} " ;; esac diff --git a/byobu-janitor b/byobu-janitor index 1eaccd69..c5188f11 100644 --- a/byobu-janitor +++ b/byobu-janitor @@ -19,8 +19,16 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -OLDPKG="screen-profiles" PKG="byobu" +FLAG="/var/run/screen/S-$USER/$PKG.reload-required" + +# Exit immediately, if we're not forced, and there is no reload flag +if [ "$1" != "--force" ] && [ ! -e "$FLAG" ]; then + exit 0 +fi + +# Set the rest of the variables +OLDPKG="screen-profiles" DEFAULT_PROFILE="light" PROFILE="$HOME/.$PKG/profile" @@ -55,3 +63,6 @@ fi # underscores such that we can source the file as a shell snippet; # fix existing status configuration. sed -i "s/-/_/g" "$HOME/.$PKG/status" + +# Clean up flag +rm -f "$FLAG" diff --git a/byobu-status b/byobu-status index c4192fed..fc35b37e 100755 --- a/byobu-status +++ b/byobu-status @@ -50,7 +50,7 @@ if [ "$P" = "--detail" ]; then [ -n "$detail" ] && printf "%s\n" "$detail" done else - eval x=\$$P || exit 1 + eval x="\$$P" || exit 1 [ "$x" = "1" ] || exit 0 exec $(find_script "$P") fi diff --git a/byobu.1 b/byobu.1 index f5dc7b44..b5fe85f5 100644 --- a/byobu.1 +++ b/byobu.1 @@ -45,7 +45,7 @@ byobu \- wrapper script for seeding a user's byobu configuration and launching s \fBprocesses\fP \- total number of processes running on the system; displayed in the lower bar in black text on a dark yellow background with a trailing '&' indicating 'background processes' -\fBreboot_required\fP \- symbol present if a reboot is required following a system update; displayed in the lower bar white text on a blue background by the symbol '(@)' which visually looks like a 'cycle your machine' logo +\fBreboot_required\fP \- symbol present if a reboot is required following a system update; displayed in the lower bar white text on a blue background by the symbol '(@)' which visually looks like a 'cycle your machine' logo; additionally, reboot_required will print '' in white text on a blue background, if Byobu requires you to reload your profile to affect some changes. \fBrelease\fP \- distribution and version information about the release running on the current system as reported by \fBlsb_release(1)\fP or \fI/etc/issue\fP; displayed in the lower bar in bold black text toward the left on a grey background diff --git a/debian/changelog b/debian/changelog index 7261019a..8cb1089f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -18,11 +18,14 @@ byobu (2.13) unreleased; urgency=low several scripts and put it in a single place; call this script before launching byobu, and then only once a day or when the user refreshes their profile + * bin/reboot_required, byobu-janitor, byobu-status, byobu.1, + debian/postinst: display an next to the reboot symbol, if a byobu + reload is required; flag this in the postinst, after upgrading byobu [ Ciemon Dunville ] * byobu.1: reflect the keybinding toggle change to Ctrl-a-! - -- Dustin Kirkland Fri, 19 Jun 2009 19:09:36 -0500 + -- Dustin Kirkland Sat, 20 Jun 2009 13:35:21 -0500 byobu (2.12-0ubuntu1) karmic; urgency=low diff --git a/debian/postinst b/debian/postinst index 6f03e2ba..1f8b26b1 100644 --- a/debian/postinst +++ b/debian/postinst @@ -11,4 +11,13 @@ if [ -x "/usr/bin/screen.real" ]; then dpkg-divert --package "$PKG" --rename --remove /usr/bin/screen fi +# Notify users that they should reload their profile +set -x +DIR="/var/run/screen" +for d in $(ls "$DIR"); do + touch "$DIR/$d/$PKG.reload-required" + u=$(echo "$d" | sed "s:^S-::") + chown $u:$u "$DIR/$d/$PKG.reload-required" +done + #DEBHELPER#