summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:28:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:28:28 +0000
commit43d3000d71cbd653411373ed87df80ca6c9f228f (patch)
tree2bb2d326ca8a951f339a7a674637255ff71c1289
parentAdding upstream version 4.9.0. (diff)
downloadscreen-4e1e37d93f486f321748ace1b33f7646e4f75a67.tar.xz
screen-4e1e37d93f486f321748ace1b33f7646e4f75a67.zip
Adding debian version 4.9.0-4.debian/4.9.0-4debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
-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/changelog1732
-rw-r--r--debian/clean12
-rw-r--r--debian/control51
-rw-r--r--debian/copyright42
-rw-r--r--debian/gitlab-ci.yml9
-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/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/65-wcwidth.patch147
-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/85_bracketed-paste-patch-by-Unit193_dpaste.com_5KJ572GZM.patch281
-rw-r--r--debian/patches/90_fix_man_page_bash_example.patch32
-rw-r--r--debian/patches/series17
-rwxr-xr-xdebian/rules74
-rw-r--r--debian/screen-udeb.install1
-rw-r--r--debian/screen-udeb.lintian-overrides2
-rwxr-xr-xdebian/screen.bug-script28
-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.install3
-rw-r--r--debian/screen.lintian-overrides19
-rw-r--r--debian/screen.manpages1
-rw-r--r--debian/screen.postinst35
-rw-r--r--debian/screen.postrm16
-rw-r--r--debian/screen.screen-cleanup.tmpfiles1
-rw-r--r--debian/screenrc108
-rw-r--r--debian/shells.d/screen1
-rw-r--r--debian/source/format1
-rw-r--r--debian/source/lintian-overrides6
-rw-r--r--debian/source/options1
-rw-r--r--debian/tests/control2
-rw-r--r--debian/tests/t/boilerplate.sh51
-rw-r--r--debian/tests/t/bug-600246.txt1
-rw-r--r--debian/tests/t/bug-677512.txt1
-rw-r--r--debian/tests/t/bug-982435-CVE-2021-26937.crash1
-rw-r--r--debian/tests/t/bug-982435-CVE-2021-26937.t18
-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
-rw-r--r--debian/tests/t/subsequential-combining-diacritical.txt1
-rw-r--r--debian/tests/t/unicode-output.t23
-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.asc101
-rw-r--r--debian/watch6
61 files changed, 4315 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..9ffe0be
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,1732 @@
+screen (4.9.0-4) unstable; urgency=medium
+
+ [ Aurelien Jarno ]
+ * Add patch to replace hardcoded Unicode wide character list with a
+ dynamic check based on the current glibc's Unicode wide character
+ knowledge. (Closes: #1027733)
+
+ [ Unit 193 ]
+ * Add patch from upstream bug report #62102 to support bracketed paste
+ mode and cursor-style manipulation in Screen v4 as well. (Closes:
+ #1019576)
+
+ [ Axel Beckert ]
+ * Declare compliance with Debian Policy 4.6.2. (No changes needed.)
+ * Bump packaging copyright years in debian/control. Thanks Lintian!
+ * Declare 60-screen-4.2.1-debian4.1.0-compatibility.patch as
+ debian-specific.
+
+ -- Axel Beckert <abe@debian.org> Mon, 09 Jan 2023 04:56:37 +0100
+
+screen (4.9.0-3) unstable; urgency=medium
+
+ [ Helmut Grohne ]
+ * Update /etc/shells using dpkg triggers. (Closes: #1023318)
+
+ [ Axel Beckert ]
+ * Update Helmut's patch to use more debhelper style file installing.
+ * Drop lintian overrides for false positives fixed in Lintian.
+
+ -- Axel Beckert <abe@debian.org> Sun, 13 Nov 2022 05:09:57 +0100
+
+screen (4.9.0-2) unstable; urgency=medium
+
+ * Add patch to fix bash example in man page. (LP: #1986839) Thanks to
+ Tired Sysadmin on Launchpad for the bug report and initial patch!
+ * Bracketize lintian overrides.
+ * Add lintian overrides for binary files in utf8encodings/.
+ * Declare compliance with Debian Policy 4.6.1. (No changes needed.)
+
+ -- Axel Beckert <abe@debian.org> Wed, 24 Aug 2022 03:45:18 +0200
+
+screen (4.9.0-1) unstable; urgency=low
+
+ * Update debian/upstream/signing-key.asc with upstream PGP keys from
+ https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=screen
+ + Remove C714ACA0297D9992 (Micah Cowan)
+ + Replace 21F968DEF747ABD7 with 933AD21886F69FBF (Alexander Naumov)
+ + Keep B708A383C53EF3A4 (Amadeusz Sławiński)
+ * Import new upstream release 4.9.0.
+ + Drop the following patches which were all applied upstream:
+ - 52fix_screen_utf8_nfd.patch
+ - 58-show-encoding-hardstatus.patch
+ - 64-fix-manpage-typos-reported-by-lintian.patch
+ - 90_Expand-d_xtermosc-array-in-struct-display.patch
+ - 91_TERMCAP_BUF-is-used-in-place-of-TERMCAP_BUFSIZE.patch
+ - 99_CVE-2021-26937.patch
+ + Refresh the remaining patches as needed.
+ * debian/copyright: Update copyright years based on section COPYLEFT in
+ screen(1). Also update packaging copyright years. Thanks Lintian!
+ * Update lintian overrides wrt. to new tag formatting.
+ * Add lintian overrides for new very-long-line-length-in-source-file
+ false positives.
+
+ -- Axel Beckert <abe@debian.org> Wed, 02 Feb 2022 04:38:15 +0100
+
+screen (4.8.0-7) unstable; urgency=medium
+
+ * Replace versioned build-dependency on transitional package
+ libncursesw5-dev with unversioned build-dependency on
+ libncurses-dev. Thanks Vincent Lefevre! (Closes: #991916)
+ * Drop override_dh_strip: --dbgsym-migration is no more needed as
+ screen-dbgsym was already in Debian 9 Stretch. (Thanks Lintian!)
+ * Declare compliance with Debian Policy 4.6.0. (No changes needed.)
+
+ -- Axel Beckert <abe@debian.org> Thu, 02 Sep 2021 02:25:13 +0200
+
+screen (4.8.0-6) unstable; urgency=medium
+
+ * autopkgtest: Add a "sleep 1" before "Session is gone" check. Avoids
+ a race condition on heavily loaded systems.
+ * Replace 52fix_screen_utf8_nfd.patch with a patch by Michael Schröder
+ and reenable it. (Closes: #600246 without reopening #677512; Culrpit
+ was the same upstream commit as the one which caused CVE-2021-26937.)
+ * Add additional autopkgtests, testing for regressions of #600246,
+ #677512, #982435 (CVE-2021-26937) and some other regressions found in
+ earlier patch propositions for CVE-2021-26937.
+ * Update cause and impact description of CVE-2021-26937 in 4.8.0-4 with
+ a shortened variant of the wording that is used by MITRE.
+
+ -- Axel Beckert <abe@debian.org> Sat, 27 Feb 2021 01:52:03 +0100
+
+screen (4.8.0-5) unstable; urgency=medium
+
+ * Replace my homegrown patch for CVE-2021-26937 (#982435) with the third
+ incarnation of the patch proposed by Michael Schröder of SUSE. It's
+ the first proposed patch which so far showed no regressions.
+
+ -- Axel Beckert <abe@debian.org> Fri, 12 Feb 2021 00:07:18 +0100
+
+screen (4.8.0-4) unstable; urgency=low
+
+ * Update URL in 52fix_screen_utf8_nfd.patch by following the redirect.
+ * [CVE-2021-26937] Fix invalid write access and crash or possibly
+ unspecified other impact via a crafted UTF-8 character sequence.
+ (Closes: #982435; urgency=low to get more exposure for that patch.)
+
+ -- Axel Beckert <abe@debian.org> Wed, 10 Feb 2021 22:25:44 +0100
+
+screen (4.8.0-3) unstable; urgency=medium
+
+ * Declare compliance with Debian Policy 4.5.1. (No changes needed.)
+ * Drop lintian overrides for no more emitted hyphen-used-as-minus-sign.
+ * Add lintian overrides for new false positives of:
+ + bogus-mail-host-in-debian-changelog (see #966295)
+ + national-encoding (on purpose, documentation on national encoding)
+ * Bump debian/watch version from 3 to 4. Thanks Lintian!
+ * Retroactively mention #915121 in the 4.7.0-1 debian/changelog entry.
+
+ -- Axel Beckert <abe@debian.org> Mon, 14 Dec 2020 03:21:06 +0100
+
+screen (4.8.0-2) unstable; urgency=medium
+
+ * Add CVE number to previous changelog entry.
+ * Add a debian/gitlab-ci.yml.
+ * Bump debhelper-compat to 13.
+ + Rename debian/screen.screen-cleanup.tmpfile to
+ debian/screen.screen-cleanup.tmpfiles.
+ + Replace override_dh_installsystemd with override_dh_installtmpfiles.
+ * Cherry-pick the two one-line upstream fixes from the screen-v4 branch.
+ * Drop preinst needed for some path migration in 2007.
+ + Drop related lintian override.
+
+ -- Axel Beckert <abe@debian.org> Tue, 26 May 2020 03:50:33 +0200
+
+screen (4.8.0-1) unstable; urgency=medium
+
+ * Import new upstream release 4.8.0.
+ + CVE-2020-9366: Fixes out of bounds access when setting w_xtermosc
+ after OSC 49. (Closes: #950896)
+ + Refresh patches where needed.
+ * Declare compliance with Debian Policy 4.5.0. (No changes needed.)
+
+ -- Axel Beckert <abe@debian.org> Sat, 08 Feb 2020 02:16:54 +0100
+
+screen (4.7.0-1) unstable; urgency=low
+
+ * Add a bug script to answer the most common questions to screen bug
+ reports automatically.
+ * Follow lintian tag renaming in lintian overrides.
+ * Override init.d-script-does-not-source-init-functions for
+ screen-cleanup, too. Its function on the systemd side is covered by
+ /etc/tmpfiles.d/screen-cleanup.conf and
+ /lib/systemd/system/screen-cleanup.service.
+ * Add comments on top of /etc/tmpfiles.d/screen-cleanup.conf stating
+ that this file is generated by maintainer scripts. (Closes: #890823)
+ * Import new upstream release 4.7.0.
+ + Drop 90_cherrypick-d340b02c_do-not-liunk-against-libelf.patch.
+ + Refresh remaining patches as necessary.
+ + Updates Unicode support to 12.1.0. (Closes: #882340)
+ + Fixes cross-compilation support. (Closes: #917627)
+ + Adds support for SGR (1006) mouse mode. (Closes: #850962)
+ + Contains a revamped man page. (Closes: #915121)
+ * Declare compliance with Debian Policy 4.4.1. (No changes needed.)
+ * Bump debhelper compatibility level to 12.
+ + Build-depend on "debhelper-compat (= 12)" to replace debian/compat.
+
+ -- Axel Beckert <abe@debian.org> Wed, 02 Oct 2019 02:14:56 +0200
+
+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/control b/debian/control
new file mode 100644
index 0000000..be07368
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,51 @@
+Source: screen
+Section: misc
+Priority: standard
+Maintainer: Axel Beckert <abe@debian.org>
+Uploaders: Antti Järvinen <antti.jarvinen@katiska.org>
+Standards-Version: 4.6.2
+Build-Depends: debhelper-compat (= 13),
+ dpkg-dev (>= 1.16.1~),
+ libncurses-dev,
+ 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},
+ debianutils (>= 5.3-1~)
+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..df9e389
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,42 @@
+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-2017 Juergen Weigert <jnweiger@immd4.informatik.uni-erlangen.de>
+ 1993-2009 Michael Schroeder <mlschroe@immd4.informatik.uni-erlangen.de>
+ 2008-2009 Micah Cowan <micah@cowan.name>
+ 2008-2015 Sadrul Habib Chowdhury <sadrul@users.sourceforge.net>
+ 2015-2022 Alexander Naumov <alexander_naumov@opensuse.org>
+ 2015-2022 Amadeusz Sławiński <amade@asmblr.net>
+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-2023 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/gitlab-ci.yml b/debian/gitlab-ci.yml
new file mode 100644
index 0000000..ba195e6
--- /dev/null
+++ b/debian/gitlab-ci.yml
@@ -0,0 +1,9 @@
+include:
+ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
+ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
+
+variables:
+ RELEASE: 'unstable'
+
+reprotest:
+ allow_failure: true
diff --git a/debian/patches/05prefer-libtinfo-over-libcurses.patch b/debian/patches/05prefer-libtinfo-over-libcurses.patch
new file mode 100644
index 0000000..db1d6ea
--- /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
+@@ -626,6 +626,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(,[
+@@ -650,9 +653,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..be95e5d
--- /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
+@@ -100,7 +100,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.
+@@ -229,7 +229,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 ]
+@@ -767,7 +767,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
+@@ -780,7 +780,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
+@@ -2050,7 +2050,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.
+@@ -5205,14 +5205,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.
+@@ -5231,7 +5231,7 @@
+ or
+ .IP /etc/termcap
+ Terminal capability databases
+-.IP /etc/utmp
++.IP /run/utmp
+ Login records
+ .IP $LOCKPRG
+ Program that locks a terminal.
+@@ -5356,9 +5356,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
+@@ -185,7 +185,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
+@@ -314,7 +314,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}]
+@@ -497,7 +497,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
+@@ -1089,7 +1089,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
+@@ -2405,7 +2405,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
+@@ -2614,7 +2614,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
+@@ -5805,17 +5805,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}
+@@ -5838,7 +5838,7 @@
+ @itemx /etc/termcap
+ Terminal capability databases
+
+-@item /etc/utmp
++@item /run/utmp
+ Login records
+
+ @item @code{$LOCKPRG}
+@@ -5950,10 +5950,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.
+
+@@ -6033,7 +6033,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..d705c59
--- /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
+@@ -553,8 +553,6 @@
+ else
+ break;
+ }
+- if (n < KMAP_KEYS)
+- domap = 1;
+ if (map == 0 && domap)
+ return 0;
+ if (map && !domap)
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..f1159b1
--- /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: not-needed
+
+--- 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 @@
+ goto end;
+ }
+ 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..4f81703
--- /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
+@@ -1478,6 +1478,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 (char *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..3f65c2a
--- /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
+@@ -844,6 +844,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>
+@@ -860,6 +862,7 @@
+ AC_DEFINE(HAVE_UTEMPTER)
+ LIBS="$LIBS -lutempter"
+ fi
++fi
+
+ dnl
+ dnl **** loadav ****
diff --git a/debian/patches/65-wcwidth.patch b/debian/patches/65-wcwidth.patch
new file mode 100644
index 0000000..e8a118e
--- /dev/null
+++ b/debian/patches/65-wcwidth.patch
@@ -0,0 +1,147 @@
+Description: Use wcwdith instead of a hardcoded list of wide characters
+Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=1027733;filename=screen.wcwidth.v2.patch;msg=80
+Author: Aurelien Jarno <aurelien@aurel32.net>
+Reviewed-By: Axel Beckert <abe@debian.org>
+Bug-Debian: https://bugs.debian.org/1027733
+Forwarded: no
+ (It is currently unclear if this patch is suitable for upstream usage.)
+
+--- screen-4.9.0.orig/encoding.c
++++ screen-4.9.0/encoding.c
+@@ -22,6 +22,7 @@
+ */
+
+ #include <sys/types.h>
++#include <wchar.h>
+
+ #include "config.h"
+ #include "screen.h"
+@@ -1145,127 +1146,10 @@ int c;
+ {0xF0000, 0xFFFFD},
+ {0x100000, 0x10FFFD},
+ };
+- /* A sorted list of intervals of double width characters generated by
+- * https://github.com/GNOME/glib/blob/glib-2-50/glib/gen-unicode-tables.pl */
+- static const struct interval wide[] = {
+- {0x1100, 0x115F},
+- {0x231A, 0x231B},
+- {0x2329, 0x232A},
+- {0x23E9, 0x23EC},
+- {0x23F0, 0x23F0},
+- {0x23F3, 0x23F3},
+- {0x25FD, 0x25FE},
+- {0x2614, 0x2615},
+- {0x2648, 0x2653},
+- {0x267F, 0x267F},
+- {0x2693, 0x2693},
+- {0x26A1, 0x26A1},
+- {0x26AA, 0x26AB},
+- {0x26BD, 0x26BE},
+- {0x26C4, 0x26C5},
+- {0x26CE, 0x26CE},
+- {0x26D4, 0x26D4},
+- {0x26EA, 0x26EA},
+- {0x26F2, 0x26F3},
+- {0x26F5, 0x26F5},
+- {0x26FA, 0x26FA},
+- {0x26FD, 0x26FD},
+- {0x2705, 0x2705},
+- {0x270A, 0x270B},
+- {0x2728, 0x2728},
+- {0x274C, 0x274C},
+- {0x274E, 0x274E},
+- {0x2753, 0x2755},
+- {0x2757, 0x2757},
+- {0x2795, 0x2797},
+- {0x27B0, 0x27B0},
+- {0x27BF, 0x27BF},
+- {0x2B1B, 0x2B1C},
+- {0x2B50, 0x2B50},
+- {0x2B55, 0x2B55},
+- {0x2E80, 0x2E99},
+- {0x2E9B, 0x2EF3},
+- {0x2F00, 0x2FD5},
+- {0x2FF0, 0x2FFB},
+- {0x3000, 0x303E},
+- {0x3041, 0x3096},
+- {0x3099, 0x30FF},
+- {0x3105, 0x312F},
+- {0x3131, 0x318E},
+- {0x3190, 0x31BA},
+- {0x31C0, 0x31E3},
+- {0x31F0, 0x321E},
+- {0x3220, 0x3247},
+- {0x3250, 0x4DBF},
+- {0x4E00, 0xA48C},
+- {0xA490, 0xA4C6},
+- {0xA960, 0xA97C},
+- {0xAC00, 0xD7A3},
+- {0xF900, 0xFAFF},
+- {0xFE10, 0xFE19},
+- {0xFE30, 0xFE52},
+- {0xFE54, 0xFE66},
+- {0xFE68, 0xFE6B},
+- {0xFF01, 0xFF60},
+- {0xFFE0, 0xFFE6},
+- {0x16FE0, 0x16FE3},
+- {0x17000, 0x187F7},
+- {0x18800, 0x18AF2},
+- {0x1B000, 0x1B11E},
+- {0x1B150, 0x1B152},
+- {0x1B164, 0x1B167},
+- {0x1B170, 0x1B2FB},
+- {0x1F004, 0x1F004},
+- {0x1F0CF, 0x1F0CF},
+- {0x1F18E, 0x1F18E},
+- {0x1F191, 0x1F19A},
+- {0x1F200, 0x1F202},
+- {0x1F210, 0x1F23B},
+- {0x1F240, 0x1F248},
+- {0x1F250, 0x1F251},
+- {0x1F260, 0x1F265},
+- {0x1F300, 0x1F320},
+- {0x1F32D, 0x1F335},
+- {0x1F337, 0x1F37C},
+- {0x1F37E, 0x1F393},
+- {0x1F3A0, 0x1F3CA},
+- {0x1F3CF, 0x1F3D3},
+- {0x1F3E0, 0x1F3F0},
+- {0x1F3F4, 0x1F3F4},
+- {0x1F3F8, 0x1F43E},
+- {0x1F440, 0x1F440},
+- {0x1F442, 0x1F4FC},
+- {0x1F4FF, 0x1F53D},
+- {0x1F54B, 0x1F54E},
+- {0x1F550, 0x1F567},
+- {0x1F57A, 0x1F57A},
+- {0x1F595, 0x1F596},
+- {0x1F5A4, 0x1F5A4},
+- {0x1F5FB, 0x1F64F},
+- {0x1F680, 0x1F6C5},
+- {0x1F6CC, 0x1F6CC},
+- {0x1F6D0, 0x1F6D2},
+- {0x1F6D5, 0x1F6D5},
+- {0x1F6EB, 0x1F6EC},
+- {0x1F6F4, 0x1F6FA},
+- {0x1F7E0, 0x1F7EB},
+- {0x1F90D, 0x1F971},
+- {0x1F973, 0x1F976},
+- {0x1F97A, 0x1F9A2},
+- {0x1F9A5, 0x1F9AA},
+- {0x1F9AE, 0x1F9CA},
+- {0x1F9CD, 0x1F9FF},
+- {0x1FA70, 0x1FA73},
+- {0x1FA78, 0x1FA7A},
+- {0x1FA80, 0x1FA82},
+- {0x1FA90, 0x1FA95},
+- {0x20000, 0x2FFFD},
+- {0x30000, 0x3FFFD},
+- };
+
+ if (c >= 0xdf00 && c <= 0xdfff)
+ return 1; /* dw combining sequence */
+- return ((bisearch(c, wide, sizeof(wide) / sizeof(struct interval) - 1)) ||
++ return ((wcwidth(c) == 2) ||
+ (cjkwidth &&
+ bisearch(c, ambiguous,
+ sizeof(ambiguous) / sizeof(struct interval) - 1)));
diff --git a/debian/patches/80_session_creation_docs.patch b/debian/patches/80_session_creation_docs.patch
new file mode 100644
index 0000000..ebd50a1
--- /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
+@@ -241,7 +241,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
+@@ -348,7 +348,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
+@@ -358,6 +358,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
+@@ -321,7 +321,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
+@@ -415,14 +416,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..318d3b0
--- /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
+@@ -395,6 +395,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
+@@ -30,6 +30,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h> /* mkdir() declaration */
+ #include <signal.h>
++#include <fcntl.h>
+
+ #include "config.h"
+ #include "screen.h"
+@@ -796,3 +797,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/85_bracketed-paste-patch-by-Unit193_dpaste.com_5KJ572GZM.patch b/debian/patches/85_bracketed-paste-patch-by-Unit193_dpaste.com_5KJ572GZM.patch
new file mode 100644
index 0000000..2a9491d
--- /dev/null
+++ b/debian/patches/85_bracketed-paste-patch-by-Unit193_dpaste.com_5KJ572GZM.patch
@@ -0,0 +1,281 @@
+Origin: https://savannah.gnu.org/bugs/download.php?file_id=52911
+Author: Hayaki Saito <user@zuse.jp>
+Date: Fri, 15 Mar 2013 16:23:54 +0100
+Description: Support "bracket paste mode" and cursor-style manipulation
+Bug: https://savannah.gnu.org/bugs/?62102
+Bug-Debian: https://bugs.debian.org/1019576
+
+Hello, lists
+
+This patch adds the following two features to GNU Screen:
+
+- Bracket Paste Mode (DECSET/DECRST 2004)
+- DECSCUSR(cursor style manipulation)
+
+By using "bracketed paste mode", the pasted text is bracketed with special
+control sequences.
+DECSCUSR can change cursor style and shape (blink/steady, block/Vertical
+bar/horizontal bar).
+
+ref: http://invisible-island.net/xterm/ctlseqs/ctlseqs.html
+
+These days, many of xterm-compatible terminal emulators support these features.
+But current GNU Screen blocks them.
+This patch manages states of "Bracket Paste Mode (DECSET/DECRST 2004)" and
+DECSCUSR(cursor style manipulation), for each of screens.
+
+Please check it.
+
+Hayaki Saito <user@zuse.jp>
+
+https://lists.gnu.org/archive/html/screen-devel/2013-03/msg00000.html
+---
+ ansi.c | 12 ++++++++++++
+ display.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ display.h | 4 ++++
+ extern.h | 4 ++++
+ layer.c | 26 ++++++++++++++++++++++++++
+ window.c | 2 ++
+ window.h | 2 ++
+ 7 files changed, 100 insertions(+)
+
+--- a/ansi.c 2022-09-03 21:07:05.736418077 -0400
++++ b/ansi.c 2022-09-03 21:07:05.728418022 -0400
+@@ -194,6 +194,8 @@
+ p->w_origin = 0;
+ p->w_insert = 0;
+ p->w_revvid = 0;
++ p->w_bracketed = 0;
++ p->w_cursorstyle = 0;
+ p->w_mouse = 0;
+ p->w_curinv = 0;
+ p->w_curvvis = 0;
+@@ -1346,6 +1348,12 @@
+ break;
+ }
+ break;
++ case ' ':
++ if (c == 'q') {
++ curr->w_cursorstyle = a1;
++ LCursorStyle(&curr->w_layer, curr->w_cursorstyle);
++ }
++ break;
+ case '?':
+ for (a2 = 0; a2 < curr->w_NumArgs; a2++)
+ {
+@@ -1477,6 +1485,10 @@
+ LExtMouseMode(&curr->w_layer, curr->w_extmouse);
+ break;
+ /* case 1015: UXRVT mouse mode rejected */
++ case 2004: /* bracketed paste mode */
++ curr->w_bracketed = i ? 1 : 0;
++ LBracketedPasteMode(&curr->w_layer, curr->w_bracketed);
++ break;
+ }
+ }
+ break;
+--- a/display.c 2022-09-03 21:07:05.736418077 -0400
++++ b/display.c 2022-09-03 21:07:05.732418049 -0400
+@@ -130,6 +130,8 @@
+ int defobuflimit = OBUF_MAX;
+ int defnonblock = -1;
+ int defmousetrack = 0;
++int defbracketed = 0;
++int defcursorstyle = 0;
+ #ifdef AUTO_NUKE
+ int defautonuke = 0;
+ #endif
+@@ -192,6 +194,8 @@
+ LCursorkeysMode(flayer, 0);
+ LCursorVisibility(flayer, 0);
+ LMouseMode(flayer, 0);
++ LBracketedPasteMode(flayer, 0);
++ LCursorStyle(flayer, 0);
+ LSetRendition(flayer, &mchar_null);
+ LSetFlow(flayer, nwin_default.flowflag & FLOW_NOW);
+ }
+@@ -323,6 +327,8 @@
+ D_user = *u;
+ D_processinput = ProcessInput;
+ D_mousetrack = defmousetrack;
++ D_bracketed = defbracketed;
++ D_cursorstyle = defcursorstyle;
+ return display;
+ }
+
+@@ -497,6 +503,8 @@
+ D_mousetrack = 0;
+ MouseMode(0);
+ ExtMouseMode(0);
++ BracketedPasteMode(0);
++ CursorStyle(0);
+ SetRendition(&mchar_null);
+ SetFlow(FLOW_NOW);
+ #ifdef MAPKEYS
+@@ -871,6 +879,42 @@
+ }
+ }
+
++void BracketedPasteMode(int mode)
++{
++ if (!display)
++ return;
++
++ if (D_bracketed != mode) {
++ if (!D_CXT)
++ return;
++ if (D_bracketed) {
++ AddStr("\033[?2004l");
++ }
++ if (mode) {
++ AddStr("\033[?2004h");
++ }
++ D_bracketed = mode;
++ }
++}
++
++void CursorStyle(int mode)
++{
++ char buf[32];
++
++ if (!display)
++ return;
++
++ if (D_cursorstyle != mode) {
++ if (!D_CXT)
++ return;
++ if (mode < 0)
++ return;
++ sprintf(buf, "\033[%d q", mode);
++ AddStr(buf);
++ D_cursorstyle = mode;
++ }
++}
++
+ static int StrCost;
+
+ /* ARGSUSED */
+@@ -1297,6 +1341,8 @@
+ CursorVisibility(0);
+ MouseMode(0);
+ ExtMouseMode(0);
++ BracketedPasteMode(0);
++ CursorStyle(0);
+ SetRendition(&mchar_null);
+ SetFlow(FLOW_NOW);
+
+@@ -3198,6 +3244,8 @@
+ int oldcurvis = D_curvis;
+ int oldmouse = D_mouse;
+ int oldextmouse = D_extmouse;
++ int oldbracketed = D_bracketed;
++ int oldcursorstyle = D_cursorstyle;
+
+ oldrend = D_rend;
+ len = D_obufp - D_obuf;
+@@ -3261,6 +3309,8 @@
+ CursorVisibility(oldcurvis);
+ MouseMode(oldmouse);
+ ExtMouseMode(oldextmouse);
++ BracketedPasteMode(oldbracketed);
++ CursorStyle(oldcursorstyle);
+ if (D_CWS)
+ {
+ debug("ResizeDisplay: using WS\n");
+--- a/display.h 2022-09-03 21:07:05.736418077 -0400
++++ b/display.h 2022-09-03 21:07:05.732418049 -0400
+@@ -111,6 +111,8 @@
+ struct mouse_parse d_mouse_parse; /* state of mouse code parsing */
+ int d_mousetrack; /* set when user wants to use mouse even when the window
+ does not */
++ int d_bracketed; /* bracketed paste mode */
++ int d_cursorstyle; /* cursor style */
+ #ifdef RXVT_OSC
+ int d_xtermosc[5]; /* osc used */
+ #endif
+@@ -198,6 +200,8 @@
+
+ #define D_user DISPLAY(d_user)
+ #define D_username (DISPLAY(d_user) ? DISPLAY(d_user)->u_name : 0)
++#define D_bracketed DISPLAY(d_bracketed)
++#define D_cursorstyle DISPLAY(d_cursorstyle)
+ #define D_canvas DISPLAY(d_canvas)
+ #define D_cvlist DISPLAY(d_cvlist)
+ #define D_layout DISPLAY(d_layout)
+--- a/extern.h 2022-09-03 21:07:05.736418077 -0400
++++ b/extern.h 2022-09-03 21:07:05.732418049 -0400
+@@ -291,6 +291,8 @@
+ extern void CursorVisibility __P((int));
+ extern void MouseMode __P((int));
+ extern void ExtMouseMode __P((int));
++extern void BracketedPasteMode (int);
++extern void CursorStyle (int);
+ extern void SetFont __P((int));
+ extern void SetAttr __P((int));
+ extern void SetColor __P((int, int));
+@@ -454,6 +456,8 @@
+ extern void LCursorkeysMode __P((struct layer *, int));
+ extern void LMouseMode __P((struct layer *, int));
+ extern void LExtMouseMode __P((struct layer *, int));
++extern void LBracketedPasteMode __P((struct layer *, int));
++extern void LCursorStyle __P((struct layer *, int));
+ #if defined(USEVARARGS)
+ extern void LMsg __P((int, const char *, ...)) __attribute__((format(printf, 2, 3)));
+ #else
+--- a/layer.c 2022-09-03 21:07:05.736418077 -0400
++++ b/layer.c 2022-09-03 21:07:05.732418049 -0400
+@@ -840,6 +840,32 @@
+ }
+ }
+
++void LBracketedPasteMode(struct layer *l, int on)
++{
++ struct canvas *cv;
++ for (cv = l->l_cvlist; cv; cv = cv->c_lnext) {
++ display = cv->c_display;
++ if (D_blocked)
++ continue;
++ if (cv != D_forecv)
++ continue;
++ BracketedPasteMode(on);
++ }
++}
++
++void LCursorStyle(struct layer *l, int style)
++{
++ struct canvas *cv;
++ for (cv = l->l_cvlist; cv; cv = cv->c_lnext) {
++ display = cv->c_display;
++ if (D_blocked)
++ continue;
++ if (cv != D_forecv)
++ continue;
++ CursorStyle(style);
++ }
++}
++
+ void LClearAll(struct layer *l, int uself)
+ {
+ LClearArea(l, 0, 0, l->l_width - 1, l->l_height - 1, 0, uself);
+--- a/window.c 2022-09-03 21:07:05.736418077 -0400
++++ b/window.c 2022-09-03 21:07:05.732418049 -0400
+@@ -509,6 +509,8 @@
+ CursorVisibility(fore->w_curinv ? -1 : fore->w_curvvis);
+ MouseMode(fore->w_mouse);
+ ExtMouseMode(fore->w_extmouse);
++ BracketedPasteMode(fore->w_bracketed);
++ CursorStyle(fore->w_cursorstyle);
+ }
+ }
+
+--- a/window.h 2022-09-03 21:07:05.736418077 -0400
++++ b/window.h 2022-09-03 21:07:05.732418049 -0400
+@@ -241,6 +241,8 @@
+ #endif
+ int w_mouse; /* mouse mode 0,9,1000 */
+ int w_extmouse; /* extended mouse mode 0,1006 */
++ int w_bracketed; /* bracketed paste mode */
++ int w_cursorstyle; /* cursor style */
+ #ifdef HAVE_BRAILLE
+ int w_bd_x, w_bd_y; /* Braille cursor position */
+ #endif
diff --git a/debian/patches/90_fix_man_page_bash_example.patch b/debian/patches/90_fix_man_page_bash_example.patch
new file mode 100644
index 0000000..1121e57
--- /dev/null
+++ b/debian/patches/90_fix_man_page_bash_example.patch
@@ -0,0 +1,32 @@
+Description: Fix bash example in man page
+ See the matrix at
+ https://web.archive.org/web/20210925033649/https://tanguy.ortolo.eu/blog/article25/shrc
+ for the weird and confusing logic of bash reading its configuration
+ files.
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/screen/+bug/1986839
+Forwarded: no
+Author: Tired Sysadmin <https://launchpad.net/~wearyofallthiscrap>
+Author: Axel Beckert <abe@debian.org>
+
+--- a/doc/screen.1
++++ b/doc/screen.1
+@@ -3308,7 +3308,7 @@
+ execute the program specified in $SHELL.
+ If the command begins with a '\-' character, the shell will be started as a
+ login-shell. Typical shells do only minimal initialization when not started as a login-shell.
+-E.g. Bash will not read your \*Q~/.bashrc\*U unless it is a login-shell.
++E.g. Bash will not read your \*Q~/.bash_profile\*U unless it is a login-shell.
+ .RE
+ .TP
+ .B "shelltitle \fItitle\fP"
+--- a/doc/screen.texinfo
++++ b/doc/screen.texinfo
+@@ -1367,7 +1367,7 @@
+ program specified in @code{$SHELL}.
+ If the command begins with a @samp{-} character, the shell will be started as a
+ login-shell. Typical shells do only minimal initialization when not started as a login-shell.
+-E.g. Bash will not read your @file{~/.bashrc} unless it is a login-shell.
++E.g. Bash will not read your @file{~/.bash_profile} unless it is a login-shell.
+
+ @code{defshell} is currently a synonym to the @code{shell} .screenrc command.
+ @end deffn
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..335b704
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,17 @@
+# 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
+60-screen-4.2.1-debian4.1.0-compatibility.patch
+61-default-PATH_MAX-if-undefined-for-hurd.patch
+63-add-utempter-switch.patch
+65-wcwidth.patch
+# 80-89: experimental patches, new features etc.
+80_session_creation_docs.patch
+81_session_creation_util.patch
+82_session_creation_core.patch
+85_bracketed-paste-patch-by-Unit193_dpaste.com_5KJ572GZM.patch
+90_fix_man_page_bash_example.patch
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..9685e9f
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,74 @@
+#!/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_installtmpfiles:
+ dh_installtmpfiles --name=screen-cleanup
+
+override_dh_fixperms:
+ dh_fixperms -X/usr/bin/screen
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.bug-script b/debian/screen.bug-script
new file mode 100755
index 0000000..d32db27
--- /dev/null
+++ b/debian/screen.bug-script
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+exec 1>&3
+exec 2>&3
+
+echo File Existence and Permissions
+echo ------------------------------
+echo ''
+
+ls -ldU \
+ /run \
+ /var/run \
+ /usr/bin/screen \
+ /etc/tmpfiles.d/screen-cleanup.conf \
+ /lib/systemd/system/screen-cleanup.service \
+ /etc/init.d/screen-cleanup \
+ /etc/rc?.d/*screen-cleanup
+
+echo ''
+echo File contents
+echo -------------
+echo ''
+if [ -e /etc/tmpfiles.d/screen-cleanup.conf ]; then
+ echo '### /etc/tmpfiles.d/screen-cleanup.conf'
+ echo ______________________________________________________________________
+ cat /etc/tmpfiles.d/screen-cleanup.conf
+ echo ______________________________________________________________________
+fi
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..6fe8093
--- /dev/null
+++ b/debian/screen.install
@@ -0,0 +1,3 @@
+debian/README.terminfo usr/share/doc/screen/terminfo/
+debian/screenrc etc/
+debian/shells.d usr/share/debianutils/
diff --git a/debian/screen.lintian-overrides b/debian/screen.lintian-overrides
new file mode 100644
index 0000000..8177429
--- /dev/null
+++ b/debian/screen.lintian-overrides
@@ -0,0 +1,19 @@
+# There is no status, it's just for cleaning up.
+screen: init.d-script-does-not-implement-status-option [etc/init.d/screen-cleanup]
+
+# It doesn't need redirection to systemctl. There is
+# /etc/tmpfiles.d/screen-cleanup.conf and
+# /lib/systemd/system/screen-cleanup.service for that.
+screen: init.d-script-does-not-source-init-functions [etc/init.d/screen-cleanup]
+
+# 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 [etc/init.d/screen-cleanup]
+
+# False positive, it's user and group
+screen: spelling-error-in-readme-debian root root (duplicate word) root [usr/share/doc/screen/README.Debian.gz]
+
+# On purpose, documentation on national encoding
+screen: national-encoding [usr/share/doc/screen/terminfo/8bits]
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..3c2d74f
--- /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 "# This file is generated by $0 upon package configuration" > $override
+ echo 'd /run/screen 0755 root utmp' >> $override
+ fi
+ elif [ $perms -eq 755 ]; then
+ chmod 1777 /run/screen
+ if [ ! -f $override ]; then
+ echo "# This file is generated by $0 upon package configuration" > $override
+ 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
+fi
+
+#DEBHELPER#
diff --git a/debian/screen.postrm b/debian/screen.postrm
new file mode 100644
index 0000000..abc28ff
--- /dev/null
+++ b/debian/screen.postrm
@@ -0,0 +1,16 @@
+#!/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
+
+#DEBHELPER#
diff --git a/debian/screen.screen-cleanup.tmpfiles b/debian/screen.screen-cleanup.tmpfiles
new file mode 100644
index 0000000..7d56890
--- /dev/null
+++ b/debian/screen.screen-cleanup.tmpfiles
@@ -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/shells.d/screen b/debian/shells.d/screen
new file mode 100644
index 0000000..f8c96fd
--- /dev/null
+++ b/debian/shells.d/screen
@@ -0,0 +1 @@
+/usr/bin/screen
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/lintian-overrides b/debian/source/lintian-overrides
new file mode 100644
index 0000000..66a0d6e
--- /dev/null
+++ b/debian/source/lintian-overrides
@@ -0,0 +1,6 @@
+# False positives (long lines that are clearly no issue)
+screen source: very-long-line-length-in-source-file 773 > 512 [debian/tests/t/bug-982435-CVE-2021-26937.crash:1]
+screen source: very-long-line-length-in-source-file 982 > 512 [etc/completer.zsh:40]
+
+# These are binary files
+screen source: very-long-line-length-in-source-file * > 512 [utf8encodings/*]
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..f7c69d6
--- /dev/null
+++ b/debian/tests/t/boilerplate.sh
@@ -0,0 +1,51 @@
+# -*- 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
+
+ sleep 1
+
+ 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/bug-600246.txt b/debian/tests/t/bug-600246.txt
new file mode 100644
index 0000000..c45c230
--- /dev/null
+++ b/debian/tests/t/bug-600246.txt
@@ -0,0 +1 @@
+が..
diff --git a/debian/tests/t/bug-677512.txt b/debian/tests/t/bug-677512.txt
new file mode 100644
index 0000000..1dd3ee8
--- /dev/null
+++ b/debian/tests/t/bug-677512.txt
@@ -0,0 +1 @@
+a̅e
diff --git a/debian/tests/t/bug-982435-CVE-2021-26937.crash b/debian/tests/t/bug-982435-CVE-2021-26937.crash
new file mode 100644
index 0000000..d9c5078
--- /dev/null
+++ b/debian/tests/t/bug-982435-CVE-2021-26937.crash
@@ -0,0 +1 @@
+円ᆆᆿ忿ᇎᆿ忘ᆿᆿ忿ᆾᆿ応ᆿᆿ忿ᆷᆿ忑ᆿᆿ忿ᇠᆿ冺ᆿᆿ忿ᇇᆿ忟ᆿᆿ忿ᆺᆿ忳ᆿᆿ忿ᅳᆿ忣ᆿᆿ忿ᇯᆿ忇ᆿᆿ忿ᇅᆿ忙ᆿᆿ忿ᆼᆿ忇ᆃᆿ忿ᅶᆿ忲ᆿᆿ忿ᇃᆿ忚ᆿᆿ忿ᆫᆿ忱ᆿᆿ忿ᆅᆿ念ᆿᆿ忿ᇐᆿ忺ᆿᆿ忿ᆆᆿ忡ᆿᆿ忿ᆀᆿ忀ᆿᆿ忿ᇳᆿ凿ᆿᆿ忿ᇨᆿ忄ᆿᆿ冁ᆿᆿ忿ᇛᆿ忿ᇁᆿ冿ᆿᆿ忷ᆿᆿ必ᆿᆿ忿ᇾᆿ徆ᆿᆿ忿ᇕᆿ念ᆆᆿ忿ᅿᆿ冿ᆆᆿ忿ᆃᆿ忬ᆿᆿ忿ᆔᆿ忩ᆿᆿ冥ᆿᆿ忿ᆰᆿ忿ᆮᆿ心ᆿᆿ忿ᅱᆿ忼ᆿᆿ忿ᆠᆿ忻ᆿᆿ忿ᆙᆿ忳ᆆᆿ忿ᆂᆿ忌ᆿᆿ忿ᇔᆿ忺ᆾᆿ忿ᇲᆿ忀ᆤᆿ忿ᆄᆿ徿ᆿᆿ忿ᆉᆿ忿ᆞᆿ忿ᆎᆿ忘ᆶᆿ冊ᆿᆿ志ᆿᆿ忿ᆯᆿ忆ᆿᆿ忿ᇤᆿ忬ᆠᆿ忆ᆃᆿ忄ᆻᆿ冸ᆿᆿ忯ᆿᆿ冽ᆿᆿ忏ᆿᆿ忿ᆇᆿ忿ᆬᆿ忿ᇱᆿ快ᆿᆿ忿ᇞᆿ忿ᆜᆿ忀ᆠᆿ忯ᆞᆿ忿ᆨᆿ忹ᆿᆿ忿ᆪᆿ冴ᆿᆿ忿ᆐᆿ忿ᇰᆿ忿ᅼᆿ忖ᆿᆿ忿ᇻᆿ心ᆩᆿ忿ᇧᆿ忠ᆿᆿ忿ᇈᆿ忔ᆿᆿ忺ᆐᆿ忝ᆿᆿ忿ᇺᆿ忴ᆿᆿ忿ᆕᆿ忿ᆵᆿ忿ᇶᆿ忎ᆿᆿ忿ᅾᆿ忷ᆆᆿ忿ᆖᆿ忛ᆿᆿ忿ᇉᆿ忞ᆿᆿ忿ᇷᆿ忭ᆿᆿ冤ᆿᆿ忿ᆍᆿ忿ᇭᆿ忿ᇖᆿ冰ᆿᆿ忢ᆿᆿ忱ᆾᆿ忦ᆿᆿ忿ᆒᆿ忸ᆿᆿ冿ᆯᆿ忿ᆏᆿ忌ᆯᆿ忪ᆿᆿ忿ᇿᆿ忇ᆙᆿ忸ᆔᆿ徿ᆆᆿ忿ᆘᆿ忩ᆅᆿ忿ᇄᆿ忿ᇏᆿ忿ᆭᆿ忌ᆸᆿ忿ᆛᆿ忹ᆆᆿ忿ᅲᆿ忄ᆺᆿ忿ᇩᆿ忬ᆦᆿ忸ᆉᆿ忁ᆿᆿ忿ᆱᆿ凿ᆆᆿ忿ᇦᆿ忿ᆢᆿ忇ᆾᆿ忰ᆿᆿ忿ᆣᆿ忺ᆆᆿ忷ᆭᆿ忺ᆉᆿ忿ᆶᆿ忠ᆱᆿ忿ᇼᆿ忘ᆼᆿ忎ᆉᆿ忚ᆛᆿ忥ᆿᆿ忤ᆿᆿ忣ᆉᆿ忡ᆁᆿ忇ᆼᆿ念ᆐᆿ忿ᆿᆿ徽ᆿᆿ冿ᆐᆿ忿ᇒᆿ忿ᆧᆿ忒ᆿᆿ忿ᇜᆿ忨ᆿᆿ忿ᆦᆿ忿ᇙᆿ忿ᆈᆿ忸ᆆᆿ忿ᆲᆿ忡ᆉᆿ忿ᇘᆿ忥ᆆᆿ忿ᇥᆿ忊ᆿᆿ心ᆼᆿ忠ᆐᆿ忿ᆳᆿ忄ᆠᆿ忿ᆁᆿ志ᆱᆿ忿ᇆᆿ忤ᆆᆿ忴ᆶᆿ忿ᆓᆿ忿ᆸᆿ忳ᆻᆿ忿ᇸᆿ忮ᆿᆿ忿ᆤᆿ忰ᆎᆿ忻ᆲᆿ忇ᆞᆿ忇ᆱᆿ忋ᆿᆿ忺ᆅᆿ忴ᆆᆿ忿ᆥᆿ忇ᆄᆿ忿ᆹᆿ忧ᆿᆿ応ᆠᆿ忿ᅻᆿ忿ᆩᆿ忰ᆇᆿ忲ᆄᆿ忕ᆿᆿ応ᆕᆿ忿ᇹᆿ忿ᆊᆿ忌ᆇᆿ忿ᇊᆿ忣ᆃᆿ忆ᆱᆿ忻ᆆᆿ忿ᆚᆿ忰ᆱᆿ忿ᆌᆿ忶ᆿᆿ忿ᆻᆿ忿ᆑᆿ忞ᆳᆿ忶ᆆᆿ冇ᆿᆿ忽ᆿᆿ忿ᆟᆿ志ᆼᆿ忿ᇮᆿ忨ᆇᆿ円ᆿᆿ忿ᅰᆿ忇ᆇᆿ忤ᆯ忿ᆿ
diff --git a/debian/tests/t/bug-982435-CVE-2021-26937.t b/debian/tests/t/bug-982435-CVE-2021-26937.t
new file mode 100644
index 0000000..90cc361
--- /dev/null
+++ b/debian/tests/t/bug-982435-CVE-2021-26937.t
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+echo 1..2
+
+. `dirname $0`/boilerplate.sh
+
+for enc in C C.UTF-8 ; do
+ LC_ALL=$enc
+ export LC_ALL
+
+ $SCREEN cat debian/tests/t/bug-982435-CVE-2021-26937.crash > /dev/null 2>&1
+ sleep 1
+ screen -ls | fgrep -q 'Dead ???'
+ check_exit_code_false "No dead session found after triggering a CVE-2021-26937 crash (LC_ALL=$enc)"
+
+ # Cleanup in case of crash
+ screen -wipe > /dev/null 2>&1 || true
+done
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/subsequential-combining-diacritical.txt b/debian/tests/t/subsequential-combining-diacritical.txt
new file mode 100644
index 0000000..f08f832
--- /dev/null
+++ b/debian/tests/t/subsequential-combining-diacritical.txt
@@ -0,0 +1 @@
+e̤̒
diff --git a/debian/tests/t/unicode-output.t b/debian/tests/t/unicode-output.t
new file mode 100644
index 0000000..e7d56e9
--- /dev/null
+++ b/debian/tests/t/unicode-output.t
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+echo 1..$(ls -1 $(dirname $0)/*.txt | wc -l)
+
+. `dirname $0`/boilerplate.sh
+
+LC_ALL=C.UTF-8
+export LC_ALL
+TERM=xterm
+export TERM
+
+for file in $(ls -1 $(dirname $0)/*.txt) ; do
+ echo === BEGIN $file ===
+ cat $file
+ echo === END $file ===
+ echo "=== BEGIN $file (escaped) ==="
+ cat -v $file
+ echo "=== END $file (escaped) ==="
+ script -c "$SCREEN cat $file" ${file}.output | cat -v
+ fgrep -F -f $file -q ${file}.output
+ check_exit_code_true Found contents of $file in ${file}.output
+ rm -f ${file}.output
+done
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..d5980df
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,101 @@
+Member GPG keyring of screen group.
+
+Note that this keyring is not intended for checking releases of that group.
+Use Group Release Keyring instead.
+
+GPG keys of Amadeusz Sławiński <amade>
+-----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-----
+
+GPG keys of Alexander Naumov <anaumov>
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQGNBF/kpG4BDADYJL/NbyJZ0X05RlUMkbIuFn8uXWfhsiburkbDwD8p4YedQOs6
+QaHgYT86N4xsFWeT786Tv/iL85nnWNT8dcsS8eygWK18URBaZEkpUZBjTkhn5Ql2
+/1Bog26kaD/8XXzhHfNDpme9b30UtsB2XzXjeK8r9gRUXRqmo17iczCOLpPJ4GeY
+CKhJs2fS8JRKqM3Vyt+IqKpBhJnbX6c/EXIIupSxGEwDboBzyGptF6oinLvbXxYW
+TL80BRYlnizShHkG8AgJpNTa8xE+ua6pF8OgH07VMiX/sOIS7E0CUwYb4Qi+gVho
+HGGvi28TIcS1pFeWyRi8e/ISOO7PRnT4zy8QVAWVaMFp1RJfXSAf98ibJ/kNlZDq
+h4rfIU3gECkCv2TMCCKR3dOqGK5MXyF/oEksKlpLSaMsyyaR+VbgQ6EbHdWN2Se+
+xvYiQLeg8wnPp1wWVomFL+ZxyfELG8OM7rKgOjUmYr2GP8TnB4OZw/StPbRZlBdm
+kOQsOg1wAxwCnWMAEQEAAbQwQWxleGFuZGVyIE5hdW1vdiA8YWxleGFuZGVyX25h
+dW1vdkBvcGVuc3VzZS5vcmc+iQHUBBMBCAA+FiEEtFYP2Mny3jvjCOujkzrSGIb2
+n78FAl/kpG4CGwMFCQPCZwAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQkzrS
+GIb2n7/LHgwAtFbpKVhqLDShlJV+5YUrVuczFTAHVQg1a8+tJmxip6kCJ12VdlkX
+F1/23kEoPl2Y8/TQbYjkDKEA3yt4fkpZI/OfHtXEjM/jS+aZLhdUs4F1MjQSqmVM
+2fskFWb0uWJl4F9HUYOSHPvkXUvzxnSTV7BBLt877YZ1ZL5T96O8h87Q1pfc+G4i
+lop+2rwFyanLv81gzadlOy7qJ7PNEF102rUulmtWzZ5dNZHHw3j7mgdu7H+61I5H
+XMTnSORQIbjtHc6PWj/IglzEh9v/HZtm6SF7FiVHgwjWWAIHBsMgH2aQ/8FAO1JQ
+zPG1wldsMULWC8e7D3+fBcW9fBFayl/nrcpZqfehKSRt/yK7hiUH5vHR1Ep5Rj5L
+8bL6Btc9mH/E1UvGMsu/hHGQJwF89Z1vXbTAID31/05ACwn/38lmmwMLWelT033N
+AvzQJQc5tarBDPgFr2CMqo8E+exR6L8Boj+f+ZsVh8z44VvqlMxA8gQTE0xssNSO
+QYFar8k8xLN2uQGNBF/kpG4BDADHvUFr1k7cP8bAkD+e5mkhnVuS8cZ1rPr8nfz4
+RO7Cg6NHoL036cfVtTLHcEcD+yuiAxMo2XITved5QRB/SGzFFRmrx0hISaboAr3S
+dsWJip8x/XGPaGkWEXIb0geEPhg2PMz7D7/CDIX0DO/X5co4U6qQt1lkoMWfeRym
+Acg2aJiVWm0RhUvIRdwl2kUKVifzhVYoZrQBazNzwp20ARNYhPPbkPgUqJOz49Zt
+ghZqfS9wjjkEDwV+WuyCM5KCU2f9R95pXW69hwobsgDj3Xm7GrofZknCEEAjzD+W
+cU7fBawm0f3oOIc+f8Ob0L13nCr+/FgZEaouztE5qGXcU3X5OoNhIiAep1L3CF5T
+S/+qAvKsg60BMfW3MBOhJEf/VoeTxdRbWrCvHWe83gaTQQUaGhoLHr+ADzdEnl6J
+eDERNciqRMC+LhEB20YUumJhZ6d1/a+sjIhbLAbkbt8SQnwUJC0Ti7POdhNeOVRy
+UL2pz92EBUkKaAVxhttuGB6HSXcAEQEAAYkBvAQYAQgAJhYhBLRWD9jJ8t474wjr
+o5M60hiG9p+/BQJf5KRuAhsMBQkDwmcAAAoJEJM60hiG9p+/KBIMAIL2NZVYmxpw
+1VCZfKcfXtMuP+yh7O8rJyjEFQaj3HSW+tvh/Dh7pPOUzBmJsSH5x8shOlgItNEo
+RdpK9/tQRg+KWSckWAhjFAOjiO+fdpqG1ZctecBUGI6gAgNQbYjSYf4CXyCIJl4J
+Jex9xhNS4PoS62KpYUFzxtvtsOeGwZ2yJmW1rSN4PyTRvhTyaqpOIT/Ic+OvHDQd
+s93DNfCGWIWpBnImeeGbUW00ZZ/B2r1X1rulu/SJH8dSvu1N3+51QyUEr3gpLNfQ
+kd2BoWFjva8PiYMzHj70FEk4n1tcc2F0QIgwUcov3SWbGT0DWvR6z+XbuaWSSCRv
+0S3P0uZOqb8LYfZDEAdRQzczsso/syoyQayq2GK/v1Tbvh+G+5HNwQ3kqSCmkIBV
+ZpoG0z62vP9UOp065GIFoWNqJFVeOfWHwoiV1OOq1SkQJXv0spbJRekiJUD+K0np
+0gVsXkf8FbpfsV4hugSYmtQw69PRkQxFp3HXcRtfE0KQ7enJ2MfF8g==
+=MrS5
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..f019793
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,6 @@
+version=4
+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