Package: screen Version: 4.3.1-2 Severity: wishlist Control: block -1 819397 X-Debbugs-Cc: svenj...@gmx.de, bi...@debian.org
Dear Maintainer, I'm going to add GNU/screen support into debian-installer [0]. It would be useful when install debian via serial console or network-console (SSH). Enclosed patch to add screen-udeb in debian/control. Thanks to Laurent Bigonville [1] and Sven Joachim [2], dependency is minimized to libc6-udeb and libtinfo5-udeb only. [0] https://lists.debian.org/debian-boot/2016/02/msg00547.html [1] https://bugs.debian.org/819358#25 [2] https://bugs.debian.org/819397#10 Cheers, -- Roger Shimizu, GMT +9 Tokyo PGP/GPG: 17B3ACB1
From 675f57bde3118867b4c249771e7c58ad7be9d5eb Mon Sep 17 00:00:00 2001 From: Roger Shimizu <rogershim...@gmail.com> Date: Sat, 2 Apr 2016 00:45:34 +0900 Subject: [PATCH] Add udeb (debian-install) support. Thanks to Laurent Bigonville and Sven Joachim for providing ideas on build screen-udeb with less dependency. See discussion in #819358 and #819397. --- debian/changelog | 7 ++++ debian/control | 19 +++++++++++ debian/rules | 39 +++++++++++++++------- debian/screen-udeb.install | 1 + debian/udeb/screenrc | 80 ++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 135 insertions(+), 11 deletions(-) create mode 100644 debian/screen-udeb.install create mode 100644 debian/udeb/screenrc diff --git a/debian/changelog b/debian/changelog index d5d387e..29afd4e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,15 @@ screen (4.3.1-3) UNRELEASED; urgency=medium + [ Axel Beckert ] * Add CVE-ID to previous changelog entry and patch. * Remove screen-dbg package, there are automatic -dbgsym packages now. + [ Roger Shimizu ] + * Add udeb (debian-install) support. + Thanks to Laurent Bigonville and Sven Joachim for providing ideas + on build screen-udeb with less dependency. + See discussion in #819358 and #819397. + -- Axel Beckert <a...@debian.org> Thu, 03 Sep 2015 14:29:29 +0200 screen (4.3.1-2) unstable; urgency=high diff --git a/debian/control b/debian/control index b06cc65..e4b410a 100644 --- a/debian/control +++ b/debian/control @@ -30,3 +30,22 @@ Description: terminal multiplexer with VT100/ANSI terminal emulation Screen also supports a whole slew of other features, including configurable input and output translation, serial port support, configurable logging, and multi-user support. + +Package: screen-udeb +Architecture: any +Section: debian-installer +Package-Type: udeb +Priority: extra +Depends: ${misc:Depends}, + ${shlibs:Depends} +Description: terminal multiplexer with VT100/ANSI terminal emulation - udeb + GNU Screen is a terminal multiplexer that runs several separate "screens" on + a single physical character-based terminal. Each virtual terminal emulates a + DEC VT100 plus several ANSI X3.64 and ISO 2022 functions. Screen sessions + can be detached and resumed later on a different terminal. + . + Screen also supports a whole slew of other features, including configurable + input and output translation, serial port support, configurable logging, + and multi-user support. + . + This is stripped-down version of screen for debian-installer. diff --git a/debian/rules b/debian/rules index f376a0a..88ff596 100755 --- a/debian/rules +++ b/debian/rules @@ -9,6 +9,7 @@ #export DH_VERBOSE=1 ROOT := $(CURDIR)/debian/screen +ROOT_UDEB := $(CURDIR)/debian/screen-udeb # statically define this... sucko TTYGROUP := 5 @@ -16,11 +17,12 @@ TTYGROUP := 5 dh $@ --parallel --with autoreconf override_dh_auto_clean: - test ! -s doc/Makefile || $(MAKE) -C doc realclean - test ! -s Makefile || ! grep -q clean Makefile || $(MAKE) realclean + test ! -s build/doc/Makefile || (cd build; $(MAKE) -C doc realclean) + test ! -s build/Makefile || (cd build; ! grep -q clean Makefile || $(MAKE) realclean) + test ! -s build-udeb/Makefile || (cd build-udeb; ! grep -q clean Makefile || $(MAKE) realclean) override_dh_auto_configure: - dh_auto_configure -- \ + dh_auto_configure --builddirectory build -- \ --with-socket-dir=/var/run/screen \ --enable-pam \ --with-pty-mode=0620 \ @@ -30,25 +32,40 @@ override_dh_auto_configure: --enable-colors256 \ --enable-telnet \ --enable-use-locale + # to minimize to library dependency, udeb binary is without "--enable-pam" + dh_auto_configure --builddirectory build-udeb -- \ + --with-socket-dir=/var/run/screen \ + --with-pty-mode=0620 \ + --with-pty-group=${TTYGROUP} \ + --enable-rxvt_osc \ + --with-sys-screenrc=/etc/screenrc \ + --enable-colors256 \ + --enable-telnet \ + --enable-use-locale # Assert the use of fifos instead of sockets - grep -q "define.*NAMEDPIPE.*1" config.h || echo "#define NAMEDPIPE 1" >> config.h + (cd build; grep -q "define.*NAMEDPIPE.*1" config.h || echo "#define NAMEDPIPE 1" >> config.h) + (cd build-udeb; grep -q "define.*NAMEDPIPE.*1" config.h || echo "#define NAMEDPIPE 1" >> config.h) override_dh_auto_build: - dh_auto_build -- CFLAGS+='-Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers' - dh_auto_build -Ddoc -- CFLAGS+='-Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers' + dh_auto_build --builddirectory build -- CFLAGS+='-Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers' + dh_auto_build --builddirectory build -Ddoc -- CFLAGS+='-Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers' + dh_auto_build --builddirectory build-udeb -- CFLAGS+='-Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers' override_dh_auto_install: # can't call the normal install target b/c it installs the info files # and other crud - $(MAKE) prefix=$(ROOT)/usr SCREENENCODINGS='$$(prefix)/share/screen/utf8encodings' installdirs install_bin + (cd build; $(MAKE) prefix=$(ROOT)/usr SCREENENCODINGS='$$(prefix)/share/screen/utf8encodings' installdirs install_bin) + (cd build-udeb; $(MAKE) prefix=$(ROOT_UDEB)/usr SCREENENCODINGS='$$(prefix)/share/screen/utf8encodings' installdirs install_bin) # hack around the fact that the install target makes screen a symlink to screen-$$(VERSION) - rm -f $(ROOT)/usr/bin/screen - mv -f $(ROOT)/usr/bin/screen* $(ROOT)/usr/bin/screen + rm -f $(ROOT)/usr/bin/screen $(ROOT_UDEB)/usr/bin/screen + mv -f $(ROOT)/usr/bin/screen* $(ROOT)/usr/bin/screen + mv -f $(ROOT_UDEB)/usr/bin/screen* $(ROOT_UDEB)/usr/bin/screen # make it setgid utmp - chown root:utmp $(ROOT)/usr/bin/screen - chmod 2755 $(ROOT)/usr/bin/screen + chown root:utmp $(ROOT)/usr/bin/screen $(ROOT_UDEB)/usr/bin/screen + chmod 2755 $(ROOT)/usr/bin/screen $(ROOT_UDEB)/usr/bin/screen # Fix package-contains-info-dir-file, remove /usr/share/info/dir.gz rm -f $(ROOT)/usr/share/info/dir* + rm -rf $(ROOT_UDEB)/usr/share/info $(ROOT_UDEB)/usr/share/man override_dh_installinit: dh_installinit --no-start --init-script='screen-cleanup' diff --git a/debian/screen-udeb.install b/debian/screen-udeb.install new file mode 100644 index 0000000..1dc35e8 --- /dev/null +++ b/debian/screen-udeb.install @@ -0,0 +1 @@ +debian/udeb/screenrc etc/ diff --git a/debian/udeb/screenrc b/debian/udeb/screenrc new file mode 100644 index 0000000..3806819 --- /dev/null +++ b/debian/udeb/screenrc @@ -0,0 +1,80 @@ +# $Id: screenrc,v 1.15 2003/10/08 11:39:03 zal Exp $ +# +# /etc/screenrc +# Stripped down version for udeb (debian-installer) +# 2016 Roger Shimizu <rogershim...@gmail.com> + +# ------------------------------------------------------------------------------ +# SCREEN SETTINGS +# ------------------------------------------------------------------------------ + +startup_message off +#nethack on + +#defflow on # will force screen to process ^S/^Q +deflogin on +#autodetach off + +# turn visual bell on +vbell on +vbell_msg " Wuff ---- Wuff!! " + +# define a bigger scrollback, default is 100 lines +defscrollback 1024 + +# ------------------------------------------------------------------------------ +# SCREEN KEYBINDINGS +# ------------------------------------------------------------------------------ + +# Remove some stupid / dangerous key bindings +bind ^k +#bind L +bind ^\ +# Make them better +bind \\ quit +bind K kill +bind I login on +bind O login off +bind } history + +# An example of a "screen scraper" which will launch urlview on the current +# screen window +# +#bind ^B eval "hardcopy_append off" "hardcopy -h $HOME/.screen-urlview" "screen urlview $HOME/.screen-urlview" + +# ------------------------------------------------------------------------------ +# TERMINAL SETTINGS +# ------------------------------------------------------------------------------ + +# The vt100 description does not mention "dl". *sigh* +termcapinfo vt100 dl=5\E[M + +# turn sending of screen messages to hardstatus off +hardstatus off +# Set the hardstatus prop on gui terms to set the titlebar/icon title +termcapinfo xterm*|rxvt*|kterm*|Eterm* hs:ts=\E]0;:fs=\007:ds=\E]0;\007 +# use this for the hard status string +hardstatus string "%h%? users: %u%?" + +# An alternative hardstatus to display a bar at the bottom listing the +# windownames and highlighting the current windowname in blue. (This is only +# enabled if there is no hardstatus setting for your terminal) +# +#hardstatus lastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<" + +# set these terminals up to be 'optimal' instead of vt100 +termcapinfo xterm*|linux*|rxvt*|Eterm* OP + +# Change the xterm initialization string from is2=\E[!p\E[?3;4l\E[4l\E> +# (This fixes the "Aborted because of window size change" konsole symptoms found +# in bug #134198) +termcapinfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l' + +# To get screen to add lines to xterm's scrollback buffer, uncomment the +# following termcapinfo line which tells xterm to use the normal screen buffer +# (which has scrollback), not the alternate screen buffer. +# +#termcapinfo xterm|xterms|xs|rxvt ti@:te@ + +# Enable non-blocking mode to better cope with flaky ssh connections. +defnonblock 5 -- 2.8.0.rc3