summaryrefslogtreecommitdiffstats
path: root/debian
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-06 02:20:21 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-06 02:20:21 +0000
commitef3904423d3301d87b4b499b7e5feb359d622405 (patch)
tree981032c10096a70b0cb95ea74de48492f9f08251 /debian
parentAdding upstream version 4.6.2. (diff)
downloadscreen-ef3904423d3301d87b4b499b7e5feb359d622405.tar.xz
screen-ef3904423d3301d87b4b499b7e5feb359d622405.zip
Adding debian version 4.6.2-3+deb10u1.debian/4.6.2-3+deb10u1debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--debian/NEWS31
-rw-r--r--debian/README.Debian182
-rw-r--r--debian/README.source12
-rw-r--r--debian/README.terminfo5
-rw-r--r--debian/changelog1572
-rw-r--r--debian/clean12
-rw-r--r--debian/compat1
-rw-r--r--debian/control50
-rw-r--r--debian/copyright38
-rw-r--r--debian/patches/05prefer-libtinfo-over-libcurses.patch35
-rw-r--r--debian/patches/11replace_doc_paths.patch198
-rw-r--r--debian/patches/13split_info_files.patch17
-rw-r--r--debian/patches/26source_encoding.patch357
-rw-r--r--debian/patches/45suppress_remap.patch15
-rw-r--r--debian/patches/52fix_screen_utf8_nfd.patch41
-rw-r--r--debian/patches/58-show-encoding-hardstatus.patch42
-rw-r--r--debian/patches/60-screen-4.2.1-debian4.1.0-compatibility.patch57
-rw-r--r--debian/patches/61-default-PATH_MAX-if-undefined-for-hurd.patch38
-rw-r--r--debian/patches/63-add-utempter-switch.patch24
-rw-r--r--debian/patches/64-fix-manpage-typos-reported-by-lintian.patch82
-rw-r--r--debian/patches/80_session_creation_docs.patch74
-rw-r--r--debian/patches/81_session_creation_util.patch77
-rw-r--r--debian/patches/82_session_creation_core.patch161
-rw-r--r--debian/patches/90_cherrypick-d340b02c_do-not-liunk-against-libelf.patch39
-rw-r--r--debian/patches/99_CVE-2021-26937.patch64
-rw-r--r--debian/patches/series20
-rwxr-xr-xdebian/rules77
-rw-r--r--debian/screen-udeb.install1
-rw-r--r--debian/screen-udeb.lintian-overrides2
-rw-r--r--debian/screen.dirs13
-rw-r--r--debian/screen.docs8
-rw-r--r--debian/screen.examples2
-rw-r--r--debian/screen.info1
-rw-r--r--debian/screen.init49
-rw-r--r--debian/screen.install2
-rw-r--r--debian/screen.lintian-overrides20
-rw-r--r--debian/screen.manpages1
-rw-r--r--debian/screen.postinst35
-rw-r--r--debian/screen.postrm20
-rw-r--r--debian/screen.preinst14
-rw-r--r--debian/screen.prerm8
-rw-r--r--debian/screen.screen-cleanup.tmpfile1
-rw-r--r--debian/screenrc108
-rw-r--r--debian/source/format1
-rw-r--r--debian/source/options1
-rw-r--r--debian/tests/control2
-rw-r--r--debian/tests/t/boilerplate.sh49
-rwxr-xr-xdebian/tests/t/command.t17
-rwxr-xr-xdebian/tests/t/create-list-quit.t9
-rwxr-xr-xdebian/tests/t/dash-Dm.t20
-rwxr-xr-xdebian/tests/t/dash-U.t9
-rwxr-xr-xdebian/tests/t/version-help.t11
-rw-r--r--debian/udeb/screenrc57
-rw-r--r--debian/upstream/metadata11
-rw-r--r--debian/upstream/signing-key.asc146
-rw-r--r--debian/watch6
56 files changed, 3945 insertions, 0 deletions
diff --git a/debian/NEWS b/debian/NEWS
new file mode 100644
index 0000000..7bef72a
--- /dev/null
+++ b/debian/NEWS
@@ -0,0 +1,31 @@
+screen (4.1.0~20120320gitdb59704-10) unstable; urgency=medium
+
+ On systems running systemd, the management of /run/screen previously
+ handled by /etc/init.d/screen-cleanup now occurs via systemd-tmpfiles and
+ /usr/lib/tmpfiles.d/screen-cleanup.conf. The installed version of that
+ file works for systems with the default screen permissions; if you override
+ the permissions of /usr/bin/screen with dpkg-statoverride as documented in
+ /usr/share/doc/screen/README.Debian, you should create an overriding file
+ /etc/tmpfiles.d/screen-cleanup.conf setting the corresponding permissions.
+ See /usr/share/doc/screen/README.Debian for details.
+
+ If you have already overridden the permissions of /usr/bin/screen, an
+ /etc/tmpfiles.d/screen-cleanup.conf has been created for you.
+
+ -- Axel Beckert <abe@debian.org> Fri, 28 Feb 2014 12:23:42 +0100
+
+screen (4.1.0~20120320gitdb59704-7) unstable; urgency=low
+
+ In case you upgrade screen from 4.0.3 to 4.1.0 while running inside
+ screen and you have to reconnect to that screen session (or any other
+ screen session which has been started before the upgrade), there may be
+ a few screen features not working until you exit the 4.0.3-started
+ session and replace it with a 4.1.0-started session.
+
+ Known issues of 4.0.3 to 4.1.0 interoperability as of now:
+
+ * Terminal window resizing (WINCH signal) does not propagate to the
+ screen session. Detach and reattach again instead to get the size of
+ the terminals inside the screen session adjusted propely.
+
+ -- Axel Beckert <abe@debian.org> Sun, 16 Sep 2012 12:48:44 +0200
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..ffd8b65
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,182 @@
+Screen Information
+==================
+
+See the copyright file for information about where to get screen,
+licensing, and other assorted information.
+
+
+Debian Modifications
+--------------------
+ * added Debian package maintenance files
+ * Use /run/screen as socket directory
+ * udeb only: Use setgid "utmp" instead of setuid root or
+ libutempter.
+
+
+Debian Screen Q&A
+-----------------
+
+Q: screen always complains about the permissions of /run/screen.
+ What's wrong?
+
+A: Simplified, the binary ensures that $SCREENDIR has just enough
+ permission bits enabled so that each user can create and access his
+ socket directory. This means:
+
+ /usr/bin/screen setuid root -> /run/screen 0755
+ /usr/bin/screen setgid utmp -> /run/screen 0775
+ /usr/bin/screen without setid bits -> /run/screen 0777
+
+ These cases are all handled by the init script or by the tmpfiles.d
+ configuration documented later in this file. However, the actual
+ test is a bit more complicated. And as the variable names are all
+ quite self-explanatory, just have a look at the C code itself:
+
+] n = (eff_uid == 0 && (real_uid || (st.st_mode & 0775) != 0775)) ? 0755 :
+] (eff_gid == (int)st.st_gid && eff_gid != real_gid) ? 0775 :
+] 0777;
+] if (((int)st.st_mode & 0777) != n)
+] Panic(0, "Directory '%s' must have mode %03o.", SockDir, n);
+
+ If the invoking user has primary group utmp, the above assumption
+ will fail. The same holds if the underlying file system is mounted
+ 'nosuid'. In these cases you have to adapt the init script or
+ tmpfiles.d configuration yourself.
+
+
+Q: shift+page up in xterm/gnome-terminal/konsole used to let me scroll
+ back a bit, but now it doesn't. How can I make it work with
+ scrollback?
+
+A: It doesn't scrollback consistently because screen (the program)
+ displays in xterm's alternate screen buffer.
+
+ To have screen use xterm's normal screen buffer (which includes
+ scrollback), you can add the following to your .screenrc:
+
+ termcapinfo xterm|xterms|xs|rxvt ti@:te@
+
+
+Q: Screen sets my xterm titlebar. I don't like this, how do I make it
+ stop?
+
+A: The titlebar setting is set in the /etc/screenrc by telling screen
+ that some of the GUI terminals have a hardstatus line and that it
+ can be set by sending the xterm escape sequences that set the
+ title/icon.
+
+ # 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
+
+ You can override this on a system wide basis by commenting out this
+ line in the /etc/screenrc or you can override it in your personal
+ screenrc by adding the following line:
+
+ hardstatus alwaysmessage
+
+
+Q: Why do I get #!$@#$@!% trailing spaces when I cut and paste from
+ mutt running within screen?
+Q: Why does the statusbar in my irc client extend to the end of the
+ screen in xterm but not in screen?
+
+A: This has to do with handling of the bce terminal attribute, or lack
+ thereof by default in screen. You can enable bce on a per-user
+ basis by adding the following to your .screenrc:
+
+ defbce on
+ term screen-bce
+
+ NOTE: if you do this your TERM will be screen-bce. When you login
+ to other machines they may not have a screen-bce terminal
+ type, so you will see errors. To fix this you must put the
+ terminfo for screen-bce on that remote machine. The screen
+ terminfo is found in
+ /usr/share/doc/screen/terminfo/screeninfo.src and you can
+ compile it on the remote machine using tic(1).
+
+
+Q: Screen doesn't notice when I resize the term - what's wrong?
+
+A: Firstly look for the same question in FAQ.gz. If the problem
+ persists: There have been reports of sshd instances blocking
+ SIGWINCH (presumably restarted from aptitude and thus inheriting
+ its signal mask) which therefore also prohibit remote screen
+ sessions from ever seeing the signal. Have a look at the old
+ bugreport <https://bugs.debian.org/392302> for means to determine
+ whether you are affected. (You might have to restart sshd with a
+ crontab entry or similar magic if ssh is your only way to access
+ the box.)
+
+
+Q: Multiuser mode is not working - how can I enable it?
+
+A: Screen has to be setuid root to accomplish this. (Note the security
+ implications this has! See e.g. https://bugs.debian.org/852484 for
+ a bug which becomes a root exploit with this. Also bear in mind
+ that setuid programs remove some variables from their environment
+ for exactly this reason - see ld.so(1).) If you still want to
+ enable the feature, you may do so with the following commands:
+
+] dpkg-statoverride --update --add root root 4755 /usr/bin/screen
+] chmod 0755 /run/screen
+] echo 'd /run/screen 0755 root utmp' > /etc/tmpfiles.d/screen-cleanup.conf
+
+ dpkg-statoverride will make sure that the modified permissions
+ remain in effect even if a new version of the screen package is
+ installed. /run/screen will be automatically recreated with the
+ proper permissions if the directory lives on volatile storage
+ (doesn't persist between subsequent reboots).
+
+
+Q: I've configured screen with different permissions, but I want to go
+ back to the default setgid configuration - how can I do that?
+
+A:
+
+] dpkg-statoverride --remove /usr/bin/screen
+] chmod 1777 /run/screen
+] rm /etc/tmpfiles.d/screen-cleanup.conf
+
+
+Q: When I'm using ssh from inside screen, I get the error message
+ "Error opening terminal: screen.xterm-256color." or similar.
+
+A: The TERM variable inside a screen session (which is then passed to
+ the remote shell by ssh) depends on two things:
+
+ 1. Availability of specific termcap entries locally.
+ 2. Value of the TERM variable when the session was started.
+
+ To avoid this error message, the best way is to start a new screen
+ session under different terminal settings, but there are also ways
+ without starting a new sessions. You have several options:
+
+ Without starting a new screen session:
+
+ * Start ssh with "env TERM=screen-256color ssh".
+
+ * Install ncurses-term on the remote machine and then start a new
+ ssh session. (Might help, depending on the remote distribution.)
+
+ Exiting the current screen session, change one of the following and
+ start a new screen session:
+
+ * Add "term screen-256color" to ~/.screenrc or /etc/screenrc on
+ your local machine.
+
+ * Start the new screen session with "env TERM=xterm screen".
+
+ * Start the new screen session with "screen -T screen-256color".
+
+ * Uninstall ncurses-term locally and then start a new screen
+ session. (Might help, depending on the remote distribution.)
+
+ If "screen-256color" is not available on the remote distribution
+ either, especially if it's not a recent release, try just "screen"
+ instead of "screen-256color".
+
+ See https://bugs.debian.org/854414 for a thorough discussion on
+ this topic.
+
+ -- Axel Beckert <abe@debian.org>, Thu, 20 Jul 2017 23:54:05 +0200
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..c4a9154
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,12 @@
+Jenkins Autobuilds of Debian's Screen Package
+=============================================
+
+The Jenkins instance of the Grml Project builds new screen packages
+upon each push to the collab-maint git repository, see
+http://jenkins.grml.org/view/Debian/. Thanks Mika Prokop and the Grml
+Team for that service!
+
+You can get the resulting .deb packages also via APT, see
+http://jenkins.grml.org/view/Debian/job/screen-binaries/ for details.
+
+ -- Axel Beckert <abe@debian.org>, Sat, 13 Jun 2015 23:48:43 +0200
diff --git a/debian/README.terminfo b/debian/README.terminfo
new file mode 100644
index 0000000..d576c36
--- /dev/null
+++ b/debian/README.terminfo
@@ -0,0 +1,5 @@
+Debian uses ncurses/terminfo, not curses/termcap, so you really shouldn't need
+the screencap file in this directory.
+
+The screeninfo.src file is installed by the `ncurses-term' package
+-- it's here for reference, and to recover from stupid errors (like?).
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..b46f41e
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,1572 @@
+screen (4.6.2-3+deb10u1) buster-security; urgency=high
+
+ * [CVE-2021-26937] Fix invalid write access and application crash or
+ possibly unspecified other impact via a crafted UTF-8 character
+ sequence. (Closes: #982435)
+
+ -- Axel Beckert <abe@debian.org> Sat, 20 Feb 2021 21:59:38 +0100
+
+screen (4.6.2-3) unstable; urgency=medium
+
+ * Cherry-pick upstream commit d340b02c to stop linking against libelf if
+ available. This upstream commit is from 2014, but accidentally has
+ been reverted upstream in 2015 while configure.in was renamed to
+ configure.ac. (Closes: #903818)
+
+ -- Axel Beckert <abe@debian.org> Sun, 15 Jul 2018 14:11:39 +0200
+
+screen (4.6.2-2) unstable; urgency=medium
+
+ * Remove trailing whitespace from ancient debian/changelog entries.
+ * Declare compliance with Debian Policy 4.1.5. (No changes needed.)
+ * Bump debhelper compatibility level to 11.
+ + Update versioned debhelper build-dependency accordingly.
+ + Replace dh_systemd_enable override by a dh_installsystemd override.
+ * Drop "Build-Conflicts: libelf-dev". Having libelf-dev installed no
+ more causes screen to FTBFS.
+ * Declare "Rules-Requires-Root: binary-targets". Thanks Lintian!
+ * Update screen.lintian-overrides wrt. to renamed lintian tag.
+ * Update Vcs-* headers for move to Salsa.
+ * Add fixes for typos found by Lintian recently to
+ debian/patches/64-fix-manpage-typos-reported-by-lintian.patch.
+
+ -- Axel Beckert <abe@debian.org> Sun, 15 Jul 2018 00:48:31 +0200
+
+screen (4.6.2-1) unstable; urgency=medium
+
+ * Import new upstream release.
+ + Refresh patches where necessary.
+ + Add fixes for new typos found by Lintian to
+ debian/patches/64-fix-manpage-typos-reported-by-lintian.patch.
+
+ -- Axel Beckert <abe@debian.org> Wed, 25 Oct 2017 19:48:01 +0200
+
+screen (4.6.1-2) unstable; urgency=medium
+
+ * Document possible solutions for issues where ssh sessions from inside
+ screen do not work properly due to missing terminal definitions on the
+ remote machine. (Closes: #854414, LP: #1726826)
+ * Declare compliance with Debian Policy 4.1.1.
+ + Drop no more needed "Priority: extra" header from screen-udeb.
+ * Fix duplicate word in README.Debian. Thanks Lintian!
+ * Drop no more needed "Testsuite: autopkgtest" header.
+ * debian/upstream/metadate: Use HTTPS for git.savannah.gnu.org URLs.
+ * debian/patches/52fix_screen_utf8_nfd.patch: Use HTTPS URL for Origin.
+
+ -- Axel Beckert <abe@debian.org> Wed, 25 Oct 2017 08:08:11 +0200
+
+screen (4.6.1-1) unstable; urgency=low
+
+ * Import upstream version 4.6.1
+ + Refresh 58-show-encoding-hardstatus.patch.
+ + Upstream bugfix release: upload to unstable again.
+ * Mention Ubuntu bug reports fixed by 4.6.0 in previous changelog entry.
+ * Merge 4.5.0-4 changes into 4.5.1-4 changelog entry instead of having
+ them as their own an out-of-order changelog entry. Unconfuses the BTS
+ (c.f. #355942) and probably also some users. Thanks to Guillem Jover
+ for the discussion and idea.
+
+ -- Axel Beckert <abe@debian.org> Mon, 10 Jul 2017 23:54:35 +0200
+
+screen (4.6.0-1) experimental; urgency=low
+
+ * New upstream release.
+ + Supports many more baud rates, including 1500000. (Closes: #860910)
+ + Updates Unicode wide tables to 9.0. (Closes: #846396)
+ + Makes "get ttyname" work inside containers. (LP: #1669578)
+ + Drop 62-fix-texinfo-syntax-error.patch, fixed differently.
+ + Drop 64-fix-garbage-on-serial-terminal.patch, applied upstream.
+ + Refresh patches where necessary.
+ * Retroactively mention #355942 in 4.5.1-1's changelog entry.
+ * Add patch to fix spelling errors found by lintian.
+
+ -- Axel Beckert <abe@debian.org> Thu, 29 Jun 2017 00:10:57 +0200
+
+screen (4.5.1-4) unstable; urgency=low
+
+ * Upload to unstable again.
+ * Merge 4.5.0-4 upload into master branch.
+ + Refresh 63-fix-garbage-on-serial-terminal.patch and renumber/rename
+ it to 64-fix-garbage-on-serial-terminal.patch
+ * Declare compliance with Debian Policy 4.0.0. (No changes needed.)
+
+ [ Changes merged from the stretch-targeted 4.5.0-4 upload to unstable ]
+ * Add CVE-ID to 4.5.0-3 changelog entry and to
+ 62-reverse-cherry-pick-5460f5d2-to-fix-privilege-escalation.patch.
+ * Apply patch by Samuel Thibault to fix terminal garbage in Debian
+ Installer over serial line. (Closes: #857808)
+
+ -- Axel Beckert <abe@debian.org> Mon, 19 Jun 2017 00:48:02 +0200
+
+screen (4.5.1-3) experimental; urgency=low
+
+ * Also change permissions (wrt. to utempter usage) in
+ /usr/lib/tmpfiles.d/screen-cleanup.conf. Fixes "Directory
+ '/run/screen' must have mode 777." error when running under systemd.
+
+ -- Axel Beckert <abe@debian.org> Wed, 08 Mar 2017 23:20:15 +0100
+
+screen (4.5.1-2) experimental; urgency=low
+
+ * Replace all occurrences of /var/run/ in packaging with /run/. (Closes:
+ #856824)
+ * Update README.Debian with regards to libutempter usage.
+ + Add lintian override for "spelling-error-in-readme-debian root root
+ (duplicate word) root". (It's user "root" and group "root".)
+ * Reflow README.Debian to lines with less than 80 characters per line.
+
+ -- Axel Beckert <abe@debian.org> Sun, 05 Mar 2017 19:00:00 +0100
+
+screen (4.5.1-1) experimental; urgency=low
+
+ * debian/upstream/signing-key.asc: Import updated upstream keyring from
+ https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=screen
+ * Import new upstream release.
+ + Remove patch for CVE-2017-5618. Solved upstream, but differently.
+ + Remove 20fix_typos.patch, applied upstream.
+ + Refresh patches 11replace_doc_paths.patch, 45suppress_remap.patch,
+ 58-show-encoding-hardstatus.patch, 80_session_creation_docs.patch
+ + Add new patch to fix syntax error in doc/screen.texinfo.
+ * Change Build-Conflicts against libutempter-dev to Build-Depends and
+ patch configure.ac to sport a --enable-utempter switch.
+ * Enable libutempter in normal build, stay with setgid utmp for udeb.
+ (Closes: #819781, #355942)
+
+ -- Axel Beckert <abe@debian.org> Sun, 05 Mar 2017 02:59:04 +0100
+
+screen (4.5.0-3) unstable; urgency=medium
+
+ * Add patch to revert upstream commit 5460f5d2 ("adding permissions
+ check for the logfile name") which caused a privilege escalation.
+ (CVE-2017-5618, Closes: #852484)
+
+ -- Axel Beckert <abe@debian.org> Tue, 24 Jan 2017 22:57:44 +0100
+
+screen (4.5.0-2) unstable; urgency=medium
+
+ * Update 61-default-PATH_MAX-if-undefined-for-hurd.patch by defining
+ PATH_MAX in a second place if undefined. Fixes FTBFS on Hurd.
+
+ -- Axel Beckert <abe@debian.org> Wed, 18 Jan 2017 16:54:41 +0100
+
+screen (4.5.0-1) unstable; urgency=medium
+
+ * New upstream release.
+ + Drop all cherry-picked patches.
+ + Refresh 11replace_doc_paths.patch,
+ 58-show-encoding-hardstatus.patch, and
+ 80_session_creation_docs.patch
+ + Remove hunks from 20fix_typos.patch which were fixed upstream.
+ + Drop 62-fix-RC_DIGRAPH-handling.patch, applied upstream.
+
+ -- Axel Beckert <abe@debian.org> Wed, 18 Jan 2017 02:43:52 +0100
+
+screen (4.4.0-6) unstable; urgency=medium
+
+ * Fix double installation of debian/screen.tmpfile. (Closes: #842440)
+ * debian/rules:
+ + Factor out common dh_auto_configure parameters for .deb and .udeb.
+ + Remove redundant quotes.
+ + dh_auto_configure: Use shorter -B instead of --builddirectory.
+
+ -- Axel Beckert <abe@debian.org> Sun, 30 Oct 2016 05:44:17 +0100
+
+screen (4.4.0-5) unstable; urgency=medium
+
+ * Minimize screenrc for udeb from 1.9kB to 1.1kB without loss of
+ functionality by removing unneeded comments and ASCII-style
+ underlining.
+ * Bump debhelper compatibility to 10.
+ + Update versioned debhelper build-dependency accordingly.
+ + Drop "--parallel --with autoreconf" from debian/rules.
+ + Drop explicit build-dependency on dh-autoreconf.
+ * Cherry-pick f3a12f01 from upstream screen-v4 branch to fix crash with
+ long $TERM variable.
+ * Fix typo "defualt" also in doc/screen.texinfo. (Already has been fixed
+ in man page. Nevertheless closes: #741141)
+ * Update some links in debian/upstream/metadata to reflect the fact that
+ we follow GNU Screen's stable branch (called screen-v4).
+ * Add Antti Järvinen as co-maintainer. Thanks for the offer to help!
+ (Closes: #654116)
+
+ -- Axel Beckert <abe@debian.org> Tue, 25 Oct 2016 01:38:19 +0200
+
+screen (4.4.0-4) unstable; urgency=medium
+
+ [ Jan C. Nordholz ]
+ * Add patch to fix broken handling of "bind u digraph U+" (Closes:
+ #831672)
+ * Consistency fix for 60-screen-4.2.1-debian4.1.0-compatibility.patch.
+ * Replace 80EXP_session_creation_time.patch with three smaller patches
+ and reworked functionality. (Hopefully closes: #507817)
+
+ [ Axel Beckert ]
+ * Cherry-pick upstream commit 1babc3f7 to fix crash with
+ bumpleft/bumpright on blank window.
+ * debian/watch: Comment out Savannah download page. It's outdated and
+ uscan insists on having only "one main upstream tarballs" URL.
+
+ -- Axel Beckert <abe@debian.org> Sun, 07 Aug 2016 17:50:16 +0200
+
+screen (4.4.0-3) unstable; urgency=low
+
+ * Add patch to set PATH_MAX to 4096 if undefined. Should fix
+ FTBFS on GNU/Hurd since 4.4.0-1.
+
+ -- Axel Beckert <abe@debian.org> Tue, 21 Jun 2016 22:24:05 +0200
+
+screen (4.4.0-2) unstable; urgency=low
+
+ [ Roger Shimizu ]
+ * Add udeb (debian-installer) support and ship a udeb/screenrc to
+ emulate the console windows commonly found when running d-i. Thanks to
+ Laurent Bigonville and Sven Joachim for providing ideas on building
+ screen-udeb with less dependencies. See discussion in #819358 and
+ #819397. (Closes: #819988)
+
+ [ Axel Beckert ]
+ * Rename relevant files from debian/* to debian/screen.* to make clear
+ that they don't affect other binary packages built by this source
+ package.
+ * Raise build-dependency on libncursesw5-dev ≥ 6.0+20160319-2 so that
+ libtinfo5-udeb is available, too.
+
+ -- Axel Beckert <abe@debian.org> Tue, 21 Jun 2016 00:10:02 +0200
+
+screen (4.4.0-1) unstable; urgency=low
+
+ * New upstream release
+ + Refresh patches where needed.
+ + Update 60-screen-4.2.1-debian4.1.0-compatibility.patch to keep
+ Debian's MSG_VERSION on 2.
+ + Drop 61denial-of-service-stack-overflow-fix.patch (applied upstream)
+ + Drop no more needed configure-generated-file-in-source lintian
+ overrides and hence the whole debian/source/lintian-overrides file.
+ * Change some URLs from http:// to https:// as suggested by DUCK.
+
+ -- Axel Beckert <abe@debian.org> Mon, 20 Jun 2016 03:44:52 +0200
+
+screen (4.3.1-3) unstable; urgency=medium
+
+ [ Axel Beckert ]
+ * Add CVE-ID to previous changelog entry and patch.
+ * Remove screen-dbg package, there are automatic -dbgsym packages now.
+ * Build-Conflict with libelf-dev on all instead of just non-linux
+ architectures. (Closes: #819792)
+ * Declare compliance with Debian Policy 3.9.8. (No changes needed.)
+ * Enable all build-time hardening flags.
+ * Use DEB_CFLAGS_MAINT_APPEND once instead of passing CFLAGS to all
+ dh_auto_build invocations manually.
+ * Switch Vcs-Git header from git:// to https://.
+ * Switch Homepage header from http:// to https://.
+ * Reorder alternatives in Suggests by popularity.
+ * Build-Conflict with libutempter-dev to ensure consistent builds and
+ not add further build-dependencies. This would hinder future udeb
+ support as well as add a "Priority: optional" build-dependency to a
+ "Priority: standard" package, which is unwanted. (Closes: #819781)
+ * Add patch to fix some recent typo findings by Lintian.
+ * debian/copyright: Update Joost Witteveen's e-mail address. Issue
+ reported by DUCK.
+
+ [ Sven Joachim ]
+ * Add patch to prefer libtinfo over libcurses. (Closes: #819789)
+
+ -- Axel Beckert <abe@debian.org> Wed, 13 Apr 2016 00:33:50 +0200
+
+screen (4.3.1-2) unstable; urgency=high
+
+ * Cherry-pick upstream patch to fix a stack overflow which can be used
+ crash the SCREEN server process and hence can be used for denial of
+ service (and possible even worse) attacks. (Closes: #797624,
+ CVE-2015-6806)
+ * Suggest ncurses-term as it can solve cases where screen refuses to
+ work due to an unknown terminal given in $TERM. (Closes: #609656)
+ * Remove Jan Christoph Nordholz from Uploaders as suggested by the MIA
+ team. Thanks for all your work on screen, Jan!
+ * Override lintian warning systemd-no-service-for-init-rcS-script, it's
+ a false positive. (More or less closes: #796690)
+
+ -- Axel Beckert <abe@debian.org> Tue, 01 Sep 2015 17:07:42 +0200
+
+screen (4.3.1-1) unstable; urgency=medium
+
+ * New upstream bugfix release.
+
+ -- Axel Beckert <abe@debian.org> Mon, 29 Jun 2015 12:43:56 +0200
+
+screen (4.3.0-2) unstable; urgency=low
+
+ * Upload to unstable again.
+ * Re-add debian/dirs with /etc/tmpfiles.d/ and add a comment why screen
+ ships an empty directory.
+ + Fixes regression introduced in 4.2.1-4: If systemd is not installed
+ and screen is either setuid or neither setuid nor setgid,
+ /var/lib/dpkg/info/screen.postinst bailed out with "16:
+ /var/lib/dpkg/info/screen.postinst: cannot create
+ /etc/tmpfiles.d/screen-cleanup.conf: Directory nonexistent".
+ + See comment in debian/dirs for more detailed reasoning.
+ * No more ship /lib/systemd/system/screen-cleanup.service in the package
+ but link it to /dev/null in postinst and remove the link again in
+ postrm. (LP: #1462692)
+ * Add fixed bugs reported in Ubuntu to previous changelog entry.
+ * Apply wrap-and-sort.
+
+ -- Axel Beckert <abe@debian.org> Wed, 17 Jun 2015 21:57:18 +0200
+
+screen (4.3.0-1) experimental; urgency=low
+
+ * New upstream release
+ + Drop 00-fix-version-in-Makefile.patch (obsolete) and remove 4.2.1
+ upstream tar ball notes from README.Debian.
+ + Drop 48screen-ipv6.patch, applied upstream.
+ + Drop all patches cherry-picked from upstream.
+ + Refresh patches 11replace_doc_paths.patch, 26source_encoding.patch,
+ 58-show-encoding-hardstatus.patch,
+ 60-screen-4.2.1-debian4.1.0-compatibility.patch,
+ 80EXP_session_creation_time.patch
+ + Update line numbers in hyphen-used-as-minus-sign lintian overrides.
+ + Fixes segfault if hardstatus and maxwin are used together. (Closes:
+ #707044)
+ + Adds feature "firstline" for a status line in the first line at the
+ top of the terminal window. (Closes: #512342, #548845)
+ + Fixes documentation of -R/-RR in man page. (LP: #1459653)
+
+ -- Axel Beckert <abe@debian.org> Sun, 14 Jun 2015 00:58:44 +0200
+
+screen (4.2.1-4) unstable; urgency=medium
+
+ * Drop dh_installchangelogs override to install the new ChangeLog to
+ /usr/share/doc/screen/changelog.gz
+ * Mention in README.source that Grml's Jenkins builds screen snapshots.
+ * Make all patch headers DEP3 compliant. Add bug report numbers, etc.
+ * Change priority from optional to standard. (Closes: #783524)
+ * Declare package as autopkgtestable to make ci.d.n run the test suite.
+ * Install all NEWS files as docs, also those from elder releases.
+ * debian/copyright:
+ + Convert to machine-readable DEP5 format.
+ + Update packaging copyright years.
+ + Add https://ftp.gnu.org/gnu/screen/ as additional download source.
+ * Add some comments to document the reasons for some entries in
+ debian/lintian-overrides.
+ * Remove debian/dirs:
+ + /etc/tmpfiles.d/ is shipped by systemd and only needed with systemd
+ + Explicitly creating /etc/ seems no more necessary.
+ * Mark 48screen-ipv6.patch as forwarded, it has been applied upstream.
+
+ -- Axel Beckert <abe@debian.org> Thu, 11 Jun 2015 01:02:06 +0200
+
+screen (4.2.1-3) unstable; urgency=low
+
+ * Cherry-pick 7d8fd3ad from upstream to fix segfaults with full screen
+ text-mode applications and altscreen on (Closes: #681572)
+ * Cherry-pick 8ffd5f46 from upstream to fix caption/hardstatus color
+ rendering errors (Closes: #731388, LP: #1257895)
+ * Add a very simple TAP-based DEP8 test suite under debian/tests/t.
+ * Change Vcs-Browser header to new cgit web interface.
+ * Bump Standards-Version to 3.9.6 (no changes needed)
+ * Add lintian overrides for configure-generated-file-in-source as
+ config.{log,status} are listed in debian/clean.
+
+ -- Axel Beckert <abe@debian.org> Thu, 09 Oct 2014 03:19:07 +0200
+
+screen (4.2.1-2) unstable; urgency=low
+
+ * Upload to unstable again
+ * Enable parallel building
+
+ -- Axel Beckert <abe@debian.org> Sat, 26 Jul 2014 14:05:20 +0200
+
+screen (4.2.1-1) experimental; urgency=low
+
+ * New upstream release
+
+ Dropped patches applied or obsoleted upstream:
+ + 01configure_fix_alpha_vsprintf.patch
+ + 03-fix-terminal-handling-on-kfreebsd.patch
+ + 05fix_osdef_include.patch
+ + 06-fix-parallel-build.patch
+ + 10norootpassword.patch
+ + 12kfreebsd_ctty.patch
+ + 14size_matters.patch
+ + 16fix_gcc_warnings.patch
+ + 22exchange_file_mode.patch
+ + 23exitcode_q_ls.patch
+ + 24option_parser.patch
+ + 32misc_minor_fixes.patch
+ + 46fix-keybinding-typo-in-manpage.patch
+ + 47screen-cc.patch
+ + 49long-usernames.patch
+ + 50increase-max-TERM-length.patch
+ + 51fix-utf8-status-padding-bug.patch
+ + 53fix-startup-race-condition.patch
+ + 59-fix-manpage-warnings.patch
+ + 61-allow-dev-console-to-be-a-symlink.patch
+ + 62-prevent-repeated-title-prompt.patch
+
+ Also dropped patch 60-644788-screen-4.1.0-4.0.3-interoperability.patch
+ as it was only necessary for the migration from Squeeze to Wheezy and
+ from Precise to Trusty.
+
+ Refreshed and/or updated the following remaining patches:
+ + 11replace_doc_paths.patch
+ + 48screen-ipv6.patch
+ + 58-show-encoding-hardstatus.patch
+ + 80EXP_session_creation_time.patch
+
+ New patches:
+ + Fix wrong version in upstream's top-level Makefile.
+ + Set values in os.h to those from 49long-usernames and
+ 50increase-max-TERM-length and set MSG_VERSION back to 2 to ensure
+ backwards compatibility in Debian. (See #644788 for the discussion
+ with older releases.)
+
+ * Update line-numbers in lintian overrides.
+ * Add README.source explaining which patch is needed for the clean target.
+
+ -- Axel Beckert <abe@debian.org> Thu, 05 Jun 2014 23:50:40 +0200
+
+screen (4.2.0-2) unstable; urgency=low
+
+ * Upload to unstable
+
+ -- Axel Beckert <abe@debian.org> Mon, 28 Apr 2014 02:32:48 +0200
+
+screen (4.2.0-1) experimental; urgency=low
+
+ * New upstream release
+ Refreshed patches:
+ + 10norootpassword.patch
+ + 11replace_doc_paths.patch
+ + 14size_matters.patch
+ + 16fix_gcc_warnings.patch
+ + 46fix-keybinding-typo-in-manpage.patch
+ + 47screen-cc.patch
+ + 48screen-ipv6.patch
+ + 51fix-utf8-status-padding-bug.patch
+ + 59-fix-manpage-warnings.patch
+
+ -- Axel Beckert <abe@debian.org> Thu, 17 Apr 2014 15:09:54 +0200
+
+screen (4.1.0~20120320gitdb59704-10) unstable; urgency=medium
+
+ * Extend 49long-usernames.patch to also cover multiuser usage (Closes:
+ #735554) Thanks Martin von Wittich!
+ * Add systemd variant of /etc/init.d/screen-cleanup (Closes: #740301)
+ + Update README.Debian and NEWS.Debian accordingly
+ + Bump versioned debhelper build-dependency to 9.20130504 to ensure
+ systemd support in dh_installinit.
+ Thanks Josh Triplett for help and patches!
+ * Add a debian/upstream/metadata file according to DEP-12.
+ * Bump Standards-Version to 3.9.5 (no changes).
+ * debian/watch:
+ + Update to use GNU's and Savannah's servers (old location at
+ uni-erlangen.de no more exist)
+ + Check upstream GPG signature and add upstream signing key as
+ debian/upstream/signing-key.asc
+
+ -- Axel Beckert <abe@debian.org> Thu, 17 Apr 2014 11:45:17 +0200
+
+screen (4.1.0~20120320gitdb59704-9) unstable; urgency=low
+
+ * Build-Conflict against libelf-dev on non-linux (Closes: #684386)
+ * Allow /dev/console to be a symlink. (Closes: #701173) Thanks to Igor
+ Pashev for the report and patch.
+ * screen-cleanup init.d script: Label /var/run/screen for SE Linux
+ (Closes: #680360)
+ * Add a package with debugging symbols (Closes: #715170)
+ * Ensure that the title prompt can only appear once. (Closes: #625866)
+ * No more pass --update-rcd-params='start 70 S .' to dh_installinit. The
+ LSB headers of the init script already contain all necesssary
+ information. (Closes: #717553)
+ * Expand 50increase-max-TERM-length.patch to also allow larger terminal
+ type names when using the "term" command interactively from inside
+ screen or from .screenrc. (Closes: #491812)
+
+ -- Axel Beckert <abe@debian.org> Mon, 22 Jul 2013 21:37:24 +0200
+
+screen (4.1.0~20120320gitdb59704-8) unstable; urgency=low
+
+ * Update debian/patches/13split_info_files.patch to change now ambiguous
+ makeinfo option --split to --split-size. Fixes FTBFS with texinfo 5.x.
+ (Closes: #707530)
+ * Use doc/screen.info* instead of listing every file individually in
+ debian/info.
+ * Bump debhelper compatibility to 9
+ + Update versioned debhelper build-dependency
+ * Revamp debian/rules
+ + Use dh_auto_{configure,build}
+ + Drop DPKG_EXPORT_BUILDFLAGS and /usr/share/dpkg/buildflags.mk
+ + Drop manual DEB_BUILD_OPTIONS parsing
+ + Use debian/clean instead of dh_clean parameters and add some more
+ files to clean up
+ + Use dh_install and debian/install instead of install and cp
+ + Simplify variable usage
+ + Fix dh_clean vs dh_prep in install target
+ + No more ignore dh_installman errors
+ + Finally switch to a dh7 style debian/rules file
+ * Bump Standards-Version to 3.9.4 (no changes)
+ * Apply wrap-and-sort.
+ * Fix lintian warning package-contains-info-dir-file
+
+ -- Axel Beckert <abe@debian.org> Mon, 20 May 2013 17:04:14 +0200
+
+screen (4.1.0~20120320gitdb59704-7) unstable; urgency=low
+
+ * Extend 60-644788-screen-4.1.0-4.0.3-interoperability.patch:
+ + Add support for detaching (Closes: #684342)
+ + Document remaining issues in debian/NEWS
+
+ -- Axel Beckert <abe@debian.org> Sun, 16 Sep 2012 13:42:12 +0200
+
+screen (4.1.0~20120320gitdb59704-6) unstable; urgency=low
+
+ * Apply patch by Julien Cristau <jcristau@debian.org> to add 4.0.3
+ interoperability. (Closes: #683228; fixing the issue properly instead
+ of working around it. Thanks!)
+ + Drop all debconf handling and translations of debconf templates
+ (Closes: #679747, #683227; Thanks Beatrice Torracca and Christian
+ Perrier!)
+ + Drop build-depends on po-debconf and pre-depends on debconf
+ + Drop debian/NEWS (Closes: #678950)
+ + Remove no more necessary lintian override
+ * Screen's info pages are now split over more files than before. Also
+ include the new file doc/screen.info-6 (Closes: #682283)
+
+ -- Axel Beckert <abe@debian.org> Tue, 07 Aug 2012 08:54:42 +0200
+
+screen (4.1.0~20120320gitdb59704-5) unstable; urgency=low
+
+ * Disable patch 52fix_screen_utf8_nfd.patch since it introduced a
+ regression (Closes: #677512, Reopens: #600246)
+ * Fix bug number of Slovak debconf translation in
+ 4.1.0~20120320gitdb59704-3 changelog entry
+ * Use GMANE URLs for refering to upstream discussions as lists.gnu.org
+ doesn't support threading over month boundaries. (Thanks Evgeni
+ Golov!)
+ * Add translations of debconf templates:
+ + Romanian (Closes: #679366; Thanks Andrei POPESCU!)
+ * Update translations of debconf templates:
+ + German (Closes: #679452; Thanks Helge Kreutzmann!)
+
+ -- Axel Beckert <abe@debian.org> Sat, 30 Jun 2012 15:27:26 +0200
+
+screen (4.1.0~20120320gitdb59704-4) unstable; urgency=low
+
+ * Fix missing quoting in debian/config's dpkg --compare-version call
+ (Closes: #678207)
+ * Update NEWS.Debian entry. Now includes how to resurrect running
+ screen 4.0.3 sessions including generic commands for copy and
+ paste. (Closes: #678181)
+ * Set sticky bit on /var/run/screen if screen is not setuid or setgid
+ (Closes: #592895)
+ * Fix race condition when creating directories in /var/run/screen/.
+ (Closes: #653434)
+ * Add translations of debconf templates
+ + Norwegian Bokmål (Closes: #678112; Thanks Bjørn Steensrud!)
+ + Polish (Closes: #678158; Thanks Michał Kułach!)
+ + Galician (Closes: #678469; Thanks Jorge Barreiro!)
+ + French (Closes: #678548; Thanks David Prévot!)
+ + Czech (Closes: #678669; Thanks Michal Šimůnek!)
+ + Spanish (Closes: #678891; Thanks Fernando C. Estrada!)
+
+ -- Axel Beckert <abe@debian.org> Sun, 24 Jun 2012 23:54:09 +0200
+
+screen (4.1.0~20120320gitdb59704-3) unstable; urgency=low
+
+ * Fix workaround for #644788 (detect running screen in maintainer
+ scripts) on kfreebsd (Closes: #677227)
+ * Update revised debconf templates and package description received from
+ the debian-l10n-english team (Closes: #677303)
+ * Add translations of debconf templates
+ + Simplified Chinese (Closes: #677726; Thanks Aron Xu!)
+ + Danish (Closes: #677748; Thanks Joe Hansen!)
+ + Swedish (Closes: #677752; Thanks Martin Bagge!)
+ + Slovak (Closes: #677848; Thanks Miguel Figueiredo!)
+ + Portuguese (Closes: #677838; Thanks Miguel Figueiredo!)
+ + Russian (Closes: #678021; Thanks Yuri Kozlov!)
+ * Updated German translation
+ * Run debconf-updatepo automatically in clean target
+ + Add build-dependency on po-debconf
+
+ -- Axel Beckert <abe@debian.org> Mon, 18 Jun 2012 21:10:49 +0200
+
+screen (4.1.0~20120320gitdb59704-2) unstable; urgency=low
+
+ * Upload to unstable as the two RC issues which the experimental package
+ had, are now resolved or at least workarounded:
+ - Copy /usr/bin/screen to /tmp/screen-4.0.3 on upgrade from pre-4.1.0
+ and use debconf to inform the user about it. (Closes: #644788)
+ - Add patch to fix terminal handling on kfreebsd (Closes: #660567)
+ Thanks Jan Christoph Nordholz!
+ * Add patch to fix parallel building.
+ * Use dh_lintian instead of handling lintian overrides manually.
+ * No more clean up manually what dh_clean can clean up.
+ * Add new patch to fix man page errors and warnings:
+ - Lintian warning manpage-has-errors-from-man fixed by replacing all
+ occurrences of "..." by "…"
+ - Fixes tons of lintian warnings hyphen-used-as-minus-sign
+ - Added two false positives of hyphen-used-as-minus-sign to
+ lintian-overrides
+ - Fixes two typos found by lintian
+ - Update 80EXP_session_creation_time.patch accordingly
+
+ -- Axel Beckert <abe@debian.org> Sun, 10 Jun 2012 17:54:53 +0200
+
+screen (4.1.0~20120320gitdb59704-1) experimental; urgency=low
+
+ * Happy 25th Birthday GNU Screen
+ * New upstream snapshot
+ - Refreshed the following patches:
+ + 01configure_fix_alpha_vsprintf
+ + 11replace_doc_paths
+ + 14size_matters
+ + 48screen-ipv6
+ + 51fix-utf8-status-padding-bug
+ + 52fix_screen_utf8_nfd
+ + 58-show-encoding-hardstatus
+ + 80EXP_session_creation_time
+ - Removed those hunks from 16fix_gcc_warnings which have been applied
+ upstream.
+ - Manually adapted patch 26source_encoding.
+
+ [ Axel Beckert ]
+ * Switch Maintainer and Uploaders.
+ * Add patch fix-utf8-status-padding-bug by Kees Cook and Dustin Kirkland
+ (probably fixes #215955)
+ * Updated previous changelog entry to document further bugs which have
+ been fixed by that upload.
+ * Add build dependency on dpkg-dev (>= 1.16.1~) for being able to
+ include /usr/share/dpkg/buildflags.mk
+ * Add lintian override for init.d-script-does-not-implement-optional-option
+ warning. A cleanup script does not need a status subcommand.
+ * Fix lintian warning init.d-script-missing-lsb-description.
+ * Changes taken from Ubuntu's screen package:
+ - debian/init: Use find -delete rather than find -print0 | xargs rm to
+ avoid starting two processes.
+ - debian/patches/58-show-encoding-hardstatus.patch (Closes: #533498;
+ the remaining part of #533498 has been fixed upstream, see
+ https://savannah.gnu.org/bugs/index.php?26401)
+ * Add patch 52fix_screen_utf8_nfd by Nobuhiro Iwamatsu to fix screen
+ outputing "ÿ" after a connected character. (Closes: #600246)
+ * Bumped Standards-Version to 3.9.3.
+
+ [ Moritz Muehlenhoff ]
+ * Enable hardening build flags (Closes: #656513)
+
+ -- Axel Beckert <abe@debian.org> Tue, 20 Mar 2012 22:16:07 +0100
+
+screen (4.1.0~20110819git450e8f3-1) experimental; urgency=low
+
+ [ Brian P Kroth ]
+ * New upstream snapshot based on 4.1.0 prerelease 20101110git066b098 as
+ packaged by Fedora 15 (Closes: #641867)
+ * Removed the following patches which have been applied upstream or are
+ otherwise no more necessary:
+ - 01CVS
+ - 02configure_use_ncursesw
+ - 03fully_expand_screenencodings
+ - 09CHERRY_*
+ - 15manpage_typos
+ - 16fix_gcc_warnings_II
+ - 18manpage_maxwin_limit
+ - 19flowcontrol_lockup
+ - 20defmonitor
+ - 21manpage_nethack_activation
+ - 25allow_symlink_sockdir
+ - 27doc_sty_noenvpassing
+ - 28blankerprg_callsemantics
+ - 29infodoc_version
+ - 31upstream_cherries
+ - 33increase_max_winmsg_renditions
+ - 35screen_invoked_with_a_command
+ - 40cjk_eastasian
+ - 50EXP_tilde_expansion
+ * Refreshed the following patches:
+ - 10norootpassword
+ - 14size_matters
+ - 26source_encoding
+ * Added patches from Fedora:
+ - 47screen-cc: Additional assertions to improve stability
+ - 48screen-ipv6: IPv6 support for built-in telnet
+ * Enable telnet (Closes: #353090) and localized day/month names
+
+ [ Axel Beckert ]
+ * Add myself as Uploader.
+ * Remove Adam Lazur from Uploaders. (Closes: #603009)
+ * New upstream snapshot based on 4.1.0 prerelease, commit 450e8f3 of
+ 2011-Aug-19. (LP: #183849)
+ - Fixes a crash when attaching to a layout that was created while
+ detached. (Closes: #591624, LP: #786292, #788670)
+ - Raises MAXWIN to 100 (Closes: #450421)
+ - No more segfaults if resized to 0 or 1 line tall (Closes: #532240,
+ LP: #315237)
+ - screen -d -m no more segfaults on setenv without value (Closes: #496750)
+ - Now has tsl, fsl and dsl terminfo caps (Closes: #152961)
+ - Windows created with "-d -m" no more ignore "-X exec" (Closes: #481411)
+ - Now has a session name string escape (Closes: #488619)
+ - Re-optimize screen updates (Closes: #621704, LP: #588846)
+ - No more mishandles xterm control string to set window title (Closes:
+ #344759) Thanks to Thomas Dickey and Sadrul Habib Chowdhury.
+ - Fixes/Relaxes requirement for a controlling terminal (Closes: #461107)
+ - Uses fuzzy-matching for session names only if required (Closes: #361274)
+ - Has customizable digraphs (Closes: #25096, a wishlist bug from 1998! :-)
+ - Fixes a bug with displaying blank spaces with bce on. (Closes: #578729,
+ LP: #702094)
+ - Fix using alternate screen buffers in some cases. (Closes: #558724)
+ - Several fixes for handling mouse events. (Closes: #223320)
+ - Passes signals to programs running inside screen on kfreebsd.
+ (Closes: 522689)
+ - Documents vertical split in man-page. (Closes: #611453)
+ - Adds focus left/right commands. (Closes: #526002)
+ - Locked screens no more can be unlocked by reattaching to it:
+ (Closes: #238535)
+ - Shows cursor in front of the selected window in "windowlist -b"
+ (Closes: #446082)
+ * Remove the patches which have been applied upstream or are
+ otherwise no more necessary:
+ - 17manpage_sessionname_warning
+ - 30fix_fsf_address
+ * Refreshed the following patches:
+ - 10norootpassword
+ - 11replace_doc_paths
+ - 12kfreebsd_ctty
+ - 14size_matters
+ - 16fix_gcc_warnings
+ - 22exchange_file_mode
+ - 23exitcode_q_ls
+ - 24option_parser
+ - 32misc_minor_fixes
+ * Refreshed and renumbered the following patches:
+ - {51 => 80}EXP_session_creation_time
+ * Added patches:
+ - 46fix-keybinding-typo-in-manpage (Closes: #630535, #541793)
+ - 49long-usernames (Closes: #560231, LP: #582153)
+ - 50increase-max-TERM-length (Closes: #621804, #630976)
+ * Use dh_autoreconf
+ - Build-Depend on dh-autoreconf
+ * Convert to source format "3.0 (quilt)"
+ - Remove build dependency on dpatch
+ * Bump Standards-Version to 3.9.2 (no changes)
+ * Update debian/copyright
+ - Upstream switched to GPLv3
+ - Update debian packaging information
+ * Fix lintian warning debian-rules-missing-recommended-target
+ * Add lintian override for
+ possibly-insecure-handling-of-tmp-files-in-maintainer-script
+ * /etc/init.d/screen-cleanup: check for existence of screen binary
+ (Closes: #612990)
+ * Add Vcs-* headers
+ * Add extend-diff-ignore=config\.h\.in to debian/source/options
+ * Added a NEWS file stating problems to attach to a detached 4.0.3
+ session with a 4.1.0 screen, e.g. during a dist-upgrade
+ * Suggest iselect, screenie or byobu (Closes: #176626)
+
+ -- Axel Beckert <abe@debian.org> Sun, 09 Oct 2011 03:29:31 +0200
+
+screen (4.0.3-14+hurd.1) unreleased; urgency=low
+
+ * Fix #522689.
+
+ -- Samuel Thibault <sthibault@debian.org> Sun, 06 Mar 2011 23:28:56 +0000
+
+screen (4.0.3-14) unstable; urgency=low
+
+ * Cherry-pick a few upstream commits:
+ * f6b50e17 (create windows in detached session, closes: #466072).
+ * 97708d58 (vertical split documentation, closes: #525998).
+ * bb04008e (report session identifier on detach, closes: #199747).
+ * Slightly adjust Homepage field.
+ * Add support for build option 'noopt'.
+ * Bump Standards version to 3.8.2, no changes.
+ * Specify GPL version in d/copyright.
+
+ -- Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de> Tue, 28 Jul 2009 13:21:24 +0200
+
+screen (4.0.3-13) unstable; urgency=low
+
+ * Sync with Ubuntu, closes: #520359. New dpatches:
+ * 33increase_max_winmsg_renditions
+ * 35screen_invoked_with_a_command (cherry-picked from upstream)
+ * Bump Standards version to 3.8.1 (again, no changes).
+ * Accommodate initscript to adjust the $SCREENDIR permissions
+ correctly even if /usr/bin/screen is installed 0755.
+ Add a Q&A pair to README.Debian to clarify this problem.
+ Closes: #520317.
+ * Fix #433338 properly by keeping the umask instead of dropping
+ the 'public exchange file' concept. Modify dpatch 22.
+ Addresses CVE-2009-1214, CVE-2009-1215, closes: #521123.
+ * Depend on patch-stamp instead of patch in debian/rules.
+ (Phony targets as intermediates in a dep chain are braindead.)
+ * Fix job control and CTTY handling on our new kfreebsd archs.
+ Closes: #522689. Thanks to Axel Beckert for his support!
+
+ -- Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de> Fri, 10 Apr 2009 18:20:49 +0200
+
+screen (4.0.3-12) unstable; urgency=low
+
+ * Back to work.
+ * Make the package build lintian-clean again.
+ * Add a Homepage field. Closes: #515803.
+ * Use the stock [un]patch targets from dpatch. Closes: #488618.
+ Thanks to Ryan Niebur.
+ * Adjust version number in the info doc. Closes: #492274, thanks
+ to Juhapekka Tolvanen.
+ * Cherry pick from upstream:
+ * d128abd5...: Display hostname when locked. Closes: #501201.
+ * Remove a spurious nethack message. Closes: #512299.
+
+ -- Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de> Wed, 04 Feb 2009 01:14:20 +0100
+
+screen (4.0.3-11) unstable; urgency=low
+
+ * Unbreak <End> and <^A Bksp> using a patch from Loïc Minier
+ (thanks!) - introduced as new 45suppress_remap.dpatch.
+ Closes: #484647.
+ * Bump Standards version to 3.8.0. No changes necessary.
+
+ -- Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de> Thu, 12 Jun 2008 19:33:30 +0200
+
+screen (4.0.3-10) unstable; urgency=low
+
+ * The "Whoa, this feels like a time machine" release.
+ * Apply ~5k lines of unified diff to the source (CVS HEAD against
+ last release). Closes: #444146.
+ * Rediff all dpatches - drop 06 and 12 (fixed upstream).
+ * Add a second 16fix_gcc_warnings dpatch to get all those new
+ gcc warnings out of the buildlogs.
+ * Upstream has changed its mind and defaults to sockets now if both
+ sockets and fifos are available - enforce fifos for our build.
+ * Use the locale's timeformat for the session creation timestamps.
+ Closes: #481445.
+ * Update 40cjk_eastasian.dpatch as suggested in the BTS. Thanks
+ to Akira Tagoh and Deng Xiyue for providing and testing the new
+ version! Closes: #478884.
+ * Correct the bug number in the changelog entry for 4.0.3-9, item 5.
+ * Bump debhelper level once more to 7.
+
+ -- Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de> Mon, 02 Jun 2008 19:16:16 +0200
+
+screen (4.0.3-9) unstable; urgency=low
+
+ * The "I broke it, I fix it" release.
+ * Fix a race condition that made session resumption difficult if there
+ was only one. Closes: #477739.
+ * Enhance dpatch 16fix_gcc_warnings (buildlog is now free of warnings).
+ * Apply initscript LSB header changes as suggested by Kel Modderman -
+ thanks! Closes: #477779.
+ * Extend the tilde expansion patch to also apply to 'chdir' commands.
+ Thanks to Steve Kemp! Closes: #447210.
+ * Document my dpatch numbering style in 00list (and move one patch to
+ make things fit again).
+
+ -- Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de> Sun, 27 Apr 2008 14:34:00 +0200
+
+screen (4.0.3-8) unstable; urgency=low
+
+ * The "resuming the bughunt" release.
+ * Bump Standards level to 3.7.3, debhelper to level 6.
+ * Include Ubuntu's 07norootpassword.dpatch, thanks to Martin Pitt!
+ See Ubuntu #6760. Closes: #447756.
+ * Fix another error in the info documentation. Closes: #447668.
+ * Fix blankerprg semantics. Closes: #330036.
+ * Empty Default-Stop section in the LSB initscript header. Closes: #461438.
+ * Fix multiuser activation howto in README.Debian.
+ * New feature: sort sessions by (and show) creation time, and pick the
+ youngest instead of an arbitrary one when called with '-rR'.
+ Closes: #206572.
+
+ -- Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de> Mon, 21 Apr 2008 23:41:42 +0200
+
+screen (4.0.3-7) unstable; urgency=low
+
+ * Completely undo the socket dir migration after discussion on #debian-devel.
+ * Restore original location /var/run/screen.
+ * Revive old version of dpatch 11.
+ * Readjust maintainer scripts and lintian overrides (intentionally
+ keeping the /tmp warning as a reminder).
+
+ -- Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de> Tue, 25 Sep 2007 03:22:39 +0200
+
+screen (4.0.3-6) unstable; urgency=low
+
+ * One last fix for the migration. I knew this would get ugly...
+ Closes: #443813.
+
+ -- Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de> Mon, 24 Sep 2007 12:14:52 +0200
+
+screen (4.0.3-5) unstable; urgency=low
+
+ * Take 5: The "(w)hacking at the wishlist" release.
+ * Build with 256-color support. Closes: #348099.
+ * Change the comments in the digraph table to give a description of the
+ composed char, which retains its informational value regardless of the
+ viewer's encoding. Closes: #437024. Thanks, Ben Finney!
+ * Add "defnonblock 5" to the default screenrc which ought to improve
+ screen's behaviour on flaky/slow ssh lines. Closes: #434014.
+ * Include the patch for upstream #16666 which fixes the display of certain
+ CJK glyphs. Thanks to Victor Hsieh for the hint and Yi-Hsuan Hsin for
+ providing the patch! Closes: #437223.
+ * Improve and augment the documentation:
+ * Tidy up README.Debian. Among other changes this closes: #228220.
+ * Add a few sentences concerning Debian's MAXWIN setting (closes: #344863)
+ and envvar-passing when calling screen with STY set (closes: #259684).
+ * Fix a thinko in the socket directory migration. Closes: #443768.
+
+ -- Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de> Mon, 24 Sep 2007 02:03:56 +0200
+
+screen (4.0.3-4) unstable; urgency=low
+
+ * Take 4: The "the FHS is a fine thing after all" release.
+ * Move example config files into /usr/share/doc/screen/examples.
+ * Move fifo dir from /var/run/screen to /tmp/.screen. Closes: #214796.
+ Create preinst to make the upgrade fail early (i.e. before the unpack
+ phase) if /tmp/.screen is otherwise occupied.
+ Add another Q&A pair to README.Debian to explain how all this is done.
+ * Redo 11replace_doc_paths.dpatch from scratch due to these reorganisations.
+ * Drop po/ subdirectory (after dropping debconf usage in 4.0.3-1).
+ Closes: #440725 (sorry). Closes: #440410.
+ Also stop calling dh_installdebconf.
+ * Update the FSF address in the source files.
+
+ -- Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de> Thu, 30 Aug 2007 18:31:53 +0200
+
+screen (4.0.3-3) unstable; urgency=low
+
+ * Take 3: The "less bugreports than upstream" release. Whew.
+ * Add full tilde expansion to the builtin 'source' command. Inspired by
+ a patch by Nico Golde. Thanks! Closes: #308818.
+ * Add a kluge to prevent screen from locking up when doing strange things
+ with xon and flow control enabled. Still waiting for upstream to properly
+ fix this problem, so this only addresses: #157873.
+ * Extend the documentation about the strange activation of the nethack
+ feature. Closes: #205531.
+ * Don't create /tmp/screen-exchange with default mode 0666. Closes: #433338.
+ * Add a Q&A pair to README.Debian on how to enable the multiuser feature.
+ The problem is mentioned in the manpage under '-r', too, so I consider this
+ sufficiently documented now. Closes: #92036.
+ * Fix the exitcode mess of '-q -ls' (and its combinations with -d, -r and -x)
+ to keep the promises the manpage makes. Doing this on my own, no comment
+ from upstream yet. Closes: #426328.
+ * More documentation typo fixes.
+ * Properly parse the long commandline options like '-wipe'. Don't accept
+ as soon as it's unambiguous - this is not getopt(). Closes: #222023.
+ * Increase the maximum length of the input buffer (C-a :). Closes: #379384.
+
+ -- Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de> Thu, 09 Aug 2007 22:51:19 +0200
+
+screen (4.0.3-2) unstable; urgency=low
+
+ * Overhaul, Take 2: The "let -1 migrate to testing first" release.
+ * Better warnings now than worries later: add -Wextra to CFLAGS
+ (and counter with "-Wno-unused-parameter -Wno-missing-field-initializers"
+ to get the noise back to an acceptable level).
+ * Now that more warnings are visible, kill a few of them (new patch, ready
+ to be submitted upstream: 16fix_gcc_warnings).
+ * Drop Pre-Depends from debian/control (wasn't even used, so this is just
+ cosmetical).
+ * Clarify debian/copyright after consulting upstream. Closes: #403896.
+ * Increase MAXSTR by a sufficient amount. The usage pattern of this macro
+ doesn't justify a switch to dynamic allocation, so simply increasing it
+ is fine with me. Closes: #271384.
+ * Fix upstream #20277 by expanding SCREENENCODINGS twice during configure.
+ Closes: #435340. Thanks Victor Hsieh!
+ * Advise against using the "sessionname" command. The problem has been acked
+ upstream, so there's nothing more I can do - besides, there are alternatives.
+ Closes: #103771.
+ * Fix the "C-a M" toggle command that was broken when combined with a setting
+ of 'defmonitor on' in one's .screenrc. Closes: #310568.
+ * Correct a manpage error (defining a limitation that actually doesn't exist).
+ Closes: #197557.
+
+ -- Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de> Sun, 05 Aug 2007 16:59:24 +0200
+
+screen (4.0.3-1) unstable; urgency=low
+
+ * New maintainer. Thanks for your work, Adam!
+ Move Adam to Uploaders.
+ * Acknowledge NMUs. Thanks to all committers!
+ * Start the package overhaul. Take 1:
+ The "wishlist stuff will have to wait at least until -2"-release.
+ * Bump policy compliance level to 3.7.2.
+ * Bump debhelper to v5, and prefer debian/compat over DH_VERSION.
+ * Clean up old dependencies and conflicts. Closes: #334084.
+ * Introduce a patch system (dpatch) and move all orig changes to patches.
+ * Assert that the package is built with fifos instead of sockets.
+ Close the accompanying bug reports - if there's still a buildd that
+ fails the fifo test, I'll get an FTBFS now. Closes: #387156, #413674.
+ * Document the SIGWINCH issue in README.Debian. As this is not a bug
+ in screen, this closes: #392302, #248699 as far as this package is
+ concerned.
+ * Make the clean target live up to its name again.
+ * Fix a syntax error in the texinfo doc that surfaced now that the clean
+ target really cleans everything.
+ * Fix the commands in doc/Makefile.in to generate splitted info files
+ (because that's how they are distributed by upstream).
+ * Clean up the maintainer scripts:
+ * Stop using debconf. Its only purpose was to display a warning message
+ when upgrading from << 3.9.5-5, which was uploaded in the 20th century.
+ * Drop debian/preinst completely.
+ * Replace case constructions in the other scripts with if blocks.
+ * Stop trying to remove /var/run/screens - I couldn't find any reference
+ to that directory. Move remove-shell call to prerm. Closes: #374471.
+ * Mute the init script. Closes: #385895.
+ * Recreate /var/run/screen on install/reboot if necessary (e.g. tmpfs) with
+ the appriopriate permissions (depending on the screen binary - some
+ admins might choose to install it setuid using dpkg-statoverride).
+ Closes: #357578, #390506, #397088.
+ * Fix a couple of manpage typos. Closes: #414241, #417647.
+ * Enhance the copyright message (add the GPL boilerplate, formatting fixups).
+ Addresses #403896, but the year issue is still pending.
+
+ -- Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de> Sun, 22 Jul 2007 13:39:43 +0200
+
+screen (4.0.3-0.4) unstable; urgency=low
+
+ * Porter NMU.
+ * Fix screen on kfreebsd-amd64. Closes: #357232
+
+ -- Aurelien Jarno <aurel32@debian.org> Tue, 17 Jul 2007 06:51:52 +0200
+
+screen (4.0.3-0.3) unstable; urgency=low
+
+ * Non-maintainer upload to fix pending l10n isses.
+ * Debconf translations:
+ - Galician. Closes: #407960
+ - Catalan. Closes: #412581
+ - Convert all PO files, but Japanese, to UTF-8
+ * Add an empty binary-indep target to debian/rules. Closes: #395743
+ * Provide a simple LSB header to the init script
+
+ -- Christian Perrier <bubulle@debian.org> Mon, 5 Mar 2007 09:14:35 +0100
+
+screen (4.0.3-0.2) unstable; urgency=low
+
+ * Non-maintainer upload to fix a forgotten l10n issue in last NMU
+ * Debconf translation updates:
+ - Added Vietnamese. Closes: #317922
+ * Modify the debconf dependency to better handle the cdebconf transition
+ Closes: #332089
+
+ -- Christian Perrier <bubulle@debian.org> Wed, 8 Nov 2006 20:46:01 +0100
+
+screen (4.0.3-0.1) unstable; urgency=high
+
+ * Non-maintainer upload to fix a security issue
+ * New upstream version fixing utf8 combining characters handling. The
+ bugs could be used to crash/hang screen by writing a special string
+ to a window (CVE-2006-4573). Closes: #395225
+ * Debconf translation updates:
+ - Finnish added. Closes: #303818
+ - Swedish added. Closes: #331583
+ - Portuguese added. Closes: #345059
+ - Italian updated. Closes: #358160
+
+ -- Christian Perrier <bubulle@debian.org> Sat, 28 Oct 2006 07:35:57 +0200
+
+screen (4.0.2-4.1) unstable; urgency=low
+
+ * Non-maintainer upload
+ * re-run autoconf, fix ftbfs (closes: #269366)
+
+ -- David Kimdon <dwhedon@debian.org> Sat, 13 Nov 2004 20:49:00 -0800
+
+screen (4.0.2-4) unstable; urgency=low
+
+ * new debconf translations:
+ * Japanese - thanks Hideki Yamane (closes: #224175)
+ * Italian - thanks Fabio Pani (closes: #224580)
+ * Simplified Chinese - thanks Carlos Z.F. Liu (closes: #230811)
+ * Dutch - thanks Luk Claes (closes: #244326)
+ * Czech - thanks Miroslav Kure (closes: #261243)
+
+ * updated Danish translation - thanks Morten Brix Pedersen (closes: #241241)
+
+ -- Adam Lazur <zal@debian.org> Tue, 24 Aug 2004 20:09:08 -0400
+
+screen (4.0.2-3) unstable; urgency=high
+
+ * security: fix hole in stale session cleanup init script which allows
+ arbitrary file deletion on startup. Thanks to Roderick Schertler for
+ pointing this out. (closes: #238139)
+
+ -- Adam Lazur <zal@debian.org> Mon, 15 Mar 2004 20:46:35 -0500
+
+screen (4.0.2-2) unstable; urgency=low
+
+ * fix depends on passwd to include epoch (closes: #224192)
+
+ -- Adam Lazur <zal@debian.org> Tue, 6 Jan 2004 23:12:51 -0500
+
+screen (4.0.2-1) unstable; urgency=low
+
+ * ack NMU (closes: #223085, #222420)
+ * add rxvt to scrollback example in README.Debian and /etc/screenrc
+ (closes: #206193)
+ * fix typo in example bind line in screenrc (closes: #214727)
+ * add Brazilian Portuguese debconf translation (thanks Andre Luis Lopes)
+ (closes: #218809)
+ * add screen to /etc/shells (closes: #148715)
+
+ -- Adam Lazur <zal@debian.org> Sat, 6 Dec 2003 18:25:10 -0500
+
+screen (4.0.2-0.1) unstable; urgency=medium
+
+ * NMU
+ * New upstream release. No upstream changelog found. ansi.c has been changed
+ to fix CAN-2003-0972, a signed integer overflow that allowed for arbitrary
+ code execution as group utmp (or as root on systems where screen was
+ installed setuid root). (Addresses #222385 for sid)
+ * [debian/rules] Changed the order of chmod/chown of the screen binary and
+ the run directory to chown, chmod as chown no longer preserves setuid and
+ setgid bits as of coreutils 5.0.1. (Closes: #222420)
+
+ -- J.H.M. Dassen (Ray) <jdassen@debian.org> Sat, 6 Dec 2003 18:43:11 +0100
+
+screen (4.0.1-3) unstable; urgency=low
+
+ * fix autoconf varargs detection (using vsprintf) on alpha, which leads to
+ a binary that segfaults (closes: #213842)
+
+ -- Adam Lazur <zal@debian.org> Thu, 2 Oct 2003 23:14:39 -0400
+
+screen (4.0.1-2) unstable; urgency=low
+
+ * build-depend on libncursesw5 to get autoconf to pick it up... doh
+
+ -- Adam Lazur <zal@debian.org> Tue, 30 Sep 2003 23:40:11 -0400
+
+screen (4.0.1-1) unstable; urgency=low
+
+ * New Upstream Release (closes: #210280)
+ * rewritten command parser
+ * zmodem support (catch & passthrough)
+ * new screenblanker
+
+ * remove bindkey -kb from system screenrc as advised by upstream
+ (closes: #187302)
+ * link against libncursesw (closes: #211511)
+ * fix Hurd build problem (closes: #201909)
+ * bump up debhelper versioned dependency (closes: #197432)
+ * switch to gettext-based debconf templates (closes: #202549)
+
+ -- Adam Lazur <zal@debian.org> Tue, 30 Sep 2003 23:14:05 -0400
+
+screen (3.9.15-1) unstable; urgency=low
+
+ * New Upstream Release
+ * unicode combining character support
+ * chinese GBK encoding added
+ * backtick screen escape to substitute command output
+
+ * add Danish translation (thanks Morten Brix Pedersen) (closes: #174745)
+ * add startup script to reap stale screen named pipes (closes: #164447)
+ * remove extraneous /etc/pam.d/screen as other works fine
+
+ -- Adam Lazur <zal@debian.org> Mon, 17 Mar 2003 22:56:01 -0500
+
+screen (3.9.13-3) unstable; urgency=low
+
+ * add note about xterm scrollback and screen to README.Debian and update
+ comment in /etc/screenrc.
+
+ -- Adam Lazur <zal@debian.org> Thu, 17 Oct 2002 16:41:11 -0400
+
+screen (3.9.13-2) unstable; urgency=medium
+
+ * avoid pkg installing docs resulting in /usr/share/info/dir.gz files in
+ the .deb (closes: #162940)
+
+ * apply 2 patches from upstream:
+ 1) Fix console grabbing on linux. The kernel handles TIOCCONS too
+ restrictive, had to implement a workaround.
+ 2) Fix WrapChar bug that prevented removal of a bad scroll-region.
+
+ -- Adam Lazur <zal@debian.org> Thu, 10 Oct 2002 22:53:24 -0400
+
+screen (3.9.13-1) unstable; urgency=low
+
+ * New Upstream Release
+ * correction to a FAQ answer in README.Debian (closes: #153323)
+
+ -- Adam Lazur <zal@debian.org> Tue, 17 Sep 2002 09:19:14 -0400
+
+screen (3.9.11-5) unstable; urgency=high
+
+ * remove (%n.%t) from hardstatus string (closes: #137095)
+ * bump up max window title length to 60 (closes: #135391)
+ * debconf templates:
+ * add french translation (thanks Philippe Batailler) (closes: #141676)
+ * add russian translation (thanks Ilgiz Kalmetev) (closes: #137682)
+ * split translations out into their own files
+ * fix debconf prompt when upgrading from versions < 3.9.5-5 (closes: #137743)
+ * edit the long description a bit
+ * update README.Debian as to current state of screen-bce
+
+ -- Adam Lazur <zal@debian.org> Wed, 10 Apr 2002 22:01:46 -0400
+
+screen (3.9.11-4) unstable; urgency=low
+
+ * patches to fix Japanese support:
+ screen-3.9.11.hcGR-patch
+ screen-3.9.11.paste-patch
+ screen-3.9.11.encoding-patch (closes: #136740)
+ * add spanish debconf template translation (closes: #136447)
+
+ -- Adam Lazur <zal@debian.org> Thu, 7 Mar 2002 09:13:56 -0500
+
+screen (3.9.11-3) unstable; urgency=high
+
+ * Security Fix: override autoconf detected default group and mode on ptys
+ as it is not autodetected properly for buildd's that run
+ as cronjobs (closes: #135018)
+ * add note to README.Debian about setting xterm titlebar/icon and how to
+ override the default
+ * add note to README.Debian about mutt padding lines with whitespace (bce)
+ * add patchlevel.h (the real upstream changelog) to /usr/share/doc/screen
+
+ -- Adam Lazur <zal@debian.org> Thu, 21 Feb 2002 17:25:12 -0500
+
+screen (3.9.11-2) unstable; urgency=high
+
+ * Apply patch to fix non utf8 locales (closes: #134200)
+ * fix problems with screenrc changes that affected konsole (closes: #134198)
+ * remove line that was borking TERM=xterm
+ * re-add line which mods xterm initialization string
+ * Add screen-bce terminal type to screeninfo.src and add a note about it in
+ README.Debian
+
+ -- Adam Lazur <zal@debian.org> Sat, 16 Feb 2002 13:49:38 -0500
+
+screen (3.9.11-1) unstable; urgency=low
+
+ * New upstream release
+ * New commands: windowlist (bound to C-a "), source, eval, ignorecase,
+ deflogin, setsid
+ * Support for double-width utf-8 characters.
+ * bugfixes and other features, see /usr/share/doc/screen/NEWS.gz for more
+ info
+
+ * Removed patches:
+ * pam support, hurd fix, getpt fix: accepted upstream
+ * md5 password support: obsoleted by pam support
+ * bufferfile default change: screen is tmpfile safe
+
+ * Updates to /etc/screenrc:
+ * Bump up defscrollback from 100 (compiled in default) to 1024
+ (thanks to overfiend for pointing this out)
+ * Add examples of running programs at screen startup
+
+ * Add german template translation (closes: #126180)
+ * Now (ab)use upstream's makefile for most of the file installation
+ * compile with --enable-rxvt_osc to allow rxvt icon setting from within
+ screen (closes: #133333)
+
+ -- Adam Lazur <zal@debian.org> Fri, 15 Feb 2002 10:18:07 -0500
+
+screen (3.9.10-1) unstable; urgency=low
+
+ * New Maintainer
+ * migrate package build to debhelper
+ * debconfify prompt when upgrading from screen < 3.9.5-5
+
+ -- Adam Lazur <zal@debian.org> Sat, 15 Dec 2001 21:20:58 -0500
+
+screen (3.9.10-0.1) unstable; urgency=high
+
+ * NMU.
+ * New upstream version with security fix. (Closes: #111339)
+ (Thanks Adam Lazur <laz@clustermonkey.org>)
+
+ -- Eric Gillespie, Jr. <epg@debian.org> Wed, 12 Sep 2001 22:11:23 -0500
+
+screen (3.9.9-2) unstable; urgency=low
+
+ * New Standards-Version (3.5.4)
+ * Get rid of suidmanager, install screen setgid (closes: Bug#96858)
+
+ -- Juan Cespedes <cespedes@debian.org> Tue, 5 Jun 2001 23:50:42 +0200
+
+screen (3.9.9-1) unstable; urgency=low
+
+ * New upstream version
+ * Really fix Bug#80337 (thanks to Michael Schroeder <mls@suse.de>)
+
+ -- Juan Cespedes <cespedes@debian.org> Sat, 2 Jun 2001 19:40:37 +0200
+
+screen (3.9.8-6.1) unstable; urgency=HIGH
+
+ * Non-maintainer upload.
+ * Disable -DDEBUG which is a massive security hole, closes: #98839.
+
+ -- James Troup <james@nocrew.org> Sun, 27 May 2001 01:09:31 +0100
+
+screen (3.9.8-6) unstable; urgency=low
+
+ * Updated copyright file
+ * Applied patch from Ryan King <rking@caseta.com> to be
+ able to work correctly on many-lined terminals (closes: Bug#80337)
+
+ -- Juan Cespedes <cespedes@debian.org> Tue, 22 May 2001 00:23:00 +0200
+
+screen (3.9.8-5) unstable; urgency=low
+
+ * Fixed small typo in info file
+ * Clean up small lintian bugs
+ * Make commands related to bufferfile (readbuf, writebuf)
+ work again (Oops) (closes: Bug#45359, Bug#69275, Bug#83759)
+
+ -- Juan Cespedes <cespedes@debian.org> Sat, 19 May 2001 15:12:11 +0200
+
+screen (3.9.8-4) unstable; urgency=low
+
+ * Make /etc/pam.d/screen be a conffile (closes: Bug#58696)
+ * Remove option "autofixterm" from manual page (closes: Bug#97019)
+ * Applied patch to make screen work OK on Hurd (closes: Bug#97343)
+
+ -- Juan Cespedes <cespedes@debian.org> Mon, 14 May 2001 03:00:34 +0200
+
+screen (3.9.8-3) unstable; urgency=low
+
+ * Fixed small bug which caused `aterm' to display
+ everything underlined (closes: Bug#97327)
+
+ -- Juan Cespedes <cespedes@debian.org> Sun, 13 May 2001 15:39:19 +0200
+
+screen (3.9.8-2) unstable; urgency=low
+
+ * New version uploaded to unstable instead of "stable unstable" (sorry)
+
+ -- Juan Cespedes <cespedes@debian.org> Tue, 8 May 2001 22:28:35 +0200
+
+screen (3.9.8-1) stable unstable; urgency=medium
+
+ * New upstream version (closes: Bug#74310, Bug#89215)
+ * New Standards-Version (3.5.3)
+ * Applied patch to build cleanly on ia64 (closes: #91964)
+ * Fixed small bug regarding creation of sockets dir
+ when running as root
+
+ -- Juan Cespedes <cespedes@debian.org> Mon, 7 May 2001 23:26:40 +0200
+
+screen (3.9.5-9) stable unstable; urgency=HIGH
+
+ * Fixed security bug (group utmp compromise)
+
+ -- Juan Cespedes <cespedes@debian.org> Sat, 2 Sep 2000 17:51:28 +0200
+
+screen (3.9.5-8) frozen unstable; urgency=low
+
+ * Correct wrong build-dependency (libncurses5-dev
+ instead of libncurses4-dev) (closes: Bug#57989)
+ * Include a /etc/pam.d/screen file (closes: Bug#57592)
+
+ -- Juan Cespedes <cespedes@debian.org> Mon, 14 Feb 2000 10:07:52 +0100
+
+screen (3.9.5-7) frozen unstable; urgency=low
+
+ * Built against libncurses5 instead of obsoleted libncurses4
+
+ -- Juan Cespedes <cespedes@debian.org> Sun, 6 Feb 2000 21:26:59 +0100
+
+screen (3.9.5-6) unstable; urgency=low
+
+ * Make `screen' work correctly both as root and non-root
+ (closes: Bug#53290, Bug#53329)
+
+ -- Juan Cespedes <cespedes@debian.org> Thu, 23 Dec 1999 16:48:02 +0100
+
+screen (3.9.5-5) unstable; urgency=low
+
+ * New Standards-Version (3.1.1)
+ * Acknowledge NMU-fixed bugs (closes: Bug#50394, Bug#51058, Bug#51316)
+ * Changed screens directory from $HOME to /var/run/screen (closes: Bug#51088)
+ * Removed debconf support: no configuration is necessary in this program
+
+ -- Juan Cespedes <cespedes@debian.org> Sun, 19 Dec 1999 06:04:48 +0100
+
+screen (3.9.5-4.1) unstable; urgency=low
+
+ * Non-maintainer release.
+ * Run autoconf to resync configure with configure.in
+ (closes:Bug#50394,#51058).
+
+ -- Joel Klecker <espy@debian.org> Mon, 29 Nov 1999 08:38:18 -0800
+
+screen (3.9.5-4) unstable; urgency=low
+
+ * Used debconf
+
+ -- Juan Cespedes <cespedes@debian.org> Sun, 14 Nov 1999 23:51:10 +0100
+
+screen (3.9.5-3) unstable; urgency=low
+
+ * Applied patch from Joel Klecker <espy@debian.org> to use getpt()
+ to get PTYs (closes: Bug#45628, Bug#48856)
+
+ -- Juan Cespedes <cespedes@debian.org> Tue, 2 Nov 1999 16:42:41 +0100
+
+screen (3.9.5-2.1) unstable; urgency=low
+
+ * NMU. Backed out pty which didn't free ptys correctly. (Fixes: #45628)
+
+ -- J.H.M. Dassen (Ray) <jdassen@debian.org> Sat, 30 Oct 1999 17:07:08 +0200
+
+screen (3.9.5-2) unstable; urgency=low
+
+ * Added missing "prerm" file (lintian)
+
+ -- Juan Cespedes <cespedes@debian.org> Fri, 1 Oct 1999 10:13:17 +0200
+
+screen (3.9.5-1) unstable; urgency=low
+
+ * New upstream version (closes: Bug#45173)
+ * FHS (/usr/doc/screen -> /usr/share/screen)
+ * PAM support
+ * Move "screen-exchange" file to ${HOME} (closes: Bug#45449)
+
+ -- Juan Cespedes <cespedes@debian.org> Sun, 19 Sep 1999 20:24:56 +0200
+
+screen (3.9.4-1) unstable; urgency=low
+
+ * New upstream version, lots of improvements (closes: Bug#43932)
+ * Removed setuid, make it setgid "utmp" (closes: Bug#43909, Bug#43931)
+ * Uses "vlock" to lock screen if available
+ * Avoid braces in debian/rules (closes: Bug#36888)
+ * Use Unix98 style PTYs (closes: Bug#34578, Bug#37208, Bug#37863)
+ * Closed old bugs (closes: Bug#29523, Bug#35469)
+ * "screen" now defaults to MAXWIN=40 (closes: Bug#42420)
+ * Compile cleanly on glibc-2.1 systems (closes: Bug#26645)
+ * New Standards-Version: 3.0.1 (but keeping docs in /usr/doc)
+
+ -- Juan Cespedes <cespedes@debian.org> Fri, 10 Sep 1999 16:14:41 +0200
+
+screen (3.7.6-1) unstable; urgency=low
+
+ * New upstream version:
+ Wayne's resize.c patch to keep the cursor onscreen. FindWindow
+ corrected. AIX4 patch from robert@mayday.cix.co.uk. Fixed
+ kanji am & markcursor bugs. SCO support (Gert Doering).
+ Wayne's statusline extra space. New flag nospc for MakeWinMsg.
+ New TF capability: add missing termcap/info caps.
+ screen-exchange security fix. Use kstat for Solaris' loadavg.
+ Check for mode 775 if screen runs setgid. Fixed typo in silence
+ command. Allow detach with no tty. HPUX10.20 ltchars hack.
+ Use @1/@7 as replacement for kh/kH. Use seteuid before calling
+ tgetent. Check for displays in Msg(). Linux ncurses hack:
+ redefine _nc_timed_wait. Configure check for ncurses (sigh).
+ ITOH Yasufumi: kanji fixes, osf support, bug fixes. More secure
+ Rewrite(). Increased line buffer size to 2048 bytes.
+ SCO-5 Fixes (Brian L. Gentry). resize code now handles tabs
+ correctly.
+ * Applied NMU from Christian Meder for glibc-2.1: Bug#32814
+
+ -- Juan Cespedes <cespedes@debian.org> Thu, 11 Feb 1999 18:32:01 +0100
+
+screen (3.7.4-9.1) frozen unstable; urgency=low
+
+ * non maintainer, sparc only upload
+ * apply patch for glibc2.1 from BTS
+ * undefine SVR4 from configure script: glibc2.1's utmpx.h is incompatible
+ with SVR4
+
+ -- Christian Meder <meder@isr.uni-stuttgart.de> Thu, 26 Nov 1998 15:40:30 +0100
+
+screen (3.7.4-9) frozen unstable; urgency=medium
+
+ * Recompile against libncurses4
+ * /etc/terminfo/s/screen is now in ncurses-base, so screen doesn't
+ depend on ncurses-term anymore
+
+ -- Juan Cespedes <cespedes@debian.org> Wed, 11 Nov 1998 18:17:37 +0100
+
+screen (3.7.4-8) stable unstable; urgency=HIGH
+
+ * Fix critical bug #25970: /tmp race problem
+
+ -- Juan Cespedes <cespedes@debian.org> Thu, 27 Aug 1998 23:08:40 +0200
+
+screen (3.7.4-7) unstable; urgency=low
+
+ * Add support for MD5 passwords (Bug#22740, Bug#25487)
+
+ -- Juan Cespedes <cespedes@debian.org> Fri, 7 Aug 1998 10:40:16 +0200
+
+screen (3.7.4-6) unstable; urgency=low
+
+ * Pass SIGWINCH to applications when size changes (fixes:Bug#18471)
+
+ -- Juan Cespedes <cespedes@debian.org> Sun, 22 Feb 1998 11:16:46 +0100
+
+screen (3.7.4-5) unstable; urgency=low
+
+ * Fixed minor bug in debian/rules clean
+ * `screen' now depends on `ncurses-term', so it doesn't install its
+ own terminfo entry
+ * New Standards-Version: 2.4.0.0
+
+ -- Juan Cespedes <cespedes@debian.org> Thu, 12 Feb 1998 16:10:22 +0100
+
+screen (3.7.4-4) unstable; urgency=low
+
+ * Changed upstream changelog name (ChangeLog.gz -> changelog.gz)
+ * Changed sockets from /tmp to /var/run (closes:Bug#6487)
+ * New Standards-Version: 2.3.0.1
+ * Changed behaviour of backspace key (now sends `DEL' == 0177)
+
+ -- Juan Cespedes <cespedes@debian.org> Sun, 4 Jan 1998 21:13:51 +0100
+
+screen (3.7.4-3) unstable; urgency=low
+
+ * New maintainer
+ * New Standards-Version: 2.3.0.0
+ * Minor fixes in /usr/doc/screen
+ * Pristine Source
+ * Fixed Bug#12626
+
+ -- Juan Cespedes <cespedes@debian.org> Sat, 11 Oct 1997 02:14:43 +0200
+
+screen (3.7.4-2) unstable; urgency=low
+
+ * Added definition of kend to screeninfo.src.
+ * Recompiled for libc6.
+
+ -- joost witteveen <joost@rulcmc.leidenuniv.nl> Fri, 3 Oct 1997 22:18:45 +0200
+
+screen (3.7.4-1) unstable; urgency=low
+
+ * Upgraded to upstream version.
+ * fixed /etc/screenrc problem (used to read: /usr/etc/screenrc).
+
+ -- joost witteveen <joost@rulcmc.leidenuniv.nl> Sat, 2 Aug 1997 22:26:08 +0200
+
+screen (3.7.2-5) unstable; urgency=low
+
+ * Recompiled for libc6 (now should be using libc functions for utmp access)
+
+ -- joost witteveen <joost@rulcmc.leidenuniv.nl> Thu, 19 Jun 1997 17:48:26 +0200
+
+screen (3.7.2-4) unstable; urgency=low
+
+ * After suggestions from David Luyer, increase the number of tty's to 256.
+
+ -- joost witteveen <joost@rulcmc.leidenuniv.nl> Sun, 4 May 1997 17:25:00 +0200
+
+screen (3.7.2-3) stable unstable; urgency=high
+
+ * Security fix for buffer-overrun posted to bugtraq.
+
+ -- joost witteveen <joost@rulcmc.leidenuniv.nl> Fri, 21 Feb 1997 17:02:30 +0100
+
+screen (3.7.2-2) unstable; urgency=low
+
+ * This package contained a /usr/doc/screen/screeninfo.src.gz (compressed)
+ that is apparently needed by the install phase. uncompressed it.
+
+ -- joost witteveen <joost@rulcmc.leidenuniv.nl> Tue, 7 Jan 1997 21:22:32 +0100
+
+screen (3.7.2-1) unstable; urgency=low
+
+ * Upgraded to upstream version
+ * converted to new source format
+
+ -- joost witteveen <joost@rulcmc.leidenuniv.nl> Sat, 4 Jan 1997 11:40:40 +0100
diff --git a/debian/clean b/debian/clean
new file mode 100644
index 0000000..e0a3db6
--- /dev/null
+++ b/debian/clean
@@ -0,0 +1,12 @@
+config.log
+config.status
+Makefile
+*.o
+comm.h
+config.h
+doc/Makefile
+kmapdef.c
+osdef.h
+screen
+term.h
+tty.c
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..b4de394
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+11
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..b0c5c8b
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,50 @@
+Source: screen
+Section: misc
+Priority: standard
+Maintainer: Axel Beckert <abe@debian.org>
+Uploaders: Antti Järvinen <antti.jarvinen@katiska.org>
+Standards-Version: 4.1.5
+Build-Depends: debhelper (>= 11~),
+ dpkg-dev (>= 1.16.1~),
+ libncursesw5-dev (>= 6.0+20160319-2~),
+ libpam0g-dev,
+ libutempter-dev,
+ texinfo
+Homepage: https://savannah.gnu.org/projects/screen
+Vcs-Git: https://salsa.debian.org/debian/screen.git
+Vcs-Browser: https://salsa.debian.org/debian/screen
+Rules-Requires-Root: binary-targets
+
+Package: screen
+Architecture: any
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Suggests: byobu | screenie | iselect (>= 1.4.0-1),
+ ncurses-term
+Description: terminal multiplexer with VT100/ANSI terminal emulation
+ 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.
+
+Package: screen-udeb
+Architecture: any
+Section: debian-installer
+Package-Type: udeb
+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/copyright b/debian/copyright
new file mode 100644
index 0000000..b84d63a
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,38 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: GNU Screen
+Upstream-Contact: screen-devel@gnu.org
+Source: https://savannah.gnu.org/projects/screen
+ https://ftp.gnu.org/gnu/screen/
+
+Files: *
+Copyright: 1987 Oliver Laumann
+ 1991 Wayne Davidson
+ 1993-2006 Juergen Weigert <jnweiger@immd4.informatik.uni-erlangen.de>
+ 1993-2006 Michael Schroeder <mlschroe@immd4.informatik.uni-erlangen.de>
+License: GPL-3+
+
+Files: debian/*
+Copyright: 1996 Ian Murdock <imurdock@debian.org>
+ 1997 joost witteveen <joosteto@gmail.com>
+ 1997-2001 Juan Cespedes <cespedes@debian.org>
+ 2001-2003 Adam Lazur <zal@debian.org>
+ 2007-2009 Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de>
+ 2011 Brian Kroth <bpkroth@gmail.com>
+ 2011-2015 Axel Beckert <abe@debian.org>
+License: GPL-3+
+Comment: It is assumed that the Debian packaging is licensed under the
+ same terms as the upstream project unless stated otherwise.
+
+License: GPL-3+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or (at
+ your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+ .
+ On Debian systems, the complete text of the GNU General Public
+ License, version 3 can be found in "/usr/share/common-licenses/GPL-3".
diff --git a/debian/patches/05prefer-libtinfo-over-libcurses.patch b/debian/patches/05prefer-libtinfo-over-libcurses.patch
new file mode 100644
index 0000000..7391ab0
--- /dev/null
+++ b/debian/patches/05prefer-libtinfo-over-libcurses.patch
@@ -0,0 +1,35 @@
+Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?filename=0001-Prefer-libtinfo-over-libcurses.patch;att=1;msg=14;bug=819789
+From: Sven Joachim <svenjoac@gmx.de>
+Date: Sat, 2 Apr 2016 13:31:00 +0200
+Subject: Prefer libtinfo over libcurses
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=819789
+Forwarded: no
+
+Try to link with -ltinfo before -lcurses to avoid a spurious
+dependency on systems where ncurses is built with "--with-termlib".
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -631,6 +631,9 @@
+ AC_CHECKING(for tgetent)
+ AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
+ olibs="$LIBS"
++LIBS="-ltinfo $olibs"
++AC_CHECKING(libtinfo)
++AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
+ LIBS="-lcurses $olibs"
+ AC_CHECKING(libcurses)
+ AC_TRY_LINK(,[
+@@ -655,9 +658,6 @@
+ LIBS="-lncurses $olibs"
+ AC_CHECKING(libncurses)
+ AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
+-LIBS="-ltinfo $olibs"
+-AC_CHECKING(libtinfo)
+-AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
+ AC_MSG_ERROR(!!! no tgetent - no screen)))))))))
+
+ AC_TRY_RUN([
diff --git a/debian/patches/11replace_doc_paths.patch b/debian/patches/11replace_doc_paths.patch
new file mode 100644
index 0000000..b4b5045
--- /dev/null
+++ b/debian/patches/11replace_doc_paths.patch
@@ -0,0 +1,198 @@
+Author: Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de>
+Description: Fix the references to configuration and pipe paths to match the locations Debian uses.
+Forwarded: not-needed
+
+--- a/doc/screen.1
++++ b/doc/screen.1
+@@ -103,7 +103,7 @@
+ the invoking shell to the application (emacs in this case), because it is
+ forked from the parent screen process, not from the invoking shell.
+ .PP
+-If \*Q/etc/utmp\*U is writable by
++If \*Q/run/utmp\*U is writable by
+ .IR screen ,
+ an appropriate record will be written to this file for each window, and
+ removed when the window is terminated.
+@@ -232,7 +232,7 @@
+ The use of this option is discouraged.
+ .TP 5
+ .BR \-l " and " \-ln
+-turns login mode on or off (for /etc/utmp updating).
++turns login mode on or off (for /run/utmp updating).
+ This can also be defined through the \*Qdeflogin\*U .screenrc command.
+ .TP 5
+ .BR \-ls " [" \fImatch ]
+@@ -712,7 +712,7 @@
+
+ .SH CUSTOMIZATION
+ The \*Qsocket directory\*U defaults either to $HOME/.screen or simply to
+-/tmp/screens or preferably to /usr/local/screens chosen at compile-time. If
++/tmp/screens or preferably to /run/screen chosen at compile-time. If
+ .I screen
+ is installed setuid-root, then the administrator
+ should compile
+@@ -725,7 +725,7 @@
+ When
+ .I screen
+ is invoked, it executes initialization commands from the files
+-\*Q/usr/local/etc/screenrc\*U and
++\*Q/etc/screenrc\*U and
+ \*Q.screenrc\*U in the user's home directory. These are the \*Qprogrammer's
+ defaults\*U that can be overridden in the following ways: for the
+ global screenrc file
+@@ -1953,7 +1953,7 @@
+ The echo command may be used to annoy
+ .I screen
+ users with a 'message of the
+-day'. Typically installed in a global /local/etc/screenrc.
++day'. Typically installed in a global /etc/screenrc.
+ The option \*Q\-n\*U may be used to suppress the line feed.
+ See also \*Qsleep\*U.
+ Echo is also useful for online checking of environment variables.
+@@ -5087,14 +5087,14 @@
+ .I screen
+ distribution package for private and global initialization files.
+ .IP $SYSSCREENRC
+-.IP /usr/local/etc/screenrc
++.IP /etc/screenrc
+ .I screen
+ initialization commands
+ .IP $SCREENRC
+ .IP $HOME/.screenrc
+-Read in after /usr/local/etc/screenrc
++Read in after /etc/screenrc
+ .IP $SCREENDIR/S\-<login>
+-.IP /local/screens/S\-<login>
++.IP /run/screen/S\-<login>
+ Socket directories (default)
+ .IP /usr/tmp/screens/S\-<login>
+ Alternate socket directories.
+@@ -5113,7 +5113,7 @@
+ or
+ .IP /etc/termcap
+ Terminal capability databases
+-.IP /etc/utmp
++.IP /run/utmp
+ Login records
+ .IP $LOCKPRG
+ Program that locks a terminal.
+@@ -5235,9 +5235,9 @@
+ must be installed as set-uid with owner root on most systems in order
+ to be able to correctly change the owner of the tty device file for
+ each window.
+-Special permission may also be required to write the file \*Q/etc/utmp\*U.
++Special permission may also be required to write the file \*Q/run/utmp\*U.
+ .IP \(bu
+-Entries in \*Q/etc/utmp\*U are not removed when
++Entries in \*Q/run/utmp\*U are not removed when
+ .I screen
+ is killed with SIGKILL.
+ This will cause some programs (like "w" or "rwho")
+--- a/doc/screen.texinfo
++++ b/doc/screen.texinfo
+@@ -184,7 +184,7 @@
+ the invoking shell to the application (emacs in this case), because it is
+ forked from the parent screen process, not from the invoking shell.
+
+-If @file{/etc/utmp} is writable by @code{screen}, an appropriate record
++If @file{/run/utmp} is writable by @code{screen}, an appropriate record
+ will be written to this file for each window, and removed when the
+ window is closed. This is useful for working with @code{talk},
+ @code{script}, @code{shutdown}, @code{rsend}, @code{sccs} and other
+@@ -313,7 +313,7 @@
+
+ @item -l
+ @itemx -ln
+-Turn login mode on or off (for @file{/etc/utmp} updating). This option
++Turn login mode on or off (for @file{/run/utmp} updating). This option
+ is equivalent to the @code{deflogin} command (@pxref{Login}).
+
+ @item -ls [@var{match}]
+@@ -496,7 +496,7 @@
+ @cindex screenrc
+ When @code{screen} is invoked, it executes initialization commands from
+ the files @file{.screenrc} in the user's home directory and
+-@file{/usr/local/etc/screenrc}. These defaults can be overridden in the
++@file{/etc/screenrc}. These defaults can be overridden in the
+ following ways:
+ For the global screenrc file @code{screen} searches for the environment
+ variable @code{$SYSSCREENRC} (this override feature may be disabled at
+@@ -1088,7 +1088,7 @@
+ @item logfile @var{filename}
+ Place where to collect logfiles. @xref{Log}.
+ @item login [@var{state}]
+-Log the window in @file{/etc/utmp}. @xref{Login}.
++Log the window in @file{/run/utmp}. @xref{Login}.
+ @item logtstamp [@var{state}]
+ Configure logfile time-stamps. @xref{Log}.
+ @item mapdefault
+@@ -2404,7 +2404,7 @@
+ * Naming Windows:: Control the name of the window
+ * Console:: See the host's console messages
+ * Kill:: Destroy an unwanted window
+-* Login:: Control @file{/etc/utmp} logging
++* Login:: Control @file{/run/utmp} logging
+ * Mode:: Control the file mode of the pty
+ * Monitor:: Watch for activity or inactivity in a window
+ * Windows:: List the active windows
+@@ -2613,7 +2613,7 @@
+ @kindex L
+ @deffn Command login [state]
+ (@kbd{C-a L})@*
+-Adds or removes the entry in @file{/etc/utmp} for the current window.
++Adds or removes the entry in @file{/run/utmp} for the current window.
+ This controls whether or not the window is @dfn{logged in}. In addition
+ to this toggle, it is convenient to have ``log in'' and ``log out''
+ keys. For instance, @code{bind I login on} and @code{bind O
+@@ -5802,17 +5802,17 @@
+ global initialization files.
+
+ @item @code{$SYSSCREENRC}
+-@itemx /local/etc/screenrc
++@itemx /etc/screenrc
+ @code{screen} initialization commands
+
+ @item @code{$SCREENRC}
+ @itemx @code{$HOME}/.iscreenrc
+ @itemx @code{$HOME}/.screenrc
+-Read in after /local/etc/screenrc
++Read in after /etc/screenrc
+
+ @item @code{$SCREENDIR}/S-@var{login}
+
+-@item /local/screens/S-@var{login}
++@item /run/screen/S-@var{login}
+ Socket directories (default)
+
+ @item /usr/tmp/screens/S-@var{login}
+@@ -5835,7 +5835,7 @@
+ @itemx /etc/termcap
+ Terminal capability databases
+
+-@item /etc/utmp
++@item /run/utmp
+ Login records
+
+ @item @code{$LOCKPRG}
+@@ -5945,10 +5945,10 @@
+ in order to be able to
+ correctly change the owner of the tty device file for each window.
+ Special permission may also be required to write the file
+-@file{/etc/utmp}.
++@file{/run/utmp}.
+
+ @item
+-Entries in @file{/etc/utmp} are not removed when @code{screen} is killed
++Entries in @file{/run/utmp} are not removed when @code{screen} is killed
+ with SIGKILL. This will cause some programs (like "w" or "rwho") to
+ advertise that a user is logged on who really isn't.
+
+@@ -6028,7 +6028,7 @@
+ @cindex socket directory
+
+ The socket directory defaults either to @file{$HOME/.screen} or simply to
+-@file{/tmp/screens} or preferably to @file{/usr/local/screens} chosen at
++@file{/tmp/screens} or preferably to @file{/run/screen} chosen at
+ compile-time. If @code{screen} is installed
+ setuid root, then the administrator should compile screen with an
+ adequate (not NFS mounted) @code{SOCKDIR}. If @code{screen} is not
diff --git a/debian/patches/13split_info_files.patch b/debian/patches/13split_info_files.patch
new file mode 100644
index 0000000..c2f0d83
--- /dev/null
+++ b/debian/patches/13split_info_files.patch
@@ -0,0 +1,17 @@
+Author: Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de>
+Description: Split the info files at 50k
+ This matches the distribution style of the orig tarball.
+Last-Revised: 2013-05-16 by Axel Beckert <abe@debian.org>
+Bug-Debian: https://bugs.debian.org/707530
+
+--- a/doc/Makefile.in
++++ b/doc/Makefile.in
+@@ -28,7 +28,7 @@
+
+ info screen.info: screen.texinfo
+ @rm -f screen.info*
+- $(MAKEINFO) $(srcdir)/screen.texinfo -o screen.info
++ $(MAKEINFO) --split-size=50000 $(srcdir)/screen.texinfo -o screen.info
+
+ install: installdirs
+ $(INSTALL_DATA) $(srcdir)/screen.1 $(DESTDIR)$(mandir)/man1/screen.1
diff --git a/debian/patches/26source_encoding.patch b/debian/patches/26source_encoding.patch
new file mode 100644
index 0000000..5ede1cd
--- /dev/null
+++ b/debian/patches/26source_encoding.patch
@@ -0,0 +1,357 @@
+Author: Ben Finney <ben@benfinney.id.au>
+Description: Replace the composed characters with their respective description.
+Bugs-Debian: https://bugs.debian.org/437024
+
+Index: screen/process.c
+===================================================================
+--- screen.orig/process.c 2015-06-13 23:33:02.469345223 +0200
++++ screen/process.c 2015-06-13 23:33:02.469345223 +0200
+@@ -252,177 +252,177 @@
+
+ /* digraph table taken from old vim and rfc1345 */
+ static struct digraph digraphs[MAX_DIGRAPH + 1] = {
+- {{' ', ' '}, 160}, /* */
+- {{'N', 'S'}, 160}, /* */
+- {{'~', '!'}, 161}, /* */
+- {{'!', '!'}, 161}, /* */
+- {{'!', 'I'}, 161}, /* */
+- {{'c', '|'}, 162}, /* */
+- {{'c', 't'}, 162}, /* */
+- {{'$', '$'}, 163}, /* */
+- {{'P', 'd'}, 163}, /* */
+- {{'o', 'x'}, 164}, /* */
+- {{'C', 'u'}, 164}, /* */
+- {{'C', 'u'}, 164}, /* */
+- {{'E', 'u'}, 164}, /* */
+- {{'Y', '-'}, 165}, /* */
+- {{'Y', 'e'}, 165}, /* */
+- {{'|', '|'}, 166}, /* */
+- {{'B', 'B'}, 166}, /* */
+- {{'p', 'a'}, 167}, /* */
+- {{'S', 'E'}, 167}, /* */
+- {{'"', '"'}, 168}, /* */
+- {{'\'', ':'}, 168}, /* */
+- {{'c', 'O'}, 169}, /* */
+- {{'C', 'o'}, 169}, /* */
+- {{'a', '-'}, 170}, /* */
+- {{'<', '<'}, 171}, /* */
+- {{'-', ','}, 172}, /* */
+- {{'N', 'O'}, 172}, /* */
+- {{'-', '-'}, 173}, /* */
+- {{'r', 'O'}, 174}, /* */
+- {{'R', 'g'}, 174}, /* */
+- {{'-', '='}, 175}, /* */
+- {{'\'', 'm'}, 175}, /* */
+- {{'~', 'o'}, 176}, /* */
+- {{'D', 'G'}, 176}, /* */
+- {{'+', '-'}, 177}, /* */
+- {{'2', '2'}, 178}, /* */
+- {{'2', 'S'}, 178}, /* */
+- {{'3', '3'}, 179}, /* */
+- {{'3', 'S'}, 179}, /* */
+- {{'\'', '\''}, 180}, /* */
+- {{'j', 'u'}, 181}, /* */
+- {{'M', 'y'}, 181}, /* */
+- {{'p', 'p'}, 182}, /* */
+- {{'P', 'I'}, 182}, /* */
+- {{'~', '.'}, 183}, /* */
+- {{'.', 'M'}, 183}, /* */
+- {{',', ','}, 184}, /* */
+- {{'\'', ','}, 184}, /* */
+- {{'1', '1'}, 185}, /* */
+- {{'1', 'S'}, 185}, /* */
+- {{'o', '-'}, 186}, /* */
+- {{'>', '>'}, 187}, /* */
+- {{'1', '4'}, 188}, /* */
+- {{'1', '2'}, 189}, /* */
+- {{'3', '4'}, 190}, /* */
+- {{'~', '?'}, 191}, /* */
+- {{'?', '?'}, 191}, /* */
+- {{'?', 'I'}, 191}, /* */
+- {{'A', '`'}, 192}, /* */
+- {{'A', '!'}, 192}, /* */
+- {{'A', '\''}, 193}, /* */
+- {{'A', '^'}, 194}, /* */
+- {{'A', '>'}, 194}, /* */
+- {{'A', '~'}, 195}, /* */
+- {{'A', '?'}, 195}, /* */
+- {{'A', '"'}, 196}, /* */
+- {{'A', ':'}, 196}, /* */
+- {{'A', '@'}, 197}, /* */
+- {{'A', 'A'}, 197}, /* */
+- {{'A', 'E'}, 198}, /* */
+- {{'C', ','}, 199}, /* */
+- {{'E', '`'}, 200}, /* */
+- {{'E', '!'}, 200}, /* */
+- {{'E', '\''}, 201}, /* */
+- {{'E', '^'}, 202}, /* */
+- {{'E', '>'}, 202}, /* */
+- {{'E', '"'}, 203}, /* */
+- {{'E', ':'}, 203}, /* */
+- {{'I', '`'}, 204}, /* */
+- {{'I', '!'}, 204}, /* */
+- {{'I', '\''}, 205}, /* */
+- {{'I', '^'}, 206}, /* */
+- {{'I', '>'}, 206}, /* */
+- {{'I', '"'}, 207}, /* */
+- {{'I', ':'}, 207}, /* */
+- {{'D', '-'}, 208}, /* */
+- {{'N', '~'}, 209}, /* */
+- {{'N', '?'}, 209}, /* */
+- {{'O', '`'}, 210}, /* */
+- {{'O', '!'}, 210}, /* */
+- {{'O', '\''}, 211}, /* */
+- {{'O', '^'}, 212}, /* */
+- {{'O', '>'}, 212}, /* */
+- {{'O', '~'}, 213}, /* */
+- {{'O', '?'}, 213}, /* */
+- {{'O', '"'}, 214}, /* */
+- {{'O', ':'}, 214}, /* */
+- {{'/', '\\'}, 215}, /* */
+- {{'*', 'x'}, 215}, /* */
+- {{'O', '/'}, 216}, /* */
+- {{'U', '`'}, 217}, /* */
+- {{'U', '!'}, 217}, /* */
+- {{'U', '\''}, 218}, /* */
+- {{'U', '^'}, 219}, /* */
+- {{'U', '>'}, 219}, /* */
+- {{'U', '"'}, 220}, /* */
+- {{'U', ':'}, 220}, /* */
+- {{'Y', '\''}, 221}, /* */
+- {{'I', 'p'}, 222}, /* */
+- {{'T', 'H'}, 222}, /* */
+- {{'s', 's'}, 223}, /* */
+- {{'s', '"'}, 223}, /* */
+- {{'a', '`'}, 224}, /* */
+- {{'a', '!'}, 224}, /* */
+- {{'a', '\''}, 225}, /* */
+- {{'a', '^'}, 226}, /* */
+- {{'a', '>'}, 226}, /* */
+- {{'a', '~'}, 227}, /* */
+- {{'a', '?'}, 227}, /* */
+- {{'a', '"'}, 228}, /* */
+- {{'a', ':'}, 228}, /* */
+- {{'a', 'a'}, 229}, /* */
+- {{'a', 'e'}, 230}, /* */
+- {{'c', ','}, 231}, /* */
+- {{'e', '`'}, 232}, /* */
+- {{'e', '!'}, 232}, /* */
+- {{'e', '\''}, 233}, /* */
+- {{'e', '^'}, 234}, /* */
+- {{'e', '>'}, 234}, /* */
+- {{'e', '"'}, 235}, /* */
+- {{'e', ':'}, 235}, /* */
+- {{'i', '`'}, 236}, /* */
+- {{'i', '!'}, 236}, /* */
+- {{'i', '\''}, 237}, /* */
+- {{'i', '^'}, 238}, /* */
+- {{'i', '>'}, 238}, /* */
+- {{'i', '"'}, 239}, /* */
+- {{'i', ':'}, 239}, /* */
+- {{'d', '-'}, 240}, /* */
+- {{'n', '~'}, 241}, /* */
+- {{'n', '?'}, 241}, /* */
+- {{'o', '`'}, 242}, /* */
+- {{'o', '!'}, 242}, /* */
+- {{'o', '\''}, 243}, /* */
+- {{'o', '^'}, 244}, /* */
+- {{'o', '>'}, 244}, /* */
+- {{'o', '~'}, 245}, /* */
+- {{'o', '?'}, 245}, /* */
+- {{'o', '"'}, 246}, /* */
+- {{'o', ':'}, 246}, /* */
+- {{':', '-'}, 247}, /* */
+- {{'o', '/'}, 248}, /* */
+- {{'u', '`'}, 249}, /* */
+- {{'u', '!'}, 249}, /* */
+- {{'u', '\''}, 250}, /* */
+- {{'u', '^'}, 251}, /* */
+- {{'u', '>'}, 251}, /* */
+- {{'u', '"'}, 252}, /* */
+- {{'u', ':'}, 252}, /* */
+- {{'y', '\''}, 253}, /* */
+- {{'i', 'p'}, 254}, /* */
+- {{'t', 'h'}, 254}, /* */
+- {{'y', '"'}, 255}, /* */
+- {{'y', ':'}, 255}, /* */
+- {{'"', '['}, 196}, /* */
+- {{'"', '\\'}, 214}, /* */
+- {{'"', ']'}, 220}, /* */
+- {{'"', '{'}, 228}, /* */
+- {{'"', '|'}, 246}, /* */
+- {{'"', '}'}, 252}, /* */
+- {{'"', '~'}, 223} /* */
++ {{' ', ' '}, 0x00a0}, /* NO-BREAK SPACE */
++ {{'N', 'S'}, 0x00a0}, /* NO-BREAK SPACE */
++ {{'~', '!'}, 0x00a1}, /* INVERTED EXCLAMATION MARK */
++ {{'!', '!'}, 0x00a1}, /* INVERTED EXCLAMATION MARK */
++ {{'!', 'I'}, 0x00a1}, /* INVERTED EXCLAMATION MARK */
++ {{'c', '|'}, 0x00a2}, /* CENT SIGN */
++ {{'c', 't'}, 0x00a2}, /* CENT SIGN */
++ {{'$', '$'}, 0x00a3}, /* POUND SIGN */
++ {{'P', 'd'}, 0x00a3}, /* POUND SIGN */
++ {{'o', 'x'}, 0x00a4}, /* CURRENCY SIGN */
++ {{'C', 'u'}, 0x00a4}, /* CURRENCY SIGN */
++ {{'C', 'u'}, 0x00a4}, /* CURRENCY SIGN */
++ {{'E', 'u'}, 0x00a4}, /* CURRENCY SIGN */
++ {{'Y', '-'}, 0x00a5}, /* YEN SIGN */
++ {{'Y', 'e'}, 0x00a5}, /* YEN SIGN */
++ {{'|', '|'}, 0x00a6}, /* BROKEN BAR */
++ {{'B', 'B'}, 0x00a6}, /* BROKEN BAR */
++ {{'p', 'a'}, 0x00a7}, /* SECTION SIGN */
++ {{'S', 'E'}, 0x00a7}, /* SECTION SIGN */
++ {{'"', '"'}, 0x00a8}, /* DIAERESIS */
++ {{'\'', ':'}, 0x00a8}, /* DIAERESIS */
++ {{'c', 'O'}, 0x00a9}, /* COPYRIGHT SIGN */
++ {{'C', 'o'}, 0x00a9}, /* COPYRIGHT SIGN */
++ {{'-', 'a'}, 0x00aa}, /* FEMININE ORDINAL INDICATOR */
++ {{'<', '<'}, 0x00ab}, /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
++ {{'-', ','}, 0x00ac}, /* NOT SIGN */
++ {{'N', 'O'}, 0x00ac}, /* NOT SIGN */
++ {{'-', '-'}, 0x00ad}, /* SOFT HYPHEN */
++ {{'r', 'O'}, 0x00ae}, /* REGISTERED SIGN */
++ {{'R', 'g'}, 0x00ae}, /* REGISTERED SIGN */
++ {{'-', '='}, 0x00af}, /* MACRON */
++ {{'\'', 'm'}, 0x00af}, /* MACRON */
++ {{'~', 'o'}, 0x00b0}, /* DEGREE SIGN */
++ {{'D', 'G'}, 0x00b0}, /* DEGREE SIGN */
++ {{'+', '-'}, 0x00b1}, /* PLUS-MINUS SIGN */
++ {{'2', '2'}, 0x00b2}, /* SUPERSCRIPT TWO */
++ {{'2', 'S'}, 0x00b2}, /* SUPERSCRIPT TWO */
++ {{'3', '3'}, 0x00b3}, /* SUPERSCRIPT THREE */
++ {{'3', 'S'}, 0x00b3}, /* SUPERSCRIPT THREE */
++ {{'\'', '\''}, 0x00b4}, /* ACUTE ACCENT */
++ {{'j', 'u'}, 0x00b5}, /* MICRO SIGN */
++ {{'M', 'y'}, 0x00b5}, /* MICRO SIGN */
++ {{'p', 'p'}, 0x00b6}, /* PILCROW SIGN */
++ {{'P', 'I'}, 0x00b6}, /* PILCROW SIGN */
++ {{'~', '.'}, 0x00b7}, /* MIDDLE DOT */
++ {{'.', 'M'}, 0x00b7}, /* MIDDLE DOT */
++ {{',', ','}, 0x00b8}, /* CEDILLA */
++ {{'\'', ','}, 0x00b8}, /* CEDILLA */
++ {{'1', '1'}, 0x00b9}, /* SUPERSCRIPT ONE */
++ {{'1', 'S'}, 0x00b9}, /* SUPERSCRIPT ONE */
++ {{'-', 'o'}, 0x00ba}, /* MASCULINE ORDINAL INDICATOR */
++ {{'>', '>'}, 0x00bb}, /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
++ {{'1', '4'}, 0x00bc}, /* VULGAR FRACTION ONE QUARTER */
++ {{'1', '2'}, 0x00bd}, /* VULGAR FRACTION ONE HALF */
++ {{'3', '4'}, 0x00be}, /* VULGAR FRACTION THREE QUARTERS */
++ {{'~', '?'}, 0x00bf}, /* INVERTED QUESTION MARK */
++ {{'?', '?'}, 0x00bf}, /* INVERTED QUESTION MARK */
++ {{'?', 'I'}, 0x00bf}, /* INVERTED QUESTION MARK */
++ {{'A', '`'}, 0x00c0}, /* LATIN CAPITAL LETTER A WITH GRAVE */
++ {{'A', '!'}, 0x00c0}, /* LATIN CAPITAL LETTER A WITH GRAVE */
++ {{'A', '\''}, 0x00c1}, /* LATIN CAPITAL LETTER A WITH ACUTE */
++ {{'A', '^'}, 0x00c2}, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
++ {{'A', '>'}, 0x00c2}, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
++ {{'A', '~'}, 0x00c3}, /* LATIN CAPITAL LETTER A WITH TILDE */
++ {{'A', '?'}, 0x00c3}, /* LATIN CAPITAL LETTER A WITH TILDE */
++ {{'A', '"'}, 0x00c4}, /* LATIN CAPITAL LETTER A WITH DIAERESIS */
++ {{'A', ':'}, 0x00c4}, /* LATIN CAPITAL LETTER A WITH DIAERESIS */
++ {{'A', '@'}, 0x00c5}, /* LATIN CAPITAL LETTER A WITH RING ABOVE */
++ {{'A', 'A'}, 0x00c5}, /* LATIN CAPITAL LETTER A WITH RING ABOVE */
++ {{'A', 'E'}, 0x00c6}, /* LATIN CAPITAL LETTER AE */
++ {{'C', ','}, 0x00c7}, /* LATIN CAPITAL LETTER C WITH CEDILLA */
++ {{'E', '`'}, 0x00c8}, /* LATIN CAPITAL LETTER E WITH GRAVE */
++ {{'E', '!'}, 0x00c8}, /* LATIN CAPITAL LETTER E WITH GRAVE */
++ {{'E', '\''}, 0x00c9}, /* LATIN CAPITAL LETTER E WITH ACUTE */
++ {{'E', '^'}, 0x00ca}, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
++ {{'E', '>'}, 0x00ca}, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
++ {{'E', '"'}, 0x00cb}, /* LATIN CAPITAL LETTER E WITH DIAERESIS */
++ {{'E', ':'}, 0x00cb}, /* LATIN CAPITAL LETTER E WITH DIAERESIS */
++ {{'I', '`'}, 0x00cc}, /* LATIN CAPITAL LETTER I WITH GRAVE */
++ {{'I', '!'}, 0x00cc}, /* LATIN CAPITAL LETTER I WITH GRAVE */
++ {{'I', '\''}, 0x00cd}, /* LATIN CAPITAL LETTER I WITH ACUTE */
++ {{'I', '^'}, 0x00ce}, /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
++ {{'I', '>'}, 0x00ce}, /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
++ {{'I', '"'}, 0x00cf}, /* LATIN CAPITAL LETTER I WITH DIAERESIS */
++ {{'I', ':'}, 0x00cf}, /* LATIN CAPITAL LETTER I WITH DIAERESIS */
++ {{'D', '-'}, 0x00d0}, /* LATIN CAPITAL LETTER ETH */
++ {{'N', '~'}, 0x00d1}, /* LATIN CAPITAL LETTER N WITH TILDE */
++ {{'N', '?'}, 0x00d1}, /* LATIN CAPITAL LETTER N WITH TILDE */
++ {{'O', '`'}, 0x00d2}, /* LATIN CAPITAL LETTER O WITH GRAVE */
++ {{'O', '!'}, 0x00d2}, /* LATIN CAPITAL LETTER O WITH GRAVE */
++ {{'O', '\''}, 0x00d3}, /* LATIN CAPITAL LETTER O WITH ACUTE */
++ {{'O', '^'}, 0x00d4}, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
++ {{'O', '>'}, 0x00d4}, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
++ {{'O', '~'}, 0x00d5}, /* LATIN CAPITAL LETTER O WITH TILDE */
++ {{'O', '?'}, 0x00d5}, /* LATIN CAPITAL LETTER O WITH TILDE */
++ {{'O', '"'}, 0x00d6}, /* LATIN CAPITAL LETTER O WITH DIAERESIS */
++ {{'O', ':'}, 0x00d6}, /* LATIN CAPITAL LETTER O WITH DIAERESIS */
++ {{'/', '\\'}, 0x00d7}, /* MULTIPLICATION SIGN */
++ {{'*', 'x'}, 0x00d7}, /* MULTIPLICATION SIGN */
++ {{'O', '/'}, 0x00d8}, /* LATIN CAPITAL LETTER O WITH STROKE */
++ {{'U', '`'}, 0x00d9}, /* LATIN CAPITAL LETTER U WITH GRAVE */
++ {{'U', '!'}, 0x00d9}, /* LATIN CAPITAL LETTER U WITH GRAVE */
++ {{'U', '\''}, 0x00da}, /* LATIN CAPITAL LETTER U WITH ACUTE */
++ {{'U', '^'}, 0x00db}, /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
++ {{'U', '>'}, 0x00db}, /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
++ {{'U', '"'}, 0x00dc}, /* LATIN CAPITAL LETTER U WITH DIAERESIS */
++ {{'U', ':'}, 0x00dc}, /* LATIN CAPITAL LETTER U WITH DIAERESIS */
++ {{'Y', '\''}, 0x00dd}, /* LATIN CAPITAL LETTER Y WITH ACUTE */
++ {{'I', 'p'}, 0x00de}, /* LATIN CAPITAL LETTER THORN */
++ {{'T', 'H'}, 0x00de}, /* LATIN CAPITAL LETTER THORN */
++ {{'s', 's'}, 0x00df}, /* LATIN SMALL LETTER SHARP S */
++ {{'s', '"'}, 0x00df}, /* LATIN SMALL LETTER SHARP S */
++ {{'a', '`'}, 0x00e0}, /* LATIN SMALL LETTER A WITH GRAVE */
++ {{'a', '!'}, 0x00e0}, /* LATIN SMALL LETTER A WITH GRAVE */
++ {{'a', '\''}, 0x00e1}, /* LATIN SMALL LETTER A WITH ACUTE */
++ {{'a', '^'}, 0x00e2}, /* LATIN SMALL LETTER A WITH CIRCUMFLEX */
++ {{'a', '>'}, 0x00e2}, /* LATIN SMALL LETTER A WITH CIRCUMFLEX */
++ {{'a', '~'}, 0x00e3}, /* LATIN SMALL LETTER A WITH TILDE */
++ {{'a', '?'}, 0x00e3}, /* LATIN SMALL LETTER A WITH TILDE */
++ {{'a', '"'}, 0x00e4}, /* LATIN SMALL LETTER A WITH DIAERESIS */
++ {{'a', ':'}, 0x00e4}, /* LATIN SMALL LETTER A WITH DIAERESIS */
++ {{'a', 'a'}, 0x00e5}, /* LATIN SMALL LETTER A WITH RING ABOVE */
++ {{'a', 'e'}, 0x00e6}, /* LATIN SMALL LETTER AE */
++ {{'c', ','}, 0x00e7}, /* LATIN SMALL LETTER C WITH CEDILLA */
++ {{'e', '`'}, 0x00e8}, /* LATIN SMALL LETTER E WITH GRAVE */
++ {{'e', '!'}, 0x00e8}, /* LATIN SMALL LETTER E WITH GRAVE */
++ {{'e', '\''}, 0x00e9}, /* LATIN SMALL LETTER E WITH ACUTE */
++ {{'e', '^'}, 0x00ea}, /* LATIN SMALL LETTER E WITH CIRCUMFLEX */
++ {{'e', '>'}, 0x00ea}, /* LATIN SMALL LETTER E WITH CIRCUMFLEX */
++ {{'e', '"'}, 0x00eb}, /* LATIN SMALL LETTER E WITH DIAERESIS */
++ {{'e', ':'}, 0x00eb}, /* LATIN SMALL LETTER E WITH DIAERESIS */
++ {{'i', '`'}, 0x00ec}, /* LATIN SMALL LETTER I WITH GRAVE */
++ {{'i', '!'}, 0x00ec}, /* LATIN SMALL LETTER I WITH GRAVE */
++ {{'i', '\''}, 0x00ed}, /* LATIN SMALL LETTER I WITH ACUTE */
++ {{'i', '^'}, 0x00ee}, /* LATIN SMALL LETTER I WITH CIRCUMFLEX */
++ {{'i', '>'}, 0x00ee}, /* LATIN SMALL LETTER I WITH CIRCUMFLEX */
++ {{'i', '"'}, 0x00ef}, /* LATIN SMALL LETTER I WITH DIAERESIS */
++ {{'i', ':'}, 0x00ef}, /* LATIN SMALL LETTER I WITH DIAERESIS */
++ {{'d', '-'}, 0x00f0}, /* LATIN SMALL LETTER ETH */
++ {{'n', '~'}, 0x00f1}, /* LATIN SMALL LETTER N WITH TILDE */
++ {{'n', '?'}, 0x00f1}, /* LATIN SMALL LETTER N WITH TILDE */
++ {{'o', '`'}, 0x00f2}, /* LATIN SMALL LETTER O WITH GRAVE */
++ {{'o', '!'}, 0x00f2}, /* LATIN SMALL LETTER O WITH GRAVE */
++ {{'o', '\''}, 0x00f3}, /* LATIN SMALL LETTER O WITH ACUTE */
++ {{'o', '^'}, 0x00f4}, /* LATIN SMALL LETTER O WITH CIRCUMFLEX */
++ {{'o', '>'}, 0x00f4}, /* LATIN SMALL LETTER O WITH CIRCUMFLEX */
++ {{'o', '~'}, 0x00f5}, /* LATIN SMALL LETTER O WITH TILDE */
++ {{'o', '?'}, 0x00f5}, /* LATIN SMALL LETTER O WITH TILDE */
++ {{'o', '"'}, 0x00f6}, /* LATIN SMALL LETTER O WITH DIAERESIS */
++ {{'o', ':'}, 0x00f6}, /* LATIN SMALL LETTER O WITH DIAERESIS */
++ {{'-', ':'}, 0x00f7}, /* DIVISION SIGN */
++ {{'o', '/'}, 0x00f8}, /* LATIN SMALL LETTER O WITH STROKE */
++ {{'u', '`'}, 0x00f9}, /* LATIN SMALL LETTER U WITH GRAVE */
++ {{'u', '!'}, 0x00f9}, /* LATIN SMALL LETTER U WITH GRAVE */
++ {{'u', '\''}, 0x00fa}, /* LATIN SMALL LETTER U WITH ACUTE */
++ {{'u', '^'}, 0x00fb}, /* LATIN SMALL LETTER U WITH CIRCUMFLEX */
++ {{'u', '>'}, 0x00fb}, /* LATIN SMALL LETTER U WITH CIRCUMFLEX */
++ {{'u', '"'}, 0x00fc}, /* LATIN SMALL LETTER U WITH DIAERESIS */
++ {{'u', ':'}, 0x00fc}, /* LATIN SMALL LETTER U WITH DIAERESIS */
++ {{'y', '\''}, 0x00fd}, /* LATIN SMALL LETTER Y WITH ACUTE */
++ {{'i', 'p'}, 0x00fe}, /* LATIN SMALL LETTER THORN */
++ {{'t', 'h'}, 0x00fe}, /* LATIN SMALL LETTER THORN */
++ {{'y', '"'}, 0x00ff}, /* LATIN SMALL LETTER Y WITH DIAERESIS */
++ {{'y', ':'}, 0x00ff}, /* LATIN SMALL LETTER Y WITH DIAERESIS */
++ {{'"', '['}, 0x00c4}, /* LATIN CAPITAL LETTER A WITH DIAERESIS */
++ {{'"', '\\'}, 0x00d6}, /* LATIN CAPITAL LETTER O WITH DIAERESIS */
++ {{'"', ']'}, 0x00dc}, /* LATIN CAPITAL LETTER U WITH DIAERESIS */
++ {{'"', '{'}, 0x00e4}, /* LATIN SMALL LETTER A WITH DIAERESIS */
++ {{'"', '|'}, 0x00f6}, /* LATIN SMALL LETTER O WITH DIAERESIS */
++ {{'"', '}'}, 0x00fc}, /* LATIN SMALL LETTER U WITH DIAERESIS */
++ {{'"', '~'}, 0x00df}, /* LATIN SMALL LETTER SHARP S */
+ };
+
+ #define RESIZE_FLAG_H 1
diff --git a/debian/patches/45suppress_remap.patch b/debian/patches/45suppress_remap.patch
new file mode 100644
index 0000000..5b0ae85
--- /dev/null
+++ b/debian/patches/45suppress_remap.patch
@@ -0,0 +1,15 @@
+Author: Loic Minier <lool@dooz.org>
+Description: Unbreak several useful keybindings.
+Bugs-Debian: https://bugs.debian.org/484647
+
+--- a/termcap.c
++++ b/termcap.c
+@@ -551,8 +551,6 @@
+ else
+ break;
+ }
+- if (n < KMAP_KEYS)
+- domap = 1;
+ if (map == 0 && domap)
+ return 0;
+ if (map && !domap)
diff --git a/debian/patches/52fix_screen_utf8_nfd.patch b/debian/patches/52fix_screen_utf8_nfd.patch
new file mode 100644
index 0000000..504dfc4
--- /dev/null
+++ b/debian/patches/52fix_screen_utf8_nfd.patch
@@ -0,0 +1,41 @@
+Author: Kenta Murata (mrkn) <mrkn@ruby-lang.org>
+Reviewed-By: Nobuhiro Iwamatsu <iwamatsu@debian.org>
+Description: screen outputs screen "ÿ" after a connected character.
+ This is a character without the need.
+ This happens in UTF-8 environment.
+ Before : screen$ ruby1.9.1 -e 'puts "\u304b\u3099.."'
+ がÿ...
+ patch applied : screen $ ruby1.9.1 -e 'puts "\u304b\u3099.."'
+ が..
+Origin: https://d.hatena.ne.jp/mrkn/20101014/fix_screen_utf8_nfd_bug
+Bugs-Debian: https://bugs.debian.org/600246
+Bugs-Debian: https://bugs.debian.org/677512
+
+Index: screen/ansi.c
+===================================================================
+--- screen.orig/ansi.c 2012-03-20 22:15:02.000000000 +0100
++++ screen/ansi.c 2012-03-20 22:41:45.000000000 +0100
+@@ -725,6 +725,10 @@
+ LPutChar(&curr->w_layer, &omc, ox, oy);
+ LGotoPos(&curr->w_layer, curr->w_x, curr->w_y);
+ }
++ if (curr->w_mbcs)
++ {
++ curr->w_rend.mbcs = curr->w_mbcs = 0;
++ }
+ break;
+ }
+ font = curr->w_rend.font;
+Index: screen/display.c
+===================================================================
+--- screen.orig/display.c 2012-03-20 22:41:28.000000000 +0100
++++ screen/display.c 2012-03-20 22:41:45.000000000 +0100
+@@ -603,7 +603,7 @@
+ D_x += D_AM ? 1 : -1;
+ D_mbcs = 0;
+ }
+- else if (utf8_isdouble(c))
++ else if (utf8_isdouble(c) || (c >= 0xd800 && c < 0xe000))
+ {
+ D_mbcs = c;
+ D_x++;
diff --git a/debian/patches/58-show-encoding-hardstatus.patch b/debian/patches/58-show-encoding-hardstatus.patch
new file mode 100644
index 0000000..d752aee
--- /dev/null
+++ b/debian/patches/58-show-encoding-hardstatus.patch
@@ -0,0 +1,42 @@
+Description: show encoding in hardstatus
+Author: Yi-Jheng Lin <yzlin@cs.nctu.edu.tw>
+Origin: https://svnweb.freebsd.org/ports/head/sysutils/screen/files/opt-showencoding?view=markup
+Reviewed-By: rascov <rascov@rascov.tw>
+Reviewed-By: Dustin Kirkland <kirkland@ubuntu.com>
+Last-Update: Wed Feb 11 05:51:31 CST 2009
+Bug-FreeBSD: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=124492
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/screen/+bug/286810
+Bug-Debian: https://bugs.debian.org/533498
+
+--- a/screen.c
++++ b/screen.c
+@@ -2753,6 +2753,19 @@
+ p += strlen(p) - 1;
+ break;
+
++ #ifdef ENCODINGS
++ case 'e':
++ *p = 0;
++ D_encoding = nwin_options.encoding > 0 ? nwin_options.encoding : 0;
++ if (win && win->w_encoding)
++ {
++ *p++ = ' ';
++ strcpy(p, EncodingName(win->w_encoding));
++ }
++ p += strlen(p) - 1;
++ break;
++ #endif
++
+ case '{':
+ {
+ char rbuf[128];
+--- a/process.c
++++ b/process.c
+@@ -3784,6 +3784,7 @@
+ {
+ WinSwitchEncoding(fore, n);
+ ResetCharsets(fore);
++ RedisplayDisplays(0);
+ }
+ else if (i && display)
+ D_encoding = n;
diff --git a/debian/patches/60-screen-4.2.1-debian4.1.0-compatibility.patch b/debian/patches/60-screen-4.2.1-debian4.1.0-compatibility.patch
new file mode 100644
index 0000000..6391e0c
--- /dev/null
+++ b/debian/patches/60-screen-4.2.1-debian4.1.0-compatibility.patch
@@ -0,0 +1,57 @@
+Description: Patch to make 4.2.1 compatible with Debian's 4.1.0 and
+ 4.2.0 packages 4.2.1 includes the Debian patches to extend the login
+ name and $TERM length, but uses even larger values. This causes
+ screen clients to no more be able to talk to older screen
+ servers. See #644788 for a discussion of the same issue with earlier
+ release combinations (4.1.0 vs 4.0.3).
+ .
+ For now this patch sets the mentioned values back to those which
+ werew in use in Debian before (and seemed to be large enough for use
+ in Debian).
+Author: Axel Beckert <abe@debian.org>
+Forwarded: no
+
+--- a/os.h
++++ b/os.h
+@@ -524,6 +524,6 @@
+ /* Changing those you won't be able to attach to your old sessions
+ * when changing those values in official tree don't forget to bump
+ * MSG_VERSION */
+-#define MAXTERMLEN 32
+-#define MAXLOGINLEN 256
++#define MAXTERMLEN 40
++#define MAXLOGINLEN 50
+
+--- a/screen.h
++++ b/screen.h
+@@ -186,7 +186,7 @@
+ * 4: screen version 4.2.1 (bumped once again due to changed terminal and login length)
+ * 5: screen version 4.4.0 (fix screenterm size)
+ */
+-#define MSG_VERSION 5
++#define MSG_VERSION 2
+
+ #define MSG_REVISION (('m'<<24) | ('s'<<16) | ('g'<<8) | MSG_VERSION)
+ struct msg
+@@ -205,7 +205,7 @@
+ int nargs;
+ char line[MAXPATHLEN];
+ char dir[MAXPATHLEN];
+- char screenterm[MAXTERMLEN + 1]; /* is screen really "screen" ? */
++ char screenterm[20]; /* is screen really "screen" ? */
+ }
+ create;
+ struct
+--- a/socket.c
++++ b/socket.c
+@@ -723,8 +723,8 @@
+ return;
+ }
+ if (nwin->term != nwin_undef.term)
+- strncpy(m.m.create.screenterm, nwin->term, MAXTERMLEN);
+- m.m.create.screenterm[MAXTERMLEN] = '\0';
++ strncpy(m.m.create.screenterm, nwin->term, 20-1);
++ m.m.create.screenterm[20-1] = '\0';
+ m.protocol_revision = MSG_REVISION;
+ debug1("SendCreateMsg writing '%s'\n", m.m.create.line);
+ if (write(s, (char *) &m, sizeof m) != sizeof m)
diff --git a/debian/patches/61-default-PATH_MAX-if-undefined-for-hurd.patch b/debian/patches/61-default-PATH_MAX-if-undefined-for-hurd.patch
new file mode 100644
index 0000000..1f07340
--- /dev/null
+++ b/debian/patches/61-default-PATH_MAX-if-undefined-for-hurd.patch
@@ -0,0 +1,38 @@
+Description: Set PATH_MAX to 4096 if undefined
+ Fixes FTBFS since 4.4.0 on GNU/Hurd. Updated to add one more occurrence for 4.5.0.
+Author: Axel Beckert <abe@debian.org>
+Bug: https://savannah.gnu.org/bugs/?50089
+Last-Updated: 2017-01-18
+
+--- a/tty.sh
++++ b/tty.sh
+@@ -1512,6 +1512,13 @@
+ return 0;
+ }
+
++/*
++ * Define PATH_MAX to 4096 if it's not defined, like on GNU/Hurd
++ */
++
++#ifndef PATH_MAX
++#define PATH_MAX 4096
++#endif
+
+ int
+ CheckTtyname (tty)
+--- a/screen.h
++++ b/screen.h
+@@ -109,6 +109,13 @@
+ # define DEFAULT_BUFFERFILE "/tmp/screen-exchange"
+ #endif
+
++/*
++ * Define PATH_MAX to 4096 if it's not defined, like on GNU/Hurd
++ */
++
++#ifndef PATH_MAX
++#define PATH_MAX 4096
++#endif
+
+ #if defined(hpux) && !(defined(VSUSP) && defined(VDSUSP) && defined(VWERASE) && defined(VLNEXT))
+ # define HPUX_LTCHARS_HACK
diff --git a/debian/patches/63-add-utempter-switch.patch b/debian/patches/63-add-utempter-switch.patch
new file mode 100644
index 0000000..800f092
--- /dev/null
+++ b/debian/patches/63-add-utempter-switch.patch
@@ -0,0 +1,24 @@
+Description: Add guarding commandline option around libutempter check
+Author: Axel Beckert <abe@debian.org>
+Forwarded: not-yet
+Bug-Debian: https://bugs.debian.org/819781
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -841,6 +841,8 @@
+ ],
+ [int x = DEAD_PROCESS; pututline((struct utmp *)0); getutent();], AC_DEFINE(GETUTENT), LIBS="$olibs")
+ )
++AC_ARG_ENABLE(utempter, [ --enable-utempter enable utempter support])
++if test "$enable_pam" = "yes"; then
+ AC_CHECKING(ut_host)
+ AC_TRY_COMPILE([
+ #include <time.h>
+@@ -857,6 +859,7 @@
+ AC_DEFINE(HAVE_UTEMPTER)
+ LIBS="$LIBS -lutempter"
+ fi
++fi
+
+ dnl
+ dnl **** loadav ****
diff --git a/debian/patches/64-fix-manpage-typos-reported-by-lintian.patch b/debian/patches/64-fix-manpage-typos-reported-by-lintian.patch
new file mode 100644
index 0000000..52225c9
--- /dev/null
+++ b/debian/patches/64-fix-manpage-typos-reported-by-lintian.patch
@@ -0,0 +1,82 @@
+Description: Fix spelling errors found by Lintian
+Author: Axel Beckert <abe@debian.org>
+Forwarded: not-yet
+
+--- a/NEWS.3.5
++++ b/NEWS.3.5
+@@ -27,7 +27,7 @@
+ Please run the 'newsyntax' script on your old screenrc files!
+
+ * Emacs style isearch added to copy mode. Try ^A ESC ^R screen ^R ^R
+- to locate the last three occurences of the word 'screen' in the
++ to locate the last three occurrences of the word 'screen' in the
+ history buffer.
+
+ * New command 'silence'. Alarms the user whenever there was inactivity
+--- a/doc/screen.1
++++ b/doc/screen.1
+@@ -1434,7 +1434,7 @@
+ \fBw\fP, \fBb\fP, and \fBe\fP@move the cursor word by word.
+ \fBB\fP, \fBE\fP@move the cursor WORD by WORD (as in vi).
+ \fBf/F\fP, \fBt/T\fP@T{
+-move the cursor forward/backward to the next occurence of the
++move the cursor forward/backward to the next occurrence of the
+ target. (eg, '3fy' will move the cursor to the 3rd 'y' to the right.)
+ T}
+ \fB;\fP and \fB,\fP@T{
+@@ -1451,7 +1451,7 @@
+ \fBC-b\fP and \fBC-f\fP@scroll the display up/down a full screen.
+ .TE
+ .\"\fBf\fP,\fBt\fP, \fBF\fP, \fBT\fP@T{
+-.\"move the cursor forward/backward to the next occurence of the target.
++.\"move the cursor forward/backward to the next occurrence of the target.
+ .\"T}
+
+ .PP
+@@ -1483,7 +1483,7 @@
+ Example: \*QC-a C-[ H 10 j 5 Y\*U will copy lines
+ 11 to 15 into the paste buffer.
+ .PP
+-The folllowing search keys are defined:
++The following search keys are defined:
+ .IP
+ \fB/\fP \fIVi\fP-like search forward.
+ .IP
+@@ -2161,7 +2161,7 @@
+ This forces any currently selected region to be automatically
+ resized at least a certain \fIwidth\fP and \fIheight\fP. All
+ other surrounding regions will be resized in order to accommodate.
+-This constraint follows everytime the \*Qfocus\*U command is
++This constraint follows every time the \*Qfocus\*U command is
+ used. The \*Qresize\*U command can be used to increase either
+ dimension of a region, but never below what is set with
+ \*Qfocusminsize\*U. The underscore `_' is a synonym for
+@@ -3093,7 +3093,7 @@
+ .I screen
+ will prompt for how you would like to resize the current region.
+
+-See \*Qfocusminsize\*U if you want to restrict the minimun size a region
++See \*Qfocusminsize\*U if you want to restrict the minimum size a region
+ can have.
+ .RE
+ .RE
+--- a/doc/screen.texinfo
++++ b/doc/screen.texinfo
+@@ -2211,7 +2211,7 @@
+ Without any arguments, @code{screen} will prompt for how you would
+ like to resize the current region.
+
+-See @code{focusminsize} if you want to restrict the minimun size a region can have.
++See @code{focusminsize} if you want to restrict the minimum size a region can have.
+
+ @end deffn
+
+@@ -3689,7 +3689,7 @@
+
+ @noindent
+ @kbd{f}/@kbd{F}, @kbd{t}/@kbd{T} move the cursor forward/backward to the
+-next occurence of the target. (eg, '3fy' will move the cursor to the 3rd
++next occurrence of the target. (eg, '3fy' will move the cursor to the 3rd
+ 'y' to the right.)
+
+ @noindent
diff --git a/debian/patches/80_session_creation_docs.patch b/debian/patches/80_session_creation_docs.patch
new file mode 100644
index 0000000..da99fe7
--- /dev/null
+++ b/debian/patches/80_session_creation_docs.patch
@@ -0,0 +1,74 @@
+Author: Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de>
+Description: Add lookup code for the creation time of each session.
+ Requires digging in /proc/$pid and /proc/uptime, though, so it's
+ definitely no candidate for the Beautiful C contest.
+ .
+ Affects screen's behaviour in the following situations:
+ .
+ * 'screen -ls' lists available sessions sorted chronologically
+ * 'screen -RR' now picks the youngest session instead of an
+ arbitrary one
+ .
+ Patch 1/3: documentation
+Bug-Debian: https://bugs.debian.org/206572
+Forwarded: not-yet
+
+--- a/doc/screen.1
++++ b/doc/screen.1
+@@ -244,7 +244,7 @@
+ .IR screen ,
+ but prints a list of
+ .I pid.tty.host
+-strings identifying your
++strings and creation timestamps identifying your
+ .I screen
+ sessions.
+ Sessions marked `detached' can be resumed with \*Qscreen \-r\*U. Those marked
+@@ -351,7 +351,7 @@
+ .I screen
+ is detached. Otherwise lists available sessions.
+ .B \-RR
+-attempts to resume the first detached
++attempts to resume the youngest (in terms of creation time) detached
+ .I screen
+ session it finds. If successful, all other command-line options are ignored.
+ If no detached session exists, starts a new session using the specified
+@@ -361,6 +361,8 @@
+ .I screen
+ is run as a login-shell (actually screen uses \*Q\-xRR\*U in that case).
+ For combinations with the \fB\-d\fP/\fB\-D\fP option see there.
++.B Note:
++Time-based session selection is a Debian addition.
+ .TP 5
+ .BI "\-s " program
+ sets the default shell to the program specified, instead of the value
+--- a/doc/screen.texinfo
++++ b/doc/screen.texinfo
+@@ -320,7 +320,8 @@
+ @itemx -list [@var{match}]
+ Do not start @code{screen}, but instead print a list of session
+ identification strings (usually of the form @var{pid.tty.host};
+-@pxref{Session Name}). Sessions marked @samp{detached} can be resumed
++@pxref{Session Name}) and the corresponding creation timestamps.
++Sessions marked @samp{detached} can be resumed
+ with @code{screen -r}. Those marked @samp{attached} are running and
+ have a controlling terminal. If the session runs in multiuser mode,
+ it is marked @samp{multi}. Sessions marked as @samp{unreachable} either
+@@ -414,14 +415,15 @@
+ when only one @code{screen} is detached. Otherwise lists available sessions.
+
+ @item -RR
+-Resume the first appropriate detached @code{screen} session. If
+-successful, all other command-line options are ignored. If no detached
++Resume the most-recently created appropriate detached @code{screen} session.
++If successful, all other command-line options are ignored. If no detached
+ session exists, start a new session using the specified options, just as
+ if @samp{-R} had not been specified. This option is set by default if
+ screen is run as a login-shell (actually screen uses @samp{-xRR} in
+ that case).
+ For combinations with the
+ @samp{-D}/@samp{-d} option see there.
++@samp{Note:} Time-based session selection is a Debian addition.
+
+ @item -s @var{program}
+ Set the default shell to be @var{program}. By default, @code{screen}
diff --git a/debian/patches/81_session_creation_util.patch b/debian/patches/81_session_creation_util.patch
new file mode 100644
index 0000000..85d3d18
--- /dev/null
+++ b/debian/patches/81_session_creation_util.patch
@@ -0,0 +1,77 @@
+Author: Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de>
+Description: Add lookup code for the creation time of each session.
+ Requires digging in /proc/$pid and /proc/uptime, though, so it's
+ definitely no candidate for the Beautiful C contest.
+ .
+ Affects screen's behaviour in the following situations:
+ .
+ * 'screen -ls' lists available sessions sorted chronologically
+ * 'screen -RR' now picks the youngest session instead of an
+ arbitrary one
+ .
+ Patch 2/3: new utility functions
+Bug-Debian: https://bugs.debian.org/206572
+Forwarded: not-yet
+
+--- a/extern.h
++++ b/extern.h
+@@ -393,6 +393,8 @@
+ #else
+ extern int xsnprintf __P(());
+ #endif
++extern time_t SessionCreationTime __P((const char *));
++extern time_t GetUptime __P((void));
+
+
+ /* acl.c */
+--- a/misc.c
++++ b/misc.c
+@@ -29,6 +29,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h> /* mkdir() declaration */
+ #include <signal.h>
++#include <fcntl.h>
+
+ #include "config.h"
+ #include "screen.h"
+@@ -769,3 +770,40 @@
+ }
+
+ #endif
++
++time_t SessionCreationTime(const char *fifo) {
++ char ppath[20];
++ int pfd;
++ char pdata[512];
++ char *jiffies;
++
++ int pid = atoi(fifo);
++ if (pid <= 0) return 0;
++ sprintf(ppath, "/proc/%u/stat", pid);
++ pfd = open(ppath, O_RDONLY);
++ if (pfd < 0) return 0;
++ while (1) {
++ int R=0, RR;
++ RR = read(pfd, pdata + R, 512-R);
++ if (RR < 0) {close(pfd); return 0;}
++ else if (RR == 0) break;
++ }
++ close(pfd);
++
++ for (pfd=21, jiffies=pdata; pfd; --pfd) {
++ jiffies = strchr(jiffies, ' ');
++ if (!jiffies) break; else ++jiffies;
++ }
++ if (!jiffies) return 0;
++
++ return atol(jiffies) / 100;
++}
++
++time_t GetUptime(void) {
++ char uptimestr[32];
++ int fd = open("/proc/uptime", O_RDONLY);
++ if (fd < 0) return 0;
++ (void)read(fd, uptimestr, 32);
++ close(fd);
++ return atol(uptimestr);
++}
diff --git a/debian/patches/82_session_creation_core.patch b/debian/patches/82_session_creation_core.patch
new file mode 100644
index 0000000..72fa1f3
--- /dev/null
+++ b/debian/patches/82_session_creation_core.patch
@@ -0,0 +1,161 @@
+Author: Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de>
+Description: Add lookup code for the creation time of each session.
+ Requires digging in /proc/$pid and /proc/uptime, though, so it's
+ definitely no candidate for the Beautiful C contest.
+ .
+ Affects screen's behaviour in the following situations:
+ .
+ * 'screen -ls' lists available sessions sorted chronologically
+ * 'screen -RR' now picks the youngest session instead of an
+ arbitrary one
+ .
+ Patch 3/3: implementation of actual new feature
+Bug-Debian: https://bugs.debian.org/206572
+Bug-Debian: https://bugs.debian.org/507817
+Forwarded: not-yet
+
+--- a/socket.c
++++ b/socket.c
+@@ -137,16 +137,18 @@
+ int sdirlen;
+ int matchlen = 0;
+ char *name, *n;
+- int firsts = -1, sockfd;
+- char *firstn = NULL;
++ int sockfd;
+ int nfound = 0, ngood = 0, ndead = 0, nwipe = 0, npriv = 0;
+ int nperfect = 0;
++ time_t time_sysboot = time(NULL) - GetUptime();
+ struct sent
+ {
+ struct sent *next;
+ int mode;
++ int fd;
+ char *name;
+- } *slist, **slisttail, *sent, *nsent;
++ time_t time_created;
++ } *slist, **slisttail, *sent, *nsent, *schosen;
+
+ if (match)
+ {
+@@ -172,7 +174,7 @@
+ if ((dirp = opendir(SockPath)) == 0)
+ Panic(errno, "Cannot opendir %s", SockPath);
+
+- slist = 0;
++ slist = schosen = NULL;
+ slisttail = &slist;
+ while ((dp = readdir(dirp)))
+ {
+@@ -255,13 +257,16 @@
+ debug(" store it.\n");
+ if ((sent = (struct sent *)malloc(sizeof(struct sent))) == 0)
+ continue;
+- sent->next = 0;
+ sent->name = SaveStr(name);
+ sent->mode = mode;
++ sent->time_created = time_sysboot + SessionCreationTime(name);
++ for (slisttail = &slist; *slisttail; slisttail = &((*slisttail)->next)) {
++ if ((*slisttail)->time_created < sent->time_created) break;
++ }
++ sent->next = *slisttail;
+ *slisttail = sent;
+- slisttail = &sent->next;
+ nfound++;
+- sockfd = MakeClientSocket(0, *is_sock);
++ sent->fd = sockfd = MakeClientSocket(0, *is_sock);
+ #ifdef USE_SETEUID
+ /* MakeClientSocket sets ids back to eff */
+ xseteuid(real_uid);
+@@ -326,12 +331,17 @@
+ ngood++;
+ if (cmatch)
+ nperfect++;
+- if (fdp && (firsts == -1 || (cmatch && nperfect == 1)))
++ // prefer the current one if one of the following is true:
++ // - we had no previous hit
++ // - the current one has a later timestamp than our previous one, and we haven't found a perfect match yet
++ // - this one is the first perfect match
++ if (fdp && (!schosen ||
++ (schosen && schosen->time_created < sent->time_created && nperfect == 0) ||
++ (cmatch && nperfect == 1)))
+ {
+- if (firsts != -1)
+- close(firsts);
+- firsts = sockfd;
+- firstn = sent->name;
++ if (schosen)
++ close(schosen->fd);
++ schosen = sent;
+ debug(" taken.\n");
+ }
+ else
+@@ -359,36 +369,27 @@
+ }
+ for (sent = slist; sent; sent = sent->next)
+ {
+- switch (sent->mode)
++ char timestr[64];
++ if (sent->time_created == 0)
+ {
+- case 0700:
+- printf("\t%s\t(Attached)\n", sent->name);
+- break;
+- case 0600:
+- printf("\t%s\t(Detached)\n", sent->name);
+- break;
++ sprintf(timestr, "??" "?");
++ }
++ else
++ {
++ strftime(timestr, 64, "%x %X", localtime(&sent->time_created));
++ }
++ printf("\t%s\t(%s)\t(%s)\n", sent->name, timestr,
++ (sent->mode == 0700) ? "Attached" :
++ (sent->mode == 0600) ? "Detached" :
+ #ifdef MULTIUSER
+- case 0701:
+- printf("\t%s\t(Multi, attached)\n", sent->name);
+- break;
+- case 0601:
+- printf("\t%s\t(Multi, detached)\n", sent->name);
+- break;
++ (sent->mode == 0701) ? "Multi, attached" :
++ (sent->mode == 0601) ? "Multi, detached" :
+ #endif
+- case -1:
+- /* No trigraphs here! */
+- printf("\t%s\t(Dead ?%c?)\n", sent->name, '?');
+- break;
+- case -2:
+- printf("\t%s\t(Removed)\n", sent->name);
+- break;
+- case -3:
+- printf("\t%s\t(Remote or dead)\n", sent->name);
+- break;
+- case -4:
+- printf("\t%s\t(Private)\n", sent->name);
+- break;
+- }
++ (sent->mode == -1) ? "Dead ??" "?" :
++ (sent->mode == -2) ? "Removed" :
++ (sent->mode == -3) ? "Remote or dead" :
++ (sent->mode == -4) ? "Private" :
++ "Unknown");
+ }
+ }
+ if (ndead && !quietflag)
+@@ -399,10 +400,10 @@
+ else
+ Msg(0, m, ndead > 1 ? "s" : "", ndead > 1 ? "" : "es"); /* other args for nethack */
+ }
+- if (firsts != -1)
++ if (schosen)
+ {
+- sprintf(SockPath + sdirlen, "/%s", firstn);
+- *fdp = firsts;
++ sprintf(SockPath + sdirlen, "/%s", schosen->name);
++ *fdp = schosen->fd;
+ }
+ else
+ SockPath[sdirlen] = 0;
diff --git a/debian/patches/90_cherrypick-d340b02c_do-not-liunk-against-libelf.patch b/debian/patches/90_cherrypick-d340b02c_do-not-liunk-against-libelf.patch
new file mode 100644
index 0000000..dedaaad
--- /dev/null
+++ b/debian/patches/90_cherrypick-d340b02c_do-not-liunk-against-libelf.patch
@@ -0,0 +1,39 @@
+Origin: commit:d340b02cbedb7e6e726559f26dc09d3b8b104ec5
+Author: Amadeusz Sławiński <amade@asmblr.net>
+Date: Tue Jul 8 14:55:25 2014 +0200
+Bug-Debian: https://bugs.debian.org/903818
+Forwarded: https://lists.gnu.org/archive/html/screen-devel/2018-07/msg00003.html
+Reviewed-By: Sven Joachim <svenjoac@gmx.de>
+Reviewed-By: Axel Beckert <abe@debian.org>
+Subject: Do not link against libelf.
+
+I'd like to upstream the patch to drop linking dependency to libelf. It is
+probably some leftover from old versions of gnu screen and some
+distributions downstream upply it for years.
+
+http://pkgs.fedoraproject.org/cgit/screen.git/tree/screen-4.0.3-libs.patch
+(Fedora)
+http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-misc/screen/files/4.0.2-no-libelf.patch?revision=1.1&view=markup
+(Gentoo)
+https://galileo.mailstation.de/gerrit/#/c/1275/ (Exherbo)
+
+From: Ivan Diorditsa <ivan.diorditsa@gmail.com>
+Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -202,14 +202,6 @@
+ #endif
+ ], LIBS="$LIBS -lsocket -linet";seqptx=1)
+
+-oldlibs="$LIBS"
+-LIBS="$LIBS -lelf"
+-AC_CHECKING(SVR4)
+-AC_TRY_LINK([#include <utmpx.h>
+-],,
+-[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN),
+-[AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN))])]
+-,LIBS="$oldlibs")
+ AC_CHECK_HEADERS([stropts.h string.h strings.h])
+
+ AC_CHECKING(for Solaris 2.x)
diff --git a/debian/patches/99_CVE-2021-26937.patch b/debian/patches/99_CVE-2021-26937.patch
new file mode 100644
index 0000000..336d9fe
--- /dev/null
+++ b/debian/patches/99_CVE-2021-26937.patch
@@ -0,0 +1,64 @@
+Description: [CVE-2021-26937] Fix out of bounds array access
+Author: Michael Schröder <mls@suse.de>
+Bug-Debian: https://bugs.debian.org/982435
+Bug: https://savannah.gnu.org/bugs/?60030
+Bug: https://lists.gnu.org/archive/html/screen-devel/2021-02/msg00000.html
+Bug-OSS-Security: https://www.openwall.com/lists/oss-security/2021/02/09/3
+Origin: https://lists.gnu.org/archive/html/screen-devel/2021-02/msg00010.html
+
+--- a/encoding.c
++++ b/encoding.c
+@@ -43,7 +43,7 @@
+ # ifdef UTF8
+ static int recode_char __P((int, int, int));
+ static int recode_char_to_encoding __P((int, int));
+-static void comb_tofront __P((int, int));
++static void comb_tofront __P((int));
+ # ifdef DW_CHARS
+ static int recode_char_dw __P((int, int *, int, int));
+ static int recode_char_dw_to_encoding __P((int, int *, int));
+@@ -1256,6 +1256,8 @@
+ {0x30000, 0x3FFFD},
+ };
+
++ if (c >= 0xdf00 && c <= 0xdfff)
++ return 1; /* dw combining sequence */
+ return ((bisearch(c, wide, sizeof(wide) / sizeof(struct interval) - 1)) ||
+ (cjkwidth &&
+ bisearch(c, ambiguous,
+@@ -1323,11 +1325,12 @@
+ }
+
+ static void
+-comb_tofront(root, i)
+-int root, i;
++comb_tofront(i)
++int i;
+ {
+ for (;;)
+ {
++ int root = i >= 0x700 ? 0x801 : 0x800;
+ debug1("bring to front: %x\n", i);
+ combchars[combchars[i]->prev]->next = combchars[i]->next;
+ combchars[combchars[i]->next]->prev = combchars[i]->prev;
+@@ -1389,9 +1392,9 @@
+ {
+ /* full, recycle old entry */
+ if (c1 >= 0xd800 && c1 < 0xe000)
+- comb_tofront(root, c1 - 0xd800);
++ comb_tofront(c1 - 0xd800);
+ i = combchars[root]->prev;
+- if (c1 == i + 0xd800)
++ if (i == 0x800 || i == 0x801 || c1 == i + 0xd800)
+ {
+ /* completely full, can't recycle */
+ debug("utf8_handle_comp: completely full!\n");
+@@ -1415,7 +1418,7 @@
+ mc->font = (i >> 8) + 0xd8;
+ mc->fontx = 0;
+ debug3("combinig char %x %x -> %x\n", c1, c, i + 0xd800);
+- comb_tofront(root, i);
++ comb_tofront(i);
+ }
+
+ #else /* !UTF8 */
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..44ac224
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,20 @@
+# 01-08: fixes to configure, altering preprocessor macros etc.
+05prefer-libtinfo-over-libcurses.patch
+# 10-79: "regular" code and documentation fixes
+11replace_doc_paths.patch
+13split_info_files.patch
+26source_encoding.patch
+45suppress_remap.patch
+#52fix_screen_utf8_nfd.patch
+58-show-encoding-hardstatus.patch
+60-screen-4.2.1-debian4.1.0-compatibility.patch
+61-default-PATH_MAX-if-undefined-for-hurd.patch
+63-add-utempter-switch.patch
+64-fix-manpage-typos-reported-by-lintian.patch
+# 80-89: experimental patches, new features etc.
+80_session_creation_docs.patch
+81_session_creation_util.patch
+82_session_creation_core.patch
+# 90-99: (more or less) cherry-picked from upstream
+90_cherrypick-d340b02c_do-not-liunk-against-libelf.patch
+99_CVE-2021-26937.patch
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..1d47f7f
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,77 @@
+#!/usr/bin/make -f
+#
+# Copyright (C) 1997 joost witteveen <joost@rulcmc.leidenuniv.nl>
+# Copyright (C) 1997-2001 Juan Cespedes <cespedes@debian.org>
+# Copyright (C) 2001 Adam Lazur <zal@debian.org>
+# Copyright (C) 2011-2016 Axel Beckert <abe@debian.org>
+
+# Uncomment me to turn on debugging
+#export DH_VERBOSE=1
+
+export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+export DEB_CFLAGS_MAINT_APPEND=-Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers
+
+ROOT := $(CURDIR)/debian/screen
+ROOT_UDEB := $(CURDIR)/debian/screen-udeb
+# statically define this... sucko
+TTYGROUP := 5
+# Common configure options for .deb and .udeb
+SCREEN_CONFIGURE=--with-socket-dir=/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
+
+%:
+ dh $@
+
+override_dh_auto_clean:
+ rm -rf build build-udeb
+
+override_dh_auto_configure:
+ dh_auto_configure -B build -- $(SCREEN_CONFIGURE) --enable-pam --enable-utempter
+ # To minimize the library dependencies, the .udeb binary is
+ # built without "--enable-pam"
+ dh_auto_configure -B build-udeb -- $(SCREEN_CONFIGURE)
+ # Assert the use of fifos instead of sockets
+ 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 --builddirectory build
+ dh_auto_build --builddirectory build-udeb
+ dh_auto_build --sourcedirectory build/doc
+
+override_dh_auto_install:
+ # can't call the normal install target b/c it installs the
+ # info files and other crud
+ 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 $(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 only in udeb
+ chown root:utmp $(ROOT_UDEB)/usr/bin/screen
+ chmod 2755 $(ROOT_UDEB)/usr/bin/screen
+ chmod 755 $(ROOT)/usr/bin/screen
+ # Fix package-contains-info-dir-file, remove /usr/share/info/dir.gz
+ rm -f $(ROOT)/usr/share/info/dir*
+ # Remove documentation from udeb
+ rm -rf $(ROOT_UDEB)/usr/share/info $(ROOT_UDEB)/usr/share/man
+
+override_dh_installinit:
+ dh_installinit --no-start --init-script=screen-cleanup
+
+override_dh_installsystemd:
+ dh_installsystemd --name=screen-cleanup
+
+override_dh_fixperms:
+ dh_fixperms -X/usr/bin/screen
+
+override_dh_strip:
+ dh_strip --dbgsym-migration=screen-dbg
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/screen-udeb.lintian-overrides b/debian/screen-udeb.lintian-overrides
new file mode 100644
index 0000000..e68f880
--- /dev/null
+++ b/debian/screen-udeb.lintian-overrides
@@ -0,0 +1,2 @@
+# Screen is setgid by default to be able to write to the utmp database
+screen-udeb udeb: setgid-binary usr/bin/screen 2755 root/utmp
diff --git a/debian/screen.dirs b/debian/screen.dirs
new file mode 100644
index 0000000..bbb9934
--- /dev/null
+++ b/debian/screen.dirs
@@ -0,0 +1,13 @@
+# The following directory is needed if the local admin wants to remove
+# the setgid bit by following the steps listed in README.Debian. Just
+# creating the directory in postinst (in case systemd is not
+# installed) and removing it again in postrm does not work, because
+# postinst either removes a directory owned by systemd (even if empty)
+# or leaves an unowned directory in case of any other init system is
+# used. The situation would get even more tricky if the file hasn't
+# been created because running under sysvinit and then the init system
+# is switched (either by installing systemd-sysv or by switching the
+# init system via boot parameters) without screen being reinstalled,
+# i.e. screen's postinst not being called again. (And screen's init
+# script can't handle that because it's no more run by systemd.)
+etc/tmpfiles.d
diff --git a/debian/screen.docs b/debian/screen.docs
new file mode 100644
index 0000000..3030089
--- /dev/null
+++ b/debian/screen.docs
@@ -0,0 +1,8 @@
+NEWS*
+README
+TODO
+debian/README.Debian
+doc/FAQ
+doc/fdpat.ps
+doc/window_to_display.ps
+terminfo
diff --git a/debian/screen.examples b/debian/screen.examples
new file mode 100644
index 0000000..eeaf0a3
--- /dev/null
+++ b/debian/screen.examples
@@ -0,0 +1,2 @@
+etc/etcscreenrc
+etc/screenrc
diff --git a/debian/screen.info b/debian/screen.info
new file mode 100644
index 0000000..8c30b78
--- /dev/null
+++ b/debian/screen.info
@@ -0,0 +1 @@
+build/doc/screen.info*
diff --git a/debian/screen.init b/debian/screen.init
new file mode 100644
index 0000000..3eb4185
--- /dev/null
+++ b/debian/screen.init
@@ -0,0 +1,49 @@
+#!/bin/sh
+# $Id: init,v 1.3 2004/03/16 01:43:45 zal Exp $
+#
+# Script to remove stale screen named pipes on bootup.
+#
+
+### BEGIN INIT INFO
+# Provides: screen-cleanup
+# Required-Start: $remote_fs
+# Required-Stop: $remote_fs
+# Default-Start: S
+# Default-Stop:
+# Short-Description: screen sessions cleaning
+# Description: Cleans up the screen session directory and fixes its
+# permissions if needed.
+### END INIT INFO
+
+set -e
+
+test -f /usr/bin/screen || exit 0
+
+SCREENDIR=/run/screen
+
+case "$1" in
+start)
+ if test -L $SCREENDIR || ! test -d $SCREENDIR; then
+ rm -f $SCREENDIR
+ mkdir $SCREENDIR
+ chown root:utmp $SCREENDIR
+ [ -x /sbin/restorecon ] && /sbin/restorecon $SCREENDIR
+ fi
+ find $SCREENDIR -type p -delete
+# If the local admin has used dpkg-statoverride to install the screen
+# binary with different set[ug]id bits, change the permissions of
+# $SCREENDIR accordingly
+ BINARYPERM=`stat -c%a /usr/bin/screen`
+ if [ "$BINARYPERM" -ge 4000 ]; then
+ chmod 0755 $SCREENDIR
+ elif [ "$BINARYPERM" -ge 2000 ]; then
+ chmod 0775 $SCREENDIR
+ else
+ chmod 1777 $SCREENDIR
+ fi
+ ;;
+stop|restart|reload|force-reload)
+ ;;
+esac
+
+exit 0
diff --git a/debian/screen.install b/debian/screen.install
new file mode 100644
index 0000000..273a46e
--- /dev/null
+++ b/debian/screen.install
@@ -0,0 +1,2 @@
+debian/README.terminfo usr/share/doc/screen/terminfo/
+debian/screenrc etc/
diff --git a/debian/screen.lintian-overrides b/debian/screen.lintian-overrides
new file mode 100644
index 0000000..9b40b4f
--- /dev/null
+++ b/debian/screen.lintian-overrides
@@ -0,0 +1,20 @@
+# Only the fixup to migrate away from old /tmp/.screen
+screen: possibly-insecure-handling-of-tmp-files-in-maintainer-script preinst:8
+
+# There is no status, it's just for cleaning up.
+screen: init.d-script-does-not-implement-optional-option etc/init.d/screen-cleanup status
+
+# hyphen-used-as-minus-sign false positives
+# "'$'-character"
+screen: hyphen-used-as-minus-sign usr/share/man/man1/screen.1.gz:679
+# "`%'-character"
+screen: hyphen-used-as-minus-sign usr/share/man/man1/screen.1.gz:833
+
+# False positive, handled by debian/tmpfile, debian/postinst and
+# debian/postrm. See https://bugs.debian.org/740301 and
+# https://bugs.launchpad.net/bugs/1462692 for the context of this
+# implementation.
+screen: missing-systemd-service-for-init.d-rcS-script screen-cleanup
+
+# False positive, it's user and group
+screen: spelling-error-in-readme-debian root root (duplicate word) root
diff --git a/debian/screen.manpages b/debian/screen.manpages
new file mode 100644
index 0000000..39b73be
--- /dev/null
+++ b/debian/screen.manpages
@@ -0,0 +1 @@
+doc/screen.1
diff --git a/debian/screen.postinst b/debian/screen.postinst
new file mode 100644
index 0000000..687579f
--- /dev/null
+++ b/debian/screen.postinst
@@ -0,0 +1,35 @@
+#!/bin/sh
+set -e
+
+. /usr/share/debconf/confmodule
+
+if [ "$1" = configure ]; then
+ if ! test -d /run/screen; then
+ install -g utmp -m 0775 -d /run/screen
+ fi
+ perms="`stat -c%a /usr/bin/screen`"
+ override=/etc/tmpfiles.d/screen-cleanup.conf
+ if [ $perms -eq 4755 ]; then
+ chmod 0755 /run/screen
+ if [ ! -f $override ]; then
+ echo 'd /run/screen 0755 root utmp' > $override
+ fi
+ elif [ $perms -eq 755 ]; then
+ chmod 1777 /run/screen
+ if [ ! -f $override ]; then
+ echo 'd /run/screen 1777 root utmp' > $override
+ fi
+ fi
+
+ # LP #1462692
+ servicedir=/lib/systemd/system
+ servicefile=$servicedir/screen-cleanup.service
+ mkdir -p $servicedir
+ if [ ! -e $servicefile ]; then
+ ln -s /dev/null $servicefile
+ fi
+
+ add-shell /usr/bin/screen || true
+fi
+
+#DEBHELPER#
diff --git a/debian/screen.postrm b/debian/screen.postrm
new file mode 100644
index 0000000..457a0dc
--- /dev/null
+++ b/debian/screen.postrm
@@ -0,0 +1,20 @@
+#!/bin/sh
+set -e
+
+if [ "$1" = purge ] || [ "$1" = remove ]; then
+ rm -rf /run/screen
+fi
+
+if [ "$1" = purge ]; then
+ rm -vf /etc/tmpfiles.d/screen-cleanup.conf
+
+ # LP #1462692
+ rm -f /lib/systemd/system/screen-cleanup.service
+ rmdir -p --ignore-fail-on-non-empty /lib/systemd/system
+fi
+
+if [ "$1" = disappear ]; then
+ remove-shell /usr/bin/screen || true
+fi
+
+#DEBHELPER#
diff --git a/debian/screen.preinst b/debian/screen.preinst
new file mode 100644
index 0000000..a55748b
--- /dev/null
+++ b/debian/screen.preinst
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = upgrade ]; then
+ if dpkg --compare-versions "$2" lt-nl 4.0.3-7 && \
+ dpkg --compare-versions "$2" gt 4.0.3-3; then
+ if ! test -L /tmp/.screen && test -d /tmp/.screen && test -n "`find /tmp/.screen -type p 2>/dev/null`"; then
+ ln -s /tmp/.screen /run/screen
+ fi
+ fi
+fi
+
+#DEBHELPER#
diff --git a/debian/screen.prerm b/debian/screen.prerm
new file mode 100644
index 0000000..85498ae
--- /dev/null
+++ b/debian/screen.prerm
@@ -0,0 +1,8 @@
+#!/bin/sh
+set -e
+
+if [ "$1" = remove ] || [ "$1" = deconfigure ]; then
+ remove-shell /usr/bin/screen || true
+fi
+
+#DEBHELPER#
diff --git a/debian/screen.screen-cleanup.tmpfile b/debian/screen.screen-cleanup.tmpfile
new file mode 100644
index 0000000..7d56890
--- /dev/null
+++ b/debian/screen.screen-cleanup.tmpfile
@@ -0,0 +1 @@
+d /run/screen 0777 root utmp
diff --git a/debian/screenrc b/debian/screenrc
new file mode 100644
index 0000000..032db64
--- /dev/null
+++ b/debian/screenrc
@@ -0,0 +1,108 @@
+# $Id: screenrc,v 1.15 2003/10/08 11:39:03 zal Exp $
+#
+# /etc/screenrc
+#
+# This is the system wide screenrc.
+#
+# You can use this file to change the default behavior of screen system wide
+# or copy it to ~/.screenrc and use it as a starting point for your own
+# settings.
+#
+# Commands in this file are used to set options, bind screen functions to
+# keys, redefine terminal capabilities, and to automatically establish one or
+# more windows at the beginning of your screen session.
+#
+# This is not a comprehensive list of options, look at the screen manual for
+# details on everything that you can put in this file.
+#
+
+# ------------------------------------------------------------------------------
+# 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
+
+# ------------------------------------------------------------------------------
+# STARTUP SCREENS
+# ------------------------------------------------------------------------------
+
+# Example of automatically running some programs in windows on screen startup.
+#
+# The following will open top in the first window, an ssh session to monkey
+# in the next window, and then open mutt and tail in windows 8 and 9
+# respectively.
+#
+# screen top
+# screen -t monkey ssh monkey
+# screen -t mail 8 mutt
+# screen -t daemon 9 tail -f /var/log/daemon.log
+
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/options b/debian/source/options
new file mode 100644
index 0000000..1c717dc
--- /dev/null
+++ b/debian/source/options
@@ -0,0 +1 @@
+extend-diff-ignore=config\.h\.in
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..bf2a801
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,2 @@
+Test-Command: prove -v debian/tests/t
+Depends: @, perl
diff --git a/debian/tests/t/boilerplate.sh b/debian/tests/t/boilerplate.sh
new file mode 100644
index 0000000..8b28d59
--- /dev/null
+++ b/debian/tests/t/boilerplate.sh
@@ -0,0 +1,49 @@
+# -*- sh -*-
+
+TESTNAME=`basename $0`.`mktemp -u XXXXXXXX`
+SCREEN="screen -S $TESTNAME"
+SCREENRC=/dev/null
+export SCREENRC
+count=0
+
+check_exit_code_true() {
+ if [ "$?" != 0 ]; then echo -n 'not '; fi; echo ok $(( count+=1 )) - "$@"
+}
+
+check_exit_code_false() {
+ if [ "$?" = 0 ]; then echo -n 'not '; fi; echo ok $(( count+=1 )) - "$@"
+}
+
+has_session_with_testname() {
+ screen -ls | fgrep -q "$TESTNAME"
+}
+
+session_exists_2_tests() {
+ screen -ls | fgrep -q '(Detached)'
+ check_exit_code_true Detached session found
+
+ has_session_with_testname
+ check_exit_code_true Session has expected session name
+}
+
+create_session_3_tests() {
+ $SCREEN -d -m "$@"
+ check_exit_code_true Create session
+
+ sleep 1
+
+ session_exists_2_tests
+}
+
+kill_session_2_tests() {
+ $SCREEN -X quit
+ check_exit_code_true Quit command sent to session
+
+ has_session_with_testname
+ check_exit_code_false Session is gone
+}
+
+has_window_number_zero() {
+ $SCREEN -Q windows | egrep -q '^0 '
+ check_exit_code_true Session has a window with id 0
+}
diff --git a/debian/tests/t/command.t b/debian/tests/t/command.t
new file mode 100755
index 0000000..c59bafb
--- /dev/null
+++ b/debian/tests/t/command.t
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+echo 1..4
+
+. `dirname $0`/boilerplate.sh
+
+$SCREEN -D -m -s /bin/true sleep 2 &
+check_exit_code_true Create session
+
+sleep 1
+
+session_exists_2_tests
+
+sleep 2
+
+has_session_with_testname
+check_exit_code_false Session is gone
diff --git a/debian/tests/t/create-list-quit.t b/debian/tests/t/create-list-quit.t
new file mode 100755
index 0000000..d792578
--- /dev/null
+++ b/debian/tests/t/create-list-quit.t
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+echo 1..6
+
+. `dirname $0`/boilerplate.sh
+
+create_session_3_tests
+has_window_number_zero
+kill_session_2_tests
diff --git a/debian/tests/t/dash-Dm.t b/debian/tests/t/dash-Dm.t
new file mode 100755
index 0000000..1f2b391
--- /dev/null
+++ b/debian/tests/t/dash-Dm.t
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+echo 1..5
+
+. `dirname $0`/boilerplate.sh
+
+$SCREEN -D -m &
+check_exit_code_true Create session
+
+sleep 1
+
+session_exists_2_tests
+
+$SCREEN -X quit
+check_exit_code_true Quit command sent to session
+
+sleep 1;
+
+has_session_with_testname
+check_exit_code_false Session is gone
diff --git a/debian/tests/t/dash-U.t b/debian/tests/t/dash-U.t
new file mode 100755
index 0000000..d8ef84c
--- /dev/null
+++ b/debian/tests/t/dash-U.t
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+echo 1..6
+
+. `dirname $0`/boilerplate.sh
+
+create_session_3_tests -U
+has_window_number_zero
+kill_session_2_tests
diff --git a/debian/tests/t/version-help.t b/debian/tests/t/version-help.t
new file mode 100755
index 0000000..f6496c0
--- /dev/null
+++ b/debian/tests/t/version-help.t
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+echo 1..2
+
+. `dirname $0`/boilerplate.sh
+
+screen -v | fgrep -q 'Screen version '
+check_exit_code_true Outputs version
+
+screen -h | fgrep -q 'Options:'
+check_exit_code_true Outputs help
diff --git a/debian/udeb/screenrc b/debian/udeb/screenrc
new file mode 100644
index 0000000..4adc849
--- /dev/null
+++ b/debian/udeb/screenrc
@@ -0,0 +1,57 @@
+# /etc/screenrc
+# Stripped down version for udeb (debian-installer)
+# 2016 Roger Shimizu <rogershimizu@gmail.com>
+
+# SETTINGS
+
+startup_message off
+
+#defflow on # will force screen to process ^S/^Q
+deflogin on
+#autodetach off
+
+vbell on
+vbell_msg " Wuff ---- Wuff!! "
+
+defscrollback 1024
+
+# 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
+
+# TERMINAL SETTINGS
+
+hardstatus alwaysfirstline "%{= kG}[%= %{= kw}%?%-Lw%?%{r} (%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %M %d %{W}%c %{g}]"
+
+# Enable non-blocking mode to better cope with flaky ssh connections.
+defnonblock 5
+
+# STARTUP SCREENS
+
+# window 0: maps to window 1
+# window 1: debian installer
+# window 2: shell
+# window 3: shell
+# window 4: syslog
+
+shell /bin/sh
+defutf8 on
+
+bind c screen 1
+bind ^c screen 1
+bind 0 select 1
+
+screen -t start 0 sleep 1
+screen -t shell 2 /bin/sh
+screen -t shell 3 /bin/sh
+screen -t log 4 tail -f /var/log/syslog
+shelltitle shell
diff --git a/debian/upstream/metadata b/debian/upstream/metadata
new file mode 100644
index 0000000..f11d81c
--- /dev/null
+++ b/debian/upstream/metadata
@@ -0,0 +1,11 @@
+%YAML 1.1
+---
+# https://wiki.debian.org/UpstreamMetadata
+Bug-Database: https://savannah.gnu.org/bugs/?group=screen
+Changelog: https://git.savannah.gnu.org/cgit/screen.git/plain/src/ChangeLog?h=screen-v4
+Contact: screen-devel@gnu.org
+FAQ: http://aperiodic.net/screen/faq
+Name: GNU Screen
+Homepage: https://www.gnu.org/software/screen/
+Repository: git://git.sv.gnu.org/screen.git -b screen-v4
+Repository-Browse: https://git.savannah.gnu.org/cgit/screen.git/?h=screen-v4
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 0000000..858332a
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,146 @@
+
+
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+
+mQENBFG23YwBCADmgO2AZ1ZhTdaCyFjGo35lDcqAIZ9HZuthWvELHzPpSz6Q2r7S
+BQw1/yaYWrukT78ftpo6VEKIDuss5OMgBNh7CaA4pm2yL39PzhMviz4AppcCHOaw
+DTeWkVVgdFPYvnUKRwJ2DTq6kMQz5BFbhTGTerk9d/Akmgc4KBO+Xm+JoNY3bz8V
+4PdFFvIIdRXaTQ+AUKrM+J9uizsgaMTXLpkaG2oZiYodpgJk6CQi1Agwsq83PmLV
+ASIksO4VZyjNp6Oz/osrDJKjq6btiah3xjoSTjG2SjtOx8201LrNeQp2nCaPNwWs
+B6jmomq7dTR4f11n3hy31u8N0PEGPh1PESaXABEBAAG0Hk1pY2FoIENvd2FuIDxt
+aWNhaEBjb3dhbi5uYW1lPokBOAQTAQIAIgUCUbbdjAIbAwYLCQgHAwIGFQgCCQoL
+BBYCAwECHgECF4AACgkQxxSsoCl9mZJfGAf/Qq3p2itfqOvsvcOo+EzJ+MXW2Tek
+HPHt3K1EtApBporSCqsIerIspGTFD2LC/u8PlyjLqZmF/oujuQ69KVA2zqy21DeF
+20bk/jkE1VZMBjOXnV0h7hy+0Vvn1GF0LK9JV9YmU7lNeSrnatlIYhQCDo6LqCMI
+ZpTlFEdQDDHTGPFkYpvTK7HtrFUQQJnNt/tNArPYrTjgKFww637mPnKYX9KkwGH0
+09h0jk8tq48GPOxWO+lTIqu9glPF2faHFgzt2/FB2ZB2vfPOxDIBiGxPcb4npGsK
+iU6MohmoWxRoEqi3co9NrOwQ6fZ/ehs2HMxsTMveAT+M/VD4+bIJxQbGB7kBDQRR
+tt2MAQgApi75wsaiX+zcUZuJVqgZHZK1HbULJ5AbbbgAdU9X2lBgkcpYNqhFoWa5
+iuw83X8YqSY/WZMd8zlc7dS7NH23wRGGOLrPVfnGl0Ufx9p0JNsC9a7bH+6m9jlS
+JEoHJXAF5KvMsTvGT9U21H2G1PEWY40LKeOvRDGDV2b6a1jwD5y3M8fUh8Qul01u
+AuFaZYoKHDW0QcDj84Il8QwJthRdM0ryy0caFDLoM94K3N9E1uMX+UCm9vVSskz/
+xv+bEfKDVSEEcGPxuhHbMXvzSXCJC9fghPSPs3EXnuU4PgLXBSnYJJDDN8DEMFoa
+50TgcycdBDlQvuiNA1ZELJunWbKt4wARAQABiQEfBBgBAgAJBQJRtt2MAhsMAAoJ
+EMcUrKApfZmSnokIAI1i6dEs2Swmlk2TKB+Q/l20yDjsHt1lrIaNOGl2sXNb8vPY
+sf2ARsBVOM6mf9LIxM3UP0+15Rdi2e5bEolXGcvKZPDz/PoZ33oARPVMolGGTUWH
+le0yz62yNZRr8ZVfoGbHFxcAVwDyrkxkewXz26kX9Z5Rj3+gm+gSwDfhG87sp84J
+8gEh36b9GPjZXlvdvoRYWAHr7qNDlwJzrPXht7NIbaDgLpv/QW2u/WA0zuXgDGEw
+XRWUvwdUzxUtUjwiDKy62o7oA31LAPwi480ieEJmRp2c1hZMQxT8vMQtCGcbaEw2
+XvrO/mUsw3oHD2Upm1/tfgDL8gWpg3F/8q5DA4A=
+=D9qJ
+-----END PGP PUBLIC KEY BLOCK-----
+
+
+
+
+
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2.0.22 (GNU/Linux)
+
+mQINBFLYEMQBEADBOvTLwx6BIMq+/AvPWoYwy8DXF5RWe//+x/Mo9CspabLgoJdx
+IN5rzPdzHpQ03jMoqliDz2m8Pq1aO10t8TRIpNpBXV2rJ9wYMFWW8jhgBA4+TDaL
+2ny7JhXgd0ijtuoZBr2oLUzNQygCk/AG5cL4KiosBnpQGLXRTZgDTpMmt+6mIhgH
+wa/TuYmqBy0IFiXe6cT8h+kaV/miPJIDpt01wUltBGCl+vNm+MJaTR1w54L5UKVF
+WS4tYPMmsEQ03a8ooDKyqADMqV18b0onZcAY7I7Cx4Fxn5I/u6kFZXwQvt0hHHFy
+BDlfR2JzASFxRqmPSc3TdSbDzeszd5aadX4GpA4XCvt0D+jpZWScs7IQMYecyGzO
+U1UBAiMK3OSBIq4TW29LsHgQq1CLyZdMjX+3zy6NkiZKOAGRzq4TYCURlZbLg0NB
+T11iyaZq9NXrnYp1VlYDSJZFvbji5/eoMO8L7IOgmjMNavSirD03gSTbWMcFdKtB
+jZf11zKKj8YHmvccM8lmTny0haTXwZ1NxwVPo2uGlhfe4PFXd0oOp61RST+RXrYf
+Ub4tKCKjoRKVAaXX6H3vy54RTXHxtxIuBJMzyG2xFohr7nPwokXm9nvdmunsA/NM
+c5sDsLNfCDB7loNtdSGn5i9vNHp1E4x49ojecE/44YAwc8043ftFpbLLiQARAQAB
+tCdBbWFkZXVzeiBTxYJhd2nFhHNraSA8YW1hZGVAYXNtYmxyLm5ldD6JAjcEEwEK
+ACEFAlLYEMQCGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQtwijg8U+86QK
+Ow//bFDY/OCodRmJ/2x7MDAgE7SoRTJxftxvbILGxabTLM7sIagB23TCuWBzxj+i
+oZiQVMP9eonBHQni3mMgsK5kwqZDBD52uuyeHKk3uF9eWy142DHgPRZ5RiQZA5uX
+AK3pHaSXJlkWV6uHx6mxmUOC1B6waiUAJQTA+iG0h2jym32V6U8X1nDfTbRfIj3y
+RXH/hKYFbsmZwJHA0n6o4GjvSBpCN2w56SdOShuujdD89p2vpXyvuGJk5i/dKthB
+dhoSiMZLH7TZ8/Q6eqX7kzXvPNLXEaRl+CjR+FhBl679CRc83hbPfsZScXEvLCl0
+DyHIZBaLGaUlCbFN4tcRDyHeq4jHEcL+0BjQY0I3ZI+oMPbDycCPRjKF2OorvzYM
+6+ILX/ly+NBDMAwP/QZ43FmgGkUF0fjtLEl8rXk/lzZh8i/xCBuQlmDFFDgXUi8v
+zRzMz0wEY1nsB8j6aQISlvZm7PnjgRQ39vHX+ERCnjtp0FRHdCksJfiS01xPjfq9
+xcgmE56u6E6yMXKWx23Eo1mir5oAhLOWiVNDUxJEVPTP/k5cYbohvjkweIRUArFI
+K/mG2Bog+bjaZuK7cgfilR7+9IjMPTtBWl4KAy059X20CVW2VEuqLkpbp6evw20C
+1IE6kCeL7WMcafSVXbPe+xwHx4ba1haLEfHGtfyWNkuYihm5Ag0EUtgQxAEQALRi
+fHNnjhmtlGG1pt+97hHtYNRhItl/Y1+jGJekCQvz4PWEPy9rPtMg5UvkhU1HIjg4
+fiFstmYFATZ+moH+xTQbq6Cqgbnbg6iEj7S7ymJsPZ3/aLzX9A1MN0S+QgIIYiSp
+Y6U9JE/RJhnnRsMMtBjgUJuaI3ox9SDUio1v3BGyefvLb5tgqQ2Yzdur4IjGUXaY
+vRhDuyRz8Ldnee2bAqODuhgIhR/no2e+D3O3WkYMJ4FioA8Up/gmMbNrA4/ACSJL
+ATciEwdnqpHdxviCWTrIadxt2DznactpAqGovMQLLxoHbC3GKiuocqRNanwoL4U5
+OrpFEJfTK7riG4oYkMh/xt4BUbM2U2zYv2EcznXmUalD7vRqdatXonzGZ6X0KRHn
+l77kTJ9iAIZaz5eZ0YRbV2VdpUH6s4+n9G1+zcGYBSSkxMsrsjAaUfZ/akK/BTlj
+K37ta9vHn3tuqea72FoBUdhQ1v4zdxNh90fyA0VNS5NGf896fdAS6LAlXtEBf2hE
+dyZ1MbBJPA/GE5YHdDRTuZobfoPgoMGcytj0NodA4pAcCtlWyC+OBmGpBv3LPQyz
+tF1/xf9Xc5tAspXeraM+exKFnY5S6wzE7n4ElDT3H+9/IhZHSTEd55xvOLxrHdiI
+YZNQOjFXR5YPqEK99FOH3BbWJcqC3CcbLTCidCy5ABEBAAGJAh8EGAEKAAkFAlLY
+EMQCGwwACgkQtwijg8U+86TXRxAAhP0GZhupRDnuSK9VwuJlomL/eZfCRHiPIgnX
+Ur/ytA9FkVNRvU2mk/iJXEUSEmT9kZpa3uE/eNqAW0ZFXmSMKXgYbzMf55nX8/M9
+31a1zpi1tRs6hfhDM6v33VYoomAPwrRL/5bDcKnmZf5RRKIvK1WB+6jFsBS56d0d
+M7lm6UQOVHOYvpYM22w+w04bKZ9ohiizc5FyqwQGh3TBlw8B+MXz3BXCFElPtBkB
+1wyavOX9AGK+ZhwNuuT1ecIdLKZ7OXC4KQAidom2LHC5MhHYAYbMGVuspRk457AP
+IK6e4qBiUbg35S1+/XOAl1qavtTkgLNIz2c4TggWPtfDBmfPrpkRvF1+i8PR+GWp
+kpUlWVGNchG3fCiZq1Vxp+19V79TfwvB93DgjKCeTilT5RI6tF285C7Ri608VvpJ
+kNCTt6xcwl7gknhjp1yxIEnzo6XAx4ArU0J8Vin47vQf8GikACazds+ugBt+buaK
+eyWNqTfgX8X5SWDGBddW2MAH9i1tdJwiS1mvs07SCq+bo+c+0xyvFdL3WFGEB74Z
+akEUDBbjrDewemAiQI2hNHbU6di49/bIEMuOr950Z0ttJT5SOWNbzh/NnFeMLl5M
+i7Suaq+3Tmhx2CTmDkulmIYwop1KvGxTSH44GatsHYIbYCHlj6uc5Ve7ro9N6ceC
+sBXW+7Q=
+=+RA6
+-----END PGP PUBLIC KEY BLOCK-----
+
+
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQINBFhwK44BEADvLft2wVAF2weMi0d0I4fSLHF9kAqgU2KnIEi2v5fm9TirRJqj
+K3OfNpTTlVyvI7X0MnIj5D1No+9wbd7CjEmXGIeWJUXfPMLY1sw5qbdeZhsxdINq
+cRg9tQnxEko38Fbvx1mi2YhAUOs83+egyvzOTAfwqSi2004S2xZhY0hAykcYrtkY
+8U31Pzp/lxt3wZsgj5pyobyTQ31E2Hug3bPWGoFUmuSZxGtzlReoI9PQKiDlI6vY
+3jrc8rJziUs3BqctFxLXsnqalmJafy+/c9524PPZsw2gmuopvkPn0ZVf1ZVhxFxw
+FB7C6wlTFwb7iDdnAuyOLLpxj+9Y2SMiSXqoUC7jM1sd61Hmc8ekjnron15SXnAN
+zAnlpyoYV3YEDlvgHpCjnoML+LhKvS757ubvY4iVa6qdPqxj6YBAcEIGkASnMJqr
+v0mBlhK4HFYI3kdQnxaJbxoX1S+DmeQahTrusyQIDNPgdEtlk41UAcQkSVNg/Vsi
+GIdqyGnyQN7CipwfyKTprjfPcwkZ0RrH08IkUlJtIAmzH31PcHTt6H/MLnlM4HKb
+95Dz0Atho1VsonP5+U4Od+Hxtqv3wVOXkBVM/g9Mspay44rbiK5LCEZF/YzsVYZk
+6RBlw+9BxsUPzDwveKzJE80D68GmdE4fdCdoo2tBBwSUcINTjEbXG6QorwARAQAB
+tDBBbGV4YW5kZXIgTmF1bW92IDxhbGV4YW5kZXJfbmF1bW92QG9wZW5zdXNlLm9y
+Zz6JAlQEEwEIAD4WIQRxqgnZ6IcP2wqnth4h+Wje90er1wUCWHArjgIbAwUJEswD
+AAULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAAKCRAh+Wje90er1yjNEACGiPXpr/di
+GiKQyKXRSczO5YZEOg7/3UeE6EV4fiIMXQLqJCoKd9AqBR23aQYvRklBJ0oKSwVH
+s+IkxOQbj9MUw/urFbSEs7eh0+p5K8mVdFXYGjJ7FWrAaLDzmsWpibS+v4lEGtoI
+cNr6z7o61bkAOHu1EY7QrpTpL8AFFXHrFmMM0a0tOYumc7rQJfXUU7wd5CxCif7X
+WwFVZul0pbcUyPAOrWasgExiB0HVnd7uP3plnp40Ix7nxczWo9+iIXujk9vRXKoN
+VTg2KoN7OSpmzBcmcJcmEl7rrfcOWqlaBvOjIdgU75f+ajF4Zy47IniBlK8CW4+i
+Alrc5CvrpeQF4raYKHlcV7jN07crnWpR5y0bXGpXzXvmikvrMxnJWea1/PSQb3QI
+cVNzGjRLHIrwMSRTaxrFQmCwBgUcd87ndl3chV1ab0sm1UpONFvqcxFVRRf2yJXF
+3+niaCXYTzo7jtX83ss4Gav8hQ4WZbY94TFM3JPBOd2WsEiuVHICUNFli93M2QNd
+v/gUToHzfWQCzgiVLj3AJC3KMjRiQP/8HlvMtVskTBZvfyUdOTzoQjvGqA+4rBrV
+Pqxf5Y5zHgDy0vodcK8yDAyEFPUTlBv/5dLmyLLNZTOeh9s9GdUZl6g8X9PnUG/O
+lGXXGWX8VejaVCuIG//Lp6BdGKj3YtZJZLkCDQRYcCuOARAA0axoFkNKNGo9RGCW
+KGYzzFlb2jlY/HfA+q+jlL/Y3MOS2//Gp/k1+Wx9wG88qopmiLwi0mbVtup7ZblV
+Vrr9oF/bLMJyNa2TUs4G3sGCBYwBNs5hlnEAxgBlFJG/DtIaSvxRT3yiAX6YPanI
+YVj+wGGLClN4aZw6/oXhL2FazP6WJk8liH4bcG25YSARTgaDJqS9JERt8xkD8SmA
+SevkwKyOIColjhKVKIN2orJCayXKjo+Nl/Q4k7ty41faTz6BVcibfgRinBz7+fvQ
+Z3I8RKgfZBVI4hJmKVaP93iz0EOwgTeFDraIdkRO3vw5IU6teIcaqrfCS2+HrrxG
+sUYwkswik5UlUWbnm2Sw464iyVsECx+3ys/54OS3bAbprtcW3ywGTCYxCFWor2Ep
+wjDg4wJI4GyCBYV5tpqT+RldwJNd3oUD/LEUS/1aEe5tfAWoDU6eZVRI9yZpCngz
+jpKZ6qX1jBkpsAMacUAFwO8/SJDOCUPK1k1oMx9DqgmCge/Ccn/bSk3YdLNGSbc8
+FoJ91NTXsa7GDjMNaqaF6zPIfk293Uv4BAURttT3JkH5kBU7TNfFisOl8w35TIAB
+GGKQpdUjOy2RJ5j8Xvrgs89/rWTmSPopxRY01OG5xcccGuYHebvqEpkIS9Wi3ED4
+xso89Rz2EbB6alPjxAmgvmmV0NkAEQEAAYkCPAQYAQgAJhYhBHGqCdnohw/bCqe2
+HiH5aN73R6vXBQJYcCuOAhsMBQkSzAMAAAoJECH5aN73R6vXZTAP+gK6BgDD0BoO
+yw7HJTJGxybBjHMwnqLUFideFp7tehMl0m/AZvUAXX9aKvFeBQv8WOXW2M6v3W2u
+y/rla7uMKvRhE1OtYFa12BE4NCl3MlR4s1uKMmHfVxZ3brXh4c5j+AVpcsNtAmN5
+OZBXhTCeDxWLDB/ElHMstOzrSljrR9SkzuLTBJlRg6MLjV5bJWi+Fk4nlVxfypGI
+bzJcqdRRtnGW75VGCQAqwbRAQEKoApg9QzxwM8zCPc3LCmaK4q302BwYm49i60Ho
+S0zJj5JQSodSp+GjCu9yJnjKcr8HkqwcVyX0+W/keXP7IJiWq5hhu7v4MY2+59VR
+yy+IuougSw1KaIy0AvdDHoLfSJljZubJEO5VVpm3xANH0RoSbRAerZVJ3VviBd3D
+vpZTmta24ZlTPUA1ijHRAlDtzwEuqugYUyCa/yqT8QmbahMT3Ldh+XIXPvpfGah1
+1tEbIJRH5Dx6rz4c95ZliYw8aR+kK6wbpjOM+HrGqgy0LTJkNw+JesFKxqocYFVR
+bqMVsfh9D7+DUtIg78C3vmK6WJ+9urLmQ+nZ0IfhtlPaYZ1QFo66Lt2i/OL8fXVd
+1vFKd3x9dyWqHd4a76V+MHTNQJdL3tzJvAXO4wD0ANp22PgVniZUgEhd3leWKukL
+wlN767Yy1alaigI4FnBOe+rWTFyHCHTA
+=ihYV
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..ac683ce
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,6 @@
+version=3
+opts=pgpsigurlmangle=s/$/.sig/ \
+https://ftp.gnu.org/gnu/screen/screen-([\d\.]+)\.tar\.gz
+
+#opts=pgpsigurlmangle=s/$/.sig/ \
+#http://download.savannah.gnu.org/releases/screen/screen-([\d\.]+)\.tar\.gz