diff --git a/byobu b/byobu index c6062c37..cb73f4f5 100755 --- a/byobu +++ b/byobu @@ -20,6 +20,17 @@ OLDPKG="screen-profiles" PKG="byobu" +# Support Debian/Ubuntu's diversion for /usr/bin/screen, but also +# Red Hat and others who do not divert +if [ -x "/usr/bin/screen.real" ]; then + SCREEN_REAL="/usr/bin/screen.real" +elif [ -x "/usr/bin/screen" -a "$0" != "/usr/bin/screen" ]; then + SCREEN_REAL="/usr/bin/screen" +else + echo "ERROR: Cannot determine your actual screen binary" 1>&2 + exit 1 +fi + # Upgrade old config dir to the new name [ -d "$HOME/.$OLDKPG" -a ! -e "$HOME/.$PKG" ] && mv -f "$HOME/.$OLDPKG" "$HOME/.$PKG" @@ -33,7 +44,7 @@ PKG="byobu" # this shows that the user has an existing custom screen configuration, # and thus we will not force $PKG on them. if [ -r "$SCREENRC" -a ! -e "$HOME/.$PKG/profile" -a ! -h "$HOME/.$PKG/profile" ]; then - exec /usr/bin/screen.real -c "$SCREENRC" "$@" + exec $SCREEN_REAL -c "$SCREENRC" "$@" exit $? fi @@ -91,7 +102,7 @@ if [ "$#" = "0" ]; then temp=$(mktemp -t $PKG-XXXXXXXX) cat "$HOME/.$PKG/profile" "$HOME/.$PKG/windows" > "$temp" [ -n "$SHELL" -a -x "$SHELL" ] || SHELL="/bin/sh" - exec /usr/bin/screen.real -c "$temp" $SHELL /usr/bin/motd+shell "$temp" + exec $SCREEN_REAL -c "$temp" $SHELL /usr/bin/motd+shell "$temp" else - exec /usr/bin/screen.real -c "$HOME/.$PKG/profile" "$@" + exec $SCREEN_REAL -c "$HOME/.$PKG/profile" "$@" fi diff --git a/debian/changelog b/debian/changelog index 65f89ce1..254d4d68 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,14 @@ byobu (2.4) unreleased; urgency=low - * UNRELEASED + [ Dustin Kirkland ] + * byobu: support Debian/Ubuntu's diversion of screen to screen.real, + as well as RH, which does not divert the real screen binary + * debian/release.sh: handle version incrementing in the rpm specfile - -- Dustin Kirkland Mon, 11 May 2009 20:04:02 -0500 + [ David Duffey ] + * rpm/byobu.spec: initial specfile for RH packaging + + -- Dustin Kirkland Mon, 11 May 2009 21:32:00 -0500 byobu (2.3-0ubuntu1) karmic; urgency=low diff --git a/debian/release.sh b/debian/release.sh index 79bb128e..975a0b4b 100755 --- a/debian/release.sh +++ b/debian/release.sh @@ -25,6 +25,8 @@ bzr tag 2.$curver ver=`expr $curver + 1` dch -v "2.$ver" "UNRELEASED" sed -i "s/2.$ver) .*;/2.$ver) unreleased;/" debian/changelog +sed -i "s/^Version:.*$/Version: 2.$ver/" rpm/$PKG.spec +sed -i "s%^Source0:.*$%Source0: http://code.launchpad.net/byobu/trunk/2.$ver/+download/byobu_2.$ver.orig.tar.gz%" rpm/$PKG.spec gpg --armor --sign --detach-sig ../"$PKG"_*.orig.tar.gz diff --git a/rpm/byobu.spec b/rpm/byobu.spec new file mode 100644 index 00000000..28c923e4 --- /dev/null +++ b/rpm/byobu.spec @@ -0,0 +1,164 @@ +Name: byobu +Version: 2.2 +Release: 1%{?dist} +Summary: a set of useful profiles and a profile-switcher for GNU screen + +Group: Applications/System +License: GPL +URL: http://launchpad.net/byobu +Source0: http://code.launchpad.net/byobu/trunk/2.2/+download/byobu_2.2.orig.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +BuildRequires: gettext +Requires: screen, python >= 2.5, newt, gettext + +# TODO +# help.txt is in different locations under RPM/DEB +# python 2.5 is not available on RHEL 5 + +%package extras +Summary: a set of useful profiles and a profile-switcher for GNU screen +Group: Applications/System +Requires: byobu + +%description +byobu includes a set of profiles for the GNU screen window manager. +These profiles are quite useful on server machines which are not running +a graphical desktop. The 'screen' command provides a number of advanced +features are not necessarily exposed in the default profile. These profiles +provide features such as status bars, clocks, notifiers (reboot-required, +updates-available), etc. The profile-switcher allows users to quickly switch +their .screenrc to any of the available profiles. + +update-notifier-common provides a more efficient and standard mechanism for +calculating the number of updates available in the status panel. + + +%description extras +The byobu package contains a basic set of light and dark profiles. +The byobu-extras package provides additional profiles of various +different light and dark colors. + + +%prep +%setup -q -n %{name}_%{version}.orig + + +%build +profiles/generate + + +%install +rm -rf $RPM_BUILD_ROOT +debian/rules install-po +mkdir -p ${RPM_BUILD_ROOT}/usr/lib/byobu +mkdir -p ${RPM_BUILD_ROOT}/usr/share/locale +mkdir -p ${RPM_BUILD_ROOT}/usr/share/byobu/profiles +mkdir -p ${RPM_BUILD_ROOT}/usr/share/byobu/keybindings +mkdir -p ${RPM_BUILD_ROOT}/usr/share/byobu/windows +mkdir -p ${RPM_BUILD_ROOT}/usr/bin +cp -ar bin/* ${RPM_BUILD_ROOT}/usr/lib/byobu +cp -ar po/locale/* ${RPM_BUILD_ROOT}/usr/share/locale +cp -ar profiles/common ${RPM_BUILD_ROOT}/usr/share/byobu/profiles +cp -ar profiles/NONE ${RPM_BUILD_ROOT}/usr/share/byobu/profiles +cp -ar profiles/black ${RPM_BUILD_ROOT}/usr/share/byobu/profiles +cp -ar profiles/dark ${RPM_BUILD_ROOT}/usr/share/byobu/profiles +cp -ar profiles/light ${RPM_BUILD_ROOT}/usr/share/byobu/profiles +cp -ar keybindings/common ${RPM_BUILD_ROOT}/usr/share/byobu/keybindings +cp -ar keybindings/none ${RPM_BUILD_ROOT}/usr/share/byobu/keybindings +cp -ar windows/common ${RPM_BUILD_ROOT}/usr/share/byobu/windows +cp -ar select-screen-profile ${RPM_BUILD_ROOT}/usr/bin +cp -ar byobu ${RPM_BUILD_ROOT}/usr/bin +cp -ar byobu-config ${RPM_BUILD_ROOT}/usr/bin +cp -ar byobu-status ${RPM_BUILD_ROOT}/usr/bin +cp -ar byobu-status-detail ${RPM_BUILD_ROOT}/usr/bin +cp -ar screen-launcher-install ${RPM_BUILD_ROOT}/usr/share/byobu +cp -ar screen-launcher-uninstall ${RPM_BUILD_ROOT}/usr/share/byobu +cp -ar motd+shell ${RPM_BUILD_ROOT}/usr/bin +cp -ar screen-launcher ${RPM_BUILD_ROOT}/usr/bin +cp -ar byobu-export ${RPM_BUILD_ROOT}/usr/bin +cp -ar profiles/*_* ${RPM_BUILD_ROOT}/usr/share/byobu/profiles + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%files +%defattr(-,root,root,-) +/usr/bin/motd+shell +/usr/bin/screen-launcher +/usr/bin/byobu +/usr/bin/byobu-config +/usr/bin/byobu-export +/usr/bin/byobu-status +/usr/bin/byobu-status-detail +/usr/bin/select-screen-profile +/usr/lib/byobu/arch +/usr/lib/byobu/battery +/usr/lib/byobu/cpu-count +/usr/lib/byobu/cpu-freq +/usr/lib/byobu/date +/usr/lib/byobu/disk-available +/usr/lib/byobu/disk-used +/usr/lib/byobu/ec2-cost +/usr/lib/byobu/hostname +/usr/lib/byobu/ip-address +/usr/lib/byobu/load-average +/usr/lib/byobu/logo +/usr/lib/byobu/mem-available +/usr/lib/byobu/mem-used +/usr/lib/byobu/menu +/usr/lib/byobu/network-down +/usr/lib/byobu/network-up +/usr/lib/byobu/processes +/usr/lib/byobu/reboot-required +/usr/lib/byobu/release +/usr/lib/byobu/time +/usr/lib/byobu/updates-available +/usr/lib/byobu/uptime +/usr/lib/byobu/users +/usr/lib/byobu/whoami +/usr/lib/byobu/wifi-quality +/usr/lib/byobu/disk-available +/usr/lib/byobu/disk-used +/usr/share/locale/es/LC_MESSAGES/byobu.mo +/usr/share/locale/fr/LC_MESSAGES/byobu.mo +/usr/share/byobu/keybindings/common +/usr/share/byobu/keybindings/none +/usr/share/byobu/profiles/NONE +/usr/share/byobu/profiles/black +/usr/share/byobu/profiles/common +/usr/share/byobu/profiles/dark +/usr/share/byobu/profiles/light +/usr/share/byobu/screen-launcher-install +/usr/share/byobu/screen-launcher-uninstall +/usr/share/byobu/windows/common +%doc README +%doc doc/help.txt +%doc debian/copyright +%doc debian/changelog +%doc COPYING + + +%files extras +%defattr(-,root,root,-) +/usr/share/byobu/profiles/dark_blue +/usr/share/byobu/profiles/dark_cyan +/usr/share/byobu/profiles/dark_green +/usr/share/byobu/profiles/dark_purple +/usr/share/byobu/profiles/dark_red +/usr/share/byobu/profiles/dark_yellow +/usr/share/byobu/profiles/light_blue +/usr/share/byobu/profiles/light_cyan +/usr/share/byobu/profiles/light_green +/usr/share/byobu/profiles/light_purple +/usr/share/byobu/profiles/light_red +/usr/share/byobu/profiles/light_yellow + + +%changelog +* Tue May 5 2009 David Duffey +- Initial RPM release +- see /usr/share/doc/byobu-*/changelog for upstream changelog