public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-misc/screen/, app-misc/screen/files/
@ 2017-02-26 12:16 Jeroen Roovers
  0 siblings, 0 replies; 7+ messages in thread
From: Jeroen Roovers @ 2017-02-26 12:16 UTC (permalink / raw
  To: gentoo-commits

commit:     52ba26ea1d1d78feb4e7d08919432abca428e8ba
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 26 12:16:34 2017 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Sun Feb 26 12:16:50 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52ba26ea

app-misc/screen: Version bump.

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 app-misc/screen/Manifest                         |   1 +
 app-misc/screen/files/screen-4.5.1-texinfo.patch |  13 ++
 app-misc/screen/screen-4.5.1.ebuild              | 161 +++++++++++++++++++++++
 3 files changed, 175 insertions(+)

diff --git a/app-misc/screen/Manifest b/app-misc/screen/Manifest
index 0354db6185..2f60add8ce 100644
--- a/app-misc/screen/Manifest
+++ b/app-misc/screen/Manifest
@@ -1,3 +1,4 @@
 DIST screen-4.3.1.tar.gz 845958 SHA256 fa4049f8aee283de62e283d427f2cfd35d6c369b40f7f45f947dbfd915699d63 SHA512 8e8a25b23330a7d8e00fc9e6cc430f0eb3937ccf4183efbd6fd24e4dc04cc09b3acae45bfc24892faee433b18fa79b1cfe0211fd75c0d74ecf908f916bf774aa WHIRLPOOL b47f7538351028cc3a2ec7f69a9373e152fa7655c6ae9feb75ba46db3cdc9b7d58ce78043993b7f134da3a04754c5e52d1a77da4c30a8decda21c79cf5c50f51
 DIST screen-4.4.0.tar.gz 846010 SHA256 ef722a54759a3bf23aad272bbf33c414c1078cad6bcd982fada93c0d7917218b SHA512 6e43f85c419f778822ec85e4340c95769e981a3d51abdeb5f26c6ebb840da9ab11b351ecc7f380ceea39bcfaa87f1124cfebd6af4ecb62b886eb189e7b79981b WHIRLPOOL a0d68d2d50f9f50537bf73a6dbb1ecbfe8c6af5c5322003a717431734bdc86a940fc55cd8c3a28b3e5ec572aaa0ceba376d97cbb8c5090a92d499cba2889b322
 DIST screen-4.5.0.tar.gz 963233 SHA256 01c3a7c362185f35d6a95dff52d64337076496acd034d717de3c263500cfefb0 SHA512 b2705ed9604355d4153d7902f820af6131a1f2387650f5c6efeda7acf543aad48e8603c26d7c6e74213c8eece994d5d9bb0d114bc19c8d8f3d8e99c00ea4a484 WHIRLPOOL 04b26e849ae0440778f2eee1a8d8730697a0f8ee933522ec16de697ff0cc189fc67b7e46b7cb218457ab53e491fceff0d70e44417c7c3af5c934cd3fae769382
+DIST screen-4.5.1.tar.gz 963153 SHA256 97db2114dd963b016cd4ded34831955dcbe3251e5eee45ac2606e67e9f097b2d SHA512 ca53477ad38264be38efb1d10a1337b647dd061127162c77533b17a30d046cd0caabe38e4a9e5389aac30d5dc62eb53e7877411e69adae36d0ca869bd0a82804 WHIRLPOOL db60013141e3f426107d3f1e518b48fc0bbf89fbf51b26b5ac7208b9940448397ec0009d389365289a1d06421b403982093c8b7ee8d891eea20c704d7ad376b1

diff --git a/app-misc/screen/files/screen-4.5.1-texinfo.patch b/app-misc/screen/files/screen-4.5.1-texinfo.patch
new file mode 100644
index 0000000000..8d7a5e5271
--- /dev/null
+++ b/app-misc/screen/files/screen-4.5.1-texinfo.patch
@@ -0,0 +1,13 @@
+--- a/doc/screen.texinfo
++++ b/doc/screen.texinfo
+@@ -5796,8 +5796,8 @@
+ ============
+ 
+ @example
+-     Thomas Renninger <treen@suse.com>,
+-     Axel Beckert <abe@deuxchevaux.org>,
++     Thomas Renninger <treen@@suse.com>,
++     Axel Beckert <abe@@deuxchevaux.org>,
+      Ken Beal <kbeal@@amber.ssd.csd.harris.com>,
+      Rudolf Koenig <rfkoenig@@informatik.uni-erlangen.de>,
+      Toerless Eckert <eckert@@informatik.uni-erlangen.de>,

diff --git a/app-misc/screen/screen-4.5.1.ebuild b/app-misc/screen/screen-4.5.1.ebuild
new file mode 100644
index 0000000000..f4a542808d
--- /dev/null
+++ b/app-misc/screen/screen-4.5.1.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+SCM=""
+[[ "${PV}" = 9999 ]] && SCM="git-r3"
+inherit autotools eutils flag-o-matic pam toolchain-funcs user ${SCM}
+unset SCM
+
+DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
+HOMEPAGE="https://www.gnu.org/software/screen/"
+
+if [[ "${PV}" != 9999 ]] ; then
+	SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+else
+	EGIT_REPO_URI="git://git.savannah.gnu.org/screen.git"
+	EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on
+	S="${WORKDIR}"/${P}/src
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="debug nethack pam selinux multiuser"
+
+CDEPEND="
+	>=sys-libs/ncurses-5.2:0=
+	pam? ( virtual/pam )"
+RDEPEND="${CDEPEND}
+	selinux? ( sec-policy/selinux-screen )"
+DEPEND="${CDEPEND}
+	sys-apps/texinfo"
+
+PATCHES=(
+	# Don't use utempter even if it is found on the system.
+	"${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
+	# @ => @@
+	"${FILESDIR}"/${PN}-4.5.1-texinfo.patch
+)
+
+pkg_setup() {
+	# Make sure utmp group exists, as it's used later on.
+	enewgroup utmp 406
+}
+
+src_prepare() {
+	default
+
+	# sched.h is a system header and causes problems with some C libraries
+	mv sched.h _sched.h || die
+	sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
+
+	# Fix manpage.
+	sed -i \
+		-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
+		-e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
+		-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
+		-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
+		-e "s:/local/screens/S\\\-:${EPREFIX}/tmp/screen/S\\\-:g" \
+		doc/screen.1 \
+		|| die
+
+	if [[ ${CHOST} == *-darwin* ]] ; then
+		sed -i -e '/^#define UTMPOK/s/define/undef/' acconfig.h || die
+	fi
+
+	# reconfigure
+	eautoreconf
+}
+
+src_configure() {
+	append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
+
+	if [[ ${CHOST} == *-solaris* ]] ; then
+		# enable msg_header by upping the feature standard compatible
+		# with c99 mode
+		append-cppflags -D_XOPEN_SOURCE=600
+	fi
+
+	use nethack || append-cppflags "-DNONETHACK"
+	use debug && append-cppflags "-DDEBUG"
+
+	econf \
+		--with-socket-dir="${EPREFIX}/tmp/screen" \
+		--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
+		--with-pty-mode=0620 \
+		--with-pty-group=5 \
+		--enable-rxvt_osc \
+		--enable-telnet \
+		--enable-colors256 \
+		$(use_enable pam)
+}
+
+src_compile() {
+	LC_ALL=POSIX emake comm.h term.h
+	emake osdef.h
+
+	emake -C doc screen.info
+	default
+}
+
+src_install() {
+	local DOCS=(
+		README ChangeLog INSTALL TODO NEWS* patchlevel.h
+		doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
+	)
+
+	default
+
+	local tmpfiles_perms tmpfiles_group
+
+	if use multiuser || use prefix
+	then
+		fperms 4755 /usr/bin/screen-${PV}
+		tmpfiles_perms="0755"
+		tmpfiles_group="root"
+	else
+		fowners root:utmp /usr/bin/screen-${PV}
+		fperms 2755 /usr/bin/screen-${PV}
+		tmpfiles_perms="0775"
+		tmpfiles_group="utmp"
+	fi
+
+	dodir /etc/tmpfiles.d
+	echo "d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" \
+		> "${ED}"/etc/tmpfiles.d/screen.conf
+
+	insinto /usr/share/screen
+	doins terminfo/{screencap,screeninfo.src}
+
+	insinto /etc
+	doins "${FILESDIR}"/screenrc
+
+	pamd_mimic_system screen auth
+}
+
+pkg_postinst() {
+	if [[ -z ${REPLACING_VERSIONS} ]]
+	then
+		elog "Some dangerous key bindings have been removed or changed to more safe values."
+		elog "We enable some xterm hacks in our default screenrc, which might break some"
+		elog "applications. Please check /etc/screenrc for information on these changes."
+	fi
+
+	# Add /tmp/screen in case it doesn't exist yet. This should solve
+	# problems like bug #508634 where tmpfiles.d isn't in effect.
+	local rundir="${EROOT%/}/tmp/screen"
+	if [[ ! -d ${rundir} ]] ; then
+		if use multiuser || use prefix ; then
+			tmpfiles_group="root"
+		else
+			tmpfiles_group="utmp"
+		fi
+		mkdir -m 0775 "${rundir}"
+		chgrp ${tmpfiles_group} "${rundir}"
+	fi
+
+	ewarn "This revision changes the screen socket location to ${rundir}"
+}


^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-misc/screen/, app-misc/screen/files/
@ 2025-03-08 20:03 Sven Wegener
  0 siblings, 0 replies; 7+ messages in thread
From: Sven Wegener @ 2025-03-08 20:03 UTC (permalink / raw
  To: gentoo-commits

commit:     f20e0886dc8c8962e34bd15a96d94cccfc55f6ab
Author:     Mark Harmstone <mark <AT> harmstone <DOT> com>
AuthorDate: Wed Aug  7 17:04:25 2024 +0000
Commit:     Sven Wegener <swegener <AT> gentoo <DOT> org>
CommitDate: Sat Mar  8 20:02:58 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f20e0886

app-misc/screen: remove nethack USE flag

Despite still being in the man pages, the nethack mode of screen was
removed in 2015: https://github.com/jfjhh/screen/commit/9109409b2e0dbe15df2ffa76557f7d938d37fb08

Signed-off-by: Mark Harmstone <mark <AT> harmstone.com>
Closes: https://github.com/gentoo/gentoo/pull/38011
Signed-off-by: Sven Wegener <swegener <AT> gentoo.org>

 app-misc/screen/files/screenrc     | 3 ---
 app-misc/screen/screen-9999.ebuild | 3 +--
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/app-misc/screen/files/screenrc b/app-misc/screen/files/screenrc
index 11f2f551b0bc..2616b47cf522 100644
--- a/app-misc/screen/files/screenrc
+++ b/app-misc/screen/files/screenrc
@@ -51,9 +51,6 @@
 # Don't display the copyright page
   startup_message off			# default: on
 
-# Uses nethack-style messages
-# nethack on				# default: off
-
 # Affects the copying of text regions
   crlf off				# default: off
 

diff --git a/app-misc/screen/screen-9999.ebuild b/app-misc/screen/screen-9999.ebuild
index ad26413a3cbb..7ad57bdfa000 100644
--- a/app-misc/screen/screen-9999.ebuild
+++ b/app-misc/screen/screen-9999.ebuild
@@ -20,7 +20,7 @@ fi
 
 LICENSE="GPL-3+"
 SLOT="0"
-IUSE="debug nethack pam selinux multiuser"
+IUSE="debug pam selinux multiuser"
 
 DEPEND=">=sys-libs/ncurses-5.2:=
 	virtual/libcrypt:=
@@ -74,7 +74,6 @@ src_configure() {
 		append-cppflags -D_XOPEN_SOURCE=600
 	fi
 
-	use nethack || append-cppflags "-DNONETHACK"
 	use debug && append-cppflags "-DDEBUG"
 
 	local myeconfargs=(


^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-misc/screen/, app-misc/screen/files/
@ 2023-08-08  5:45 Sam James
  0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2023-08-08  5:45 UTC (permalink / raw
  To: gentoo-commits

commit:     0e9f132e4ae77a13b49113722c90fd2fb68a9183
Author:     Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com>
AuthorDate: Tue Aug  8 05:42:47 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug  8 05:44:04 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e9f132e

app-misc/screen: Fix call to undeclared function chmod

Closes: https://bugs.gentoo.org/894562
Signed-off-by: Brahmajit Das <brahmajit.xyz <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/32184
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../screen/files/screen-4.9.0-clang16-chmod.patch  |  12 ++
 app-misc/screen/screen-4.9.0-r3.ebuild             | 148 +++++++++++++++++++++
 2 files changed, 160 insertions(+)

diff --git a/app-misc/screen/files/screen-4.9.0-clang16-chmod.patch b/app-misc/screen/files/screen-4.9.0-clang16-chmod.patch
new file mode 100644
index 000000000000..63872219a23f
--- /dev/null
+++ b/app-misc/screen/files/screen-4.9.0-clang16-chmod.patch
@@ -0,0 +1,12 @@
+Bug: https://bugs.gentoo.org/894562
+Taken from: https://git.savannah.gnu.org/cgit/screen.git/commit/?id=7f320d3a643ec95682a7213b7e991e27038d8a57
+--- a/display.c
++++ b/display.c
+@@ -27,6 +27,7 @@
+  */
+ 
+ #include <sys/types.h>
++#include <sys/stat.h>
+ #include <signal.h>
+ #include <fcntl.h>
+ #ifndef sun

diff --git a/app-misc/screen/screen-4.9.0-r3.ebuild b/app-misc/screen/screen-4.9.0-r3.ebuild
new file mode 100644
index 000000000000..450045b6755b
--- /dev/null
+++ b/app-misc/screen/screen-4.9.0-r3.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic pam tmpfiles
+
+DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
+HOMEPAGE="https://www.gnu.org/software/screen/"
+
+if [[ ${PV} != 9999 ]] ; then
+	SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+else
+	inherit git-r3
+	EGIT_REPO_URI="https://git.savannah.gnu.org/git/screen.git"
+	EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on
+	S="${WORKDIR}"/${P}/src
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="debug nethack pam selinux multiuser"
+
+DEPEND=">=sys-libs/ncurses-5.2:=
+	virtual/libcrypt:=
+	pam? ( sys-libs/pam )"
+RDEPEND="${DEPEND}
+	acct-group/utmp
+	selinux? ( sec-policy/selinux-screen )"
+BDEPEND="sys-apps/texinfo"
+
+PATCHES=(
+	# Don't use utempter even if it is found on the system.
+	"${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
+	"${FILESDIR}"/${PN}-4.6.2-utmp-exit.patch
+	"${FILESDIR}"/${PN}-4.9.0-configure-implicit-function-decls.patch
+	"${FILESDIR}"/${P}-CVE-2023-24626.patch
+	"${FILESDIR}"/${PN}-4.9.0-clang16-chmod.patch
+)
+
+src_prepare() {
+	default
+
+	# sched.h is a system header and causes problems with some C libraries
+	mv sched.h _sched.h || die
+	sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
+
+	# Fix manpage
+	sed -i \
+		-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
+		-e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
+		-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
+		-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
+		-e "s:/local/screens/S\\\-:${EPREFIX}/tmp/screen/S\\\-:g" \
+		doc/screen.1 || die
+
+	if [[ ${CHOST} == *-darwin* ]] || use elibc_musl; then
+		sed -i -e '/^#define UTMPOK/s/define/undef/' acconfig.h || die
+	fi
+
+	# disable musl dummy headers for utmp[x]
+	use elibc_musl && append-cppflags "-D_UTMP_H -D_UTMPX_H"
+
+	# reconfigure
+	eautoreconf
+}
+
+src_configure() {
+	append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
+
+	if [[ ${CHOST} == *-solaris* ]]; then
+		# enable msg_header by upping the feature standard compatible
+		# with c99 mode
+		append-cppflags -D_XOPEN_SOURCE=600
+	fi
+
+	use nethack || append-cppflags "-DNONETHACK"
+	use debug && append-cppflags "-DDEBUG"
+
+	local myeconfargs=(
+		--with-socket-dir="${EPREFIX}/tmp/${PN}"
+		--with-sys-screenrc="${EPREFIX}/etc/screenrc"
+		--with-pty-mode=0620
+		--with-pty-group=5
+		--enable-rxvt_osc
+		--enable-telnet
+		--enable-colors256
+		$(use_enable pam)
+	)
+	econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+	LC_ALL=POSIX emake comm.h term.h
+	emake osdef.h
+
+	emake -C doc screen.info
+	default
+}
+
+src_install() {
+	local DOCS=(
+		README ChangeLog INSTALL TODO NEWS* patchlevel.h
+		doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
+	)
+
+	emake DESTDIR="${D}" SCREEN="${P}" install
+
+	local tmpfiles_perms tmpfiles_group
+
+	if use multiuser || use prefix ; then
+		fperms 4755 /usr/bin/${P}
+		tmpfiles_perms="0755"
+		tmpfiles_group="root"
+	else
+		fowners root:utmp /usr/bin/${P}
+		fperms 2755 /usr/bin/${P}
+		tmpfiles_perms="0775"
+		tmpfiles_group="utmp"
+	fi
+
+	newtmpfiles - screen.conf <<<"d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}"
+
+	insinto /usr/share/${PN}
+	doins terminfo/{screencap,screeninfo.src}
+
+	insinto /etc
+	doins "${FILESDIR}"/screenrc
+
+	if use pam; then
+		pamd_mimic_system screen auth
+	fi
+
+	dodoc "${DOCS[@]}"
+}
+
+pkg_postinst() {
+	if [[ -z ${REPLACING_VERSIONS} ]]; then
+		elog "Some dangerous key bindings have been removed or changed to more safe values."
+		elog "We enable some xterm hacks in our default screenrc, which might break some"
+		elog "applications. Please check /etc/screenrc for information on these changes."
+	fi
+
+	tmpfiles_process screen.conf
+
+	ewarn "This revision changes the screen socket location to ${EROOT}/tmp/${PN}"
+}


^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-misc/screen/, app-misc/screen/files/
@ 2017-01-20 11:54 Fabian Groffen
  0 siblings, 0 replies; 7+ messages in thread
From: Fabian Groffen @ 2017-01-20 11:54 UTC (permalink / raw
  To: gentoo-commits

commit:     c1d4aff3caa8c24d0f3cfad11ba4a9a9881c5fbc
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 20 11:54:19 2017 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri Jan 20 11:54:33 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1d4aff3

app-misc/screen: fix compilation error on Solaris

Package-Manager: portage-2.3.0

 app-misc/screen/files/screen-4.5.0-solaris-PATH_MAX.patch | 12 ++++++++++++
 app-misc/screen/screen-4.5.0.ebuild                       |  2 ++
 2 files changed, 14 insertions(+)

diff --git a/app-misc/screen/files/screen-4.5.0-solaris-PATH_MAX.patch b/app-misc/screen/files/screen-4.5.0-solaris-PATH_MAX.patch
new file mode 100644
index 00000000..1fafcf9
--- /dev/null
+++ b/app-misc/screen/files/screen-4.5.0-solaris-PATH_MAX.patch
@@ -0,0 +1,12 @@
+On Solaris one needs to include limits.h in order to use PATH_MAX
+
+--- screen-4.5.0/screen.c
++++ screen-4.5.0/screen.c
+@@ -44,6 +44,7 @@
+ #endif
+ #include <ctype.h>
+ #include <fcntl.h>
++#include <limits.h>
+ 
+ #ifdef sgi
+ # include <sys/sysmacros.h>

diff --git a/app-misc/screen/screen-4.5.0.ebuild b/app-misc/screen/screen-4.5.0.ebuild
index e494a06..7ea62d1 100644
--- a/app-misc/screen/screen-4.5.0.ebuild
+++ b/app-misc/screen/screen-4.5.0.ebuild
@@ -36,6 +36,8 @@ DEPEND="${CDEPEND}
 PATCHES=(
 	# Don't use utempter even if it is found on the system.
 	"${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
+	# PATH_MAX usage needs an include on Solaris
+	"${FILESDIR}"/${P}-solaris-PATH_MAX.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-misc/screen/, app-misc/screen/files/
@ 2016-01-23 12:41 Jeroen Roovers
  0 siblings, 0 replies; 7+ messages in thread
From: Jeroen Roovers @ 2016-01-23 12:41 UTC (permalink / raw
  To: gentoo-commits

commit:     63a1b2c8e53e0a07394e637239db23acfce8f93a
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 23 12:40:25 2016 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Sat Jan 23 12:41:35 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63a1b2c8

app-misc/screen: Fix visual_bell type.

Package-Manager: portage-2.2.27

 app-misc/screen/files/screen-4.3.1-bool_visual_bell.patch | 11 +++++++++++
 app-misc/screen/screen-9999.ebuild                        |  3 +++
 2 files changed, 14 insertions(+)

diff --git a/app-misc/screen/files/screen-4.3.1-bool_visual_bell.patch b/app-misc/screen/files/screen-4.3.1-bool_visual_bell.patch
new file mode 100644
index 0000000..e316a62
--- /dev/null
+++ b/app-misc/screen/files/screen-4.3.1-bool_visual_bell.patch
@@ -0,0 +1,11 @@
+--- a/src/telnet.c
++++ b/src/telnet.c
+@@ -41,7 +41,7 @@
+ 
+ extern Window *fore;
+ extern Layer *flayer;
+-extern int visual_bell;
++extern bool visual_bell;
+ extern char screenterm[];
+ extern int af;
+ 

diff --git a/app-misc/screen/screen-9999.ebuild b/app-misc/screen/screen-9999.ebuild
index 3038ad6..9118c6f 100644
--- a/app-misc/screen/screen-9999.ebuild
+++ b/app-misc/screen/screen-9999.ebuild
@@ -36,6 +36,9 @@ src_prepare() {
 	# Don't use utempter even if it is found on the system
 	epatch "${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
 
+	# visual_bell is no longer an int
+	epatch "${FILESDIR}"/${PN}-4.3.1-bool_visual_bell.patch
+
 	# sched.h is a system header and causes problems with some C libraries
 	mv sched.h _sched.h || die
 	sed -i '/include/ s:sched.h:_sched.h:' screen.h || die


^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-misc/screen/, app-misc/screen/files/
@ 2015-10-10 15:38 Patrice Clement
  0 siblings, 0 replies; 7+ messages in thread
From: Patrice Clement @ 2015-10-10 15:38 UTC (permalink / raw
  To: gentoo-commits

commit:     c65b9410e37ceb9f5361c7e7d53a20a87fcd9e69
Author:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 10 15:33:53 2015 +0000
Commit:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Sat Oct 10 15:36:56 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c65b9410

app-misc/screen: Clean up vulnerable versions. Fixes security bug 559394.

Package-Manager: portage-2.2.20.1
Signed-off-by: Patrice Clement <monsieurp <AT> gentoo.org>

 app-misc/screen/Manifest                           |   2 -
 app-misc/screen/files/4.0.2-64bit-time.patch       |  11 -
 app-misc/screen/files/4.0.2-no-libelf.patch        |  18 -
 app-misc/screen/files/4.0.2-no-pty.patch           |  14 -
 app-misc/screen/files/4.0.2-no-utempter.patch      |  14 -
 app-misc/screen/files/4.0.2-nonblock.patch         |  11 -
 .../files/4.0.2-windowlist-multiuser-fix.patch     |  12 -
 .../screen/files/4.0.3-extend-d_termname-ng2.patch | 203 -------
 .../files/screen-4.0.1-int-overflow-fix.patch      |  31 --
 app-misc/screen/files/screen-4.0.1-vsprintf.patch  |  13 -
 .../screen-4.0.3-config.h-autoconf-2.62.patch      |  14 -
 app-misc/screen/files/screen-4.0.3-cppflags.patch  |  20 -
 .../screen/files/screen-4.0.3-crosscompile.patch   | 598 ---------------------
 .../files/screen-4.0.3-setenv_autoconf.patch       |  79 ---
 app-misc/screen/screen-4.0.3-r6.ebuild             | 163 ------
 app-misc/screen/screen-4.0.3-r7.ebuild             | 163 ------
 app-misc/screen/screen-4.0.3-r8.ebuild             | 173 ------
 app-misc/screen/screen-4.2.1-r2.ebuild             | 146 -----
 app-misc/screen/screen-4.3.1.ebuild                | 146 -----
 19 files changed, 1831 deletions(-)

diff --git a/app-misc/screen/Manifest b/app-misc/screen/Manifest
index fa65084..9153fdb 100644
--- a/app-misc/screen/Manifest
+++ b/app-misc/screen/Manifest
@@ -1,3 +1 @@
-DIST screen-4.0.3.tar.gz 840602 SHA256 78f0d5b1496084a5902586304d4a73954b2bfe33ea13edceecf21615c39e6c77 SHA512 24c1f598972f3dc9ed49cd2c05852190a0190d22fa01401eee8484627c8dd2815f0a422d9b2697faa8aaa0b3efc6730a94e2d5aa787dbe5e9ec719143176c338 WHIRLPOOL 6774786126eb05749d432593bc2c1febdc57896959220a609feb138bdc16b8da278aea63af1ccfd5c7d38ccaa9e7d28980e9e14d0009d36a54cdbd9e4cb0fca7
-DIST screen-4.2.1.tar.gz 1062485 SHA256 5468545047e301d2b3579f9d9ce00466d14a7eec95ce806e3834a3d6b0b9b080 SHA512 30826b2a2fc436483276b90cc4c6679470f7ccb7098c9bb8457d0e534998cd12da02882cf80678465f6540cade170c3fdc6bdfa31b07359ff0d3ffe2d6063710 WHIRLPOOL 7d4209651a016a9ab91aec385532c6ebd7a6d96a60342721f3a53752924c3fb72aa3d648ad665b67fab0a78d6019396abe13e04f556c7e5e9f71bf3238e64cc5
 DIST screen-4.3.1.tar.gz 845958 SHA256 fa4049f8aee283de62e283d427f2cfd35d6c369b40f7f45f947dbfd915699d63 SHA512 8e8a25b23330a7d8e00fc9e6cc430f0eb3937ccf4183efbd6fd24e4dc04cc09b3acae45bfc24892faee433b18fa79b1cfe0211fd75c0d74ecf908f916bf774aa WHIRLPOOL b47f7538351028cc3a2ec7f69a9373e152fa7655c6ae9feb75ba46db3cdc9b7d58ce78043993b7f134da3a04754c5e52d1a77da4c30a8decda21c79cf5c50f51

diff --git a/app-misc/screen/files/4.0.2-64bit-time.patch b/app-misc/screen/files/4.0.2-64bit-time.patch
deleted file mode 100644
index 645b37f..0000000
--- a/app-misc/screen/files/4.0.2-64bit-time.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- utmp.c.orig 2004-11-14 23:15:28.000000000 +0100
-+++ utmp.c      2004-11-14 23:15:39.000000000 +0100
-@@ -618,7 +618,7 @@
- #endif /* sgi */
-   strncpy(u->ut_line, line, sizeof(u->ut_line));
-   u->ut_pid = pid;
--  (void)time((time_t *)&u->ut_time);
-+  u->ut_time = time(NULL);
- }
- 
- static slot_t

diff --git a/app-misc/screen/files/4.0.2-no-libelf.patch b/app-misc/screen/files/4.0.2-no-libelf.patch
deleted file mode 100644
index df06383..0000000
--- a/app-misc/screen/files/4.0.2-no-libelf.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- screen-4.0.2/configure.in	2005-05-22 19:55:06.559874997 +0000
-+++ screen-4.0.2-no-libelf/configure.in	2005-05-22 19:56:05.895801017 +0000
-@@ -195,15 +195,6 @@
- #endif
- ], LIBS="$LIBS -lsocket -linet";seqptx=1)
- 
--oldlibs="$LIBS"
--LIBS="$LIBS -lelf"
--AC_CHECKING(SVR4)
--AC_TRY_LINK([#include <utmpx.h>
--],,
--[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN),
--[AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN))])]
--,LIBS="$oldlibs")
--
- AC_CHECKING(for Solaris 2.x)
- AC_EGREP_CPP(yes,
- [#if defined(SVR4) && defined(sun)

diff --git a/app-misc/screen/files/4.0.2-no-pty.patch b/app-misc/screen/files/4.0.2-no-pty.patch
deleted file mode 100644
index 7b7b798..0000000
--- a/app-misc/screen/files/4.0.2-no-pty.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- screen-4.0.2/pty.c.orig	2004-07-29 23:53:45.313533536 -0400
-+++ screen-4.0.2/pty.c	2004-07-29 23:53:59.011451136 -0400
-@@ -33,11 +33,6 @@
- # include <sys/ioctl.h>
- #endif
- 
--/* for solaris 2.1, Unixware (SVR4.2) and possibly others */
--#ifdef HAVE_SVR4_PTYS
--# include <sys/stropts.h>
--#endif
--
- #if defined(sun) && defined(LOCKPTY) && !defined(TIOCEXCL)
- # include <sys/ttold.h>
- #endif

diff --git a/app-misc/screen/files/4.0.2-no-utempter.patch b/app-misc/screen/files/4.0.2-no-utempter.patch
deleted file mode 100644
index 2a06119..0000000
--- a/app-misc/screen/files/4.0.2-no-utempter.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- screen-4.0.2/configure.in.orig	2004-12-17 19:55:45.314670411 +0100
-+++ screen-4.0.2/configure.in	2004-12-17 19:55:50.575941541 +0100
-@@ -855,11 +855,6 @@
- #include <utmp.h>
- #endif
- ],[struct utmp u; u.ut_host[0] = 0;], AC_DEFINE(UTHOST))
--AC_CHECK_HEADER(utempter.h, have_utempter=yes, have_utempter=no)
--if test "$have_utempter" = yes; then
--  AC_DEFINE(HAVE_UTEMPTER)
--  LIBS="$LIBS -lutempter"
--fi
- 
- dnl
- dnl    ****  loadav  ****

diff --git a/app-misc/screen/files/4.0.2-nonblock.patch b/app-misc/screen/files/4.0.2-nonblock.patch
deleted file mode 100644
index f27c903..0000000
--- a/app-misc/screen/files/4.0.2-nonblock.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- screen.c.orig	2006-04-02 17:05:28.000000000 +0200
-+++ screen.c	2006-04-02 17:05:39.000000000 +0200
-@@ -1197,7 +1197,7 @@ char **av;
-   if (!detached)
-     {
-       /* reopen tty. must do this, because fd 0 may be RDONLY */
--      if ((n = secopen(attach_tty, O_RDWR, 0)) < 0)
-+      if ((n = secopen(attach_tty, O_RDWR | O_NONBLOCK, 0)) < 0)
- 	Panic(0, "Cannot reopen '%s' - please check.", attach_tty);
-     }
-   else

diff --git a/app-misc/screen/files/4.0.2-windowlist-multiuser-fix.patch b/app-misc/screen/files/4.0.2-windowlist-multiuser-fix.patch
deleted file mode 100644
index 09848e9..0000000
--- a/app-misc/screen/files/4.0.2-windowlist-multiuser-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur screen-4.0.2.orig/process.c screen-4.0.2/process.c
---- screen-4.0.2.orig/process.c	2003-09-18 14:53:54.000000000 +0200
-+++ screen-4.0.2/process.c	2005-07-06 19:55:08.370772955 +0200
-@@ -4841,7 +4841,7 @@
-   s = buf;
-   for (display = displays; display; display = display->d_next)
-     {
--      if (D_user == olddisplay->d_user)
-+      if (olddisplay && D_user == olddisplay->d_user)
- 	continue;
-       for (cv = D_cvlist; cv; cv = cv->c_next)
- 	if (Layer2Window(cv->c_layer) == p)

diff --git a/app-misc/screen/files/4.0.3-extend-d_termname-ng2.patch b/app-misc/screen/files/4.0.3-extend-d_termname-ng2.patch
deleted file mode 100644
index 21b1108..0000000
--- a/app-misc/screen/files/4.0.3-extend-d_termname-ng2.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-diff --git a/acls.c b/acls.c
-index 0f98df2..5f26d70 100644
---- a/acls.c
-+++ b/acls.c
-@@ -178,7 +178,7 @@ struct acluser **up;
- #endif
-   (*up)->u_Esc = DefaultEsc;
-   (*up)->u_MetaEsc = DefaultMetaEsc;
--  strncpy((*up)->u_name, name, 20);
-+  strncpy((*up)->u_name, name, MAXSTR);
-   (*up)->u_password = NULL;
-   if (pass)
-     (*up)->u_password = SaveStr(pass);
-@@ -314,8 +314,8 @@ struct acluser **up;
-     return UserAdd(name, pass, up);
-   if (!strcmp(name, "nobody"))		/* he remains without password */
-     return -1;
--  strncpy((*up)->u_password, pass ? pass : "", 20);
--  (*up)->u_password[20] = '\0';
-+  strncpy((*up)->u_password, pass ? pass : "", MAXSTR);
-+  (*up)->u_password[MAXSTR] = '\0';
-   return 0;
- }
- #endif
-diff --git a/acls.h b/acls.h
-index c41b714..7f20f55 100644
---- a/acls.h
-+++ b/acls.h
-@@ -36,6 +36,16 @@
- #define ACLBYTE(data, w)   ((data)[(w) >> 3])
- #define ACLBIT(w)   (0x80 >> ((w) & 7))
- 
-+#include <limits.h>
-+
-+#ifndef NAME_MAX
-+# ifndef MAXNAMELEN
-+#  define NAME_MAX 255
-+# else
-+#  define NAME_MAX MAXNAMELEN
-+# endif
-+#endif
-+
- typedef unsigned char * AclBits;
- 
- /*
-@@ -73,7 +83,7 @@ struct plop
- typedef struct acluser
- {
-   struct acluser *u_next;		/* continue the main user list */
--  char u_name[20+1];		/* login name how he showed up */
-+  char u_name[NAME_MAX+1];		/* login name how he showed up */
-   char *u_password;		/* his password (may be NullStr). */
-   int  u_checkpassword;		/* nonzero if this u_password is valid */
-   int  u_detachwin;		/* the window where he last detached */
-diff --git a/display.h b/display.h
-index ef99954..563fcd0 100644
---- a/display.h
-+++ b/display.h
-@@ -22,6 +22,16 @@
-  * $Id: display.h,v 1.9 1994/05/31 12:31:54 mlschroe Exp $ FAU
-  */
- 
-+#include <limits.h>
-+
-+#ifndef NAME_MAX
-+# ifndef MAXNAMELEN
-+#  define NAME_MAX 255
-+# else
-+#  define NAME_MAX MAXNAMELEN
-+# endif
-+#endif
-+
- #ifdef MAPKEYS
- 
- #define KMAP_KEYS (T_OCAPS-T_CAPS)
-@@ -85,7 +95,7 @@ struct display
-   struct win *d_other;		/* pointer to other window */
-   int   d_nonblock;		/* -1 don't block if obufmax reached */
- 				/* >0: block after nonblock secs */
--  char  d_termname[20 + 1];	/* $TERM */
-+  char  d_termname[NAME_MAX + 1]; /* $TERM */
-   char	*d_tentry;		/* buffer for tgetstr */
-   char	d_tcinited;		/* termcap inited flag */
-   int	d_width, d_height;	/* width/height of the screen */
-diff --git a/screen.c b/screen.c
-index 70741df..6f45b60 100644
---- a/screen.c
-+++ b/screen.c
-@@ -106,6 +106,16 @@ FILE *dfp;
- #endif
- 
- 
-+#include <limits.h>
-+
-+#ifndef NAME_MAX
-+# ifndef MAXNAMELEN
-+#  define NAME_MAX 255
-+# else
-+#  define NAME_MAX MAXNAMELEN
-+# endif
-+#endif
-+
- extern char Term[], screenterm[], **environ, Termcap[];
- int force_vt = 1;
- int VBellWait, MsgWait, MsgMinWait, SilenceWait;
-@@ -877,13 +887,13 @@ char **av;
- 
-   if (home == 0 || *home == '\0')
-     home = ppp->pw_dir;
--  if (strlen(LoginName) > 20)
-+  if (strlen(LoginName) > NAME_MAX)
-     Panic(0, "LoginName too long - sorry.");
- #ifdef MULTIUSER
--  if (multi && strlen(multi) > 20)
-+  if (multi && strlen(multi) > NAME_MAX)
-     Panic(0, "Screen owner name too long - sorry.");
- #endif
--  if (strlen(home) > MAXPATHLEN - 25)
-+  if (strlen(home) > MAXPATHLEN - NAME_MAX)
-     Panic(0, "$HOME too long - sorry.");
- 
-   attach_tty = "";
-diff --git a/screen.h b/screen.h
-index 4f9f354..bcaaaf6 100644
---- a/screen.h
-+++ b/screen.h
-@@ -43,6 +43,15 @@
- #include "comm.h"
- #include "layer.h"
- #include "term.h"
-+#include <limits.h>
-+
-+#ifndef NAME_MAX
-+# ifndef MAXNAMELEN
-+#  define NAME_MAX 255
-+# else
-+#  define NAME_MAX MAXNAMELEN
-+# endif
-+#endif
- 
- 
- #ifdef DEBUG
-@@ -195,26 +204,26 @@ struct msg
-       create;
-       struct
- 	{
--	  char auser[20 + 1];	/* username */
-+	  char auser[NAME_MAX + 1];	/* username */
- 	  int apid;		/* pid of frontend */
- 	  int adaptflag;	/* adapt window size? */
- 	  int lines, columns;	/* display size */
- 	  char preselect[20];
- 	  int esc;		/* his new escape character unless -1 */
- 	  int meta_esc;		/* his new meta esc character unless -1 */
--	  char envterm[20 + 1];	/* terminal type */
-+	  char envterm[NAME_MAX + 1];	/* terminal type */
- 	  int encoding;		/* encoding of display */
- 	}
-       attach;
-       struct 
- 	{
--	  char duser[20 + 1];	/* username */
-+	  char duser[NAME_MAX + 1];	/* username */
- 	  int dpid;		/* pid of frontend */
- 	}
-       detach;
-       struct 
- 	{
--	  char auser[20 + 1];	/* username */
-+	  char auser[NAME_MAX + 1];	/* username */
- 	  int nargs;
- 	  char cmd[MAXPATHLEN];	/* command */
- 	  int apid;		/* pid of frontend */
-diff --git a/socket.c b/socket.c
-index 62a73af..1cc9c27 100644
---- a/socket.c
-+++ b/socket.c
-@@ -45,6 +45,16 @@
- 
- #include "extern.h"
- 
-+#include <limits.h>
-+
-+#ifndef NAME_MAX
-+# ifndef MAXNAMELEN
-+#  define NAME_MAX 255
-+# else
-+#  define NAME_MAX MAXNAMELEN
-+# endif
-+#endif
-+
- static int   CheckPid __P((int));
- static void  ExecCreate __P((struct msg *));
- static void  DoCommandMsg __P((struct msg *));
-@@ -1248,7 +1258,7 @@ static void PasswordProcessInput __P((char *, int));
- 
- struct pwdata {
-   int l;
--  char buf[20 + 1];
-+  char buf[NAME_MAX + 1];
-   struct msg m;
- };
- 

diff --git a/app-misc/screen/files/screen-4.0.1-int-overflow-fix.patch b/app-misc/screen/files/screen-4.0.1-int-overflow-fix.patch
deleted file mode 100644
index 4a40c8d..0000000
--- a/app-misc/screen/files/screen-4.0.1-int-overflow-fix.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- ansi.c.orig	2003-09-08 10:24:44.000000000 -0400
-+++ ansi.c	2003-11-29 10:41:15.000000000 -0500
-@@ -559,7 +559,7 @@
- 	    {
- 	    case '0': case '1': case '2': case '3': case '4':
- 	    case '5': case '6': case '7': case '8': case '9':
--	      if (curr->w_NumArgs < MAXARGS)
-+	      if (curr->w_NumArgs >= 0 && curr->w_NumArgs < MAXARGS)
- 		{
- 		  if (curr->w_args[curr->w_NumArgs] < 100000000)
- 		    curr->w_args[curr->w_NumArgs] =
---- resize.c.orig	2003-09-08 10:26:31.000000000 -0400
-+++ resize.c	2003-11-29 10:41:50.000000000 -0500
-@@ -682,6 +682,17 @@
-   if (wi == 0)
-     he = hi = 0;
- 
-+  if (wi > 1000)
-+    {
-+      Msg(0, "Window width too large, truncated");
-+      wi = 1000;
-+    }
-+  if (he > 1000)
-+    {
-+      Msg(0, "Window height too large, truncated");
-+      he = 1000;
-+    }
-+
-   if (p->w_width == wi && p->w_height == he && p->w_histheight == hi)
-     {
-       debug("ChangeWindowSize: No change.\n");

diff --git a/app-misc/screen/files/screen-4.0.1-vsprintf.patch b/app-misc/screen/files/screen-4.0.1-vsprintf.patch
deleted file mode 100644
index b2f7a20..0000000
--- a/app-misc/screen/files/screen-4.0.1-vsprintf.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- screen-4.0.1/configure.in	2003-06-03 07:58:24.000000000 -0400
-+++ screen-4.0.1/configure.in.agriffis	2004-01-13 12:07:37.000000000 -0500
-@@ -1206,7 +1206,9 @@
- rm -f /tmp/conftest*
- 
- AC_MSG_CHECKING(for vsprintf)
--AC_TRY_LINK(,[vsprintf(0,0,0);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no))
-+AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);],
-+	[AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS)],
-+	[AC_MSG_RESULT(no)])
- 
- AC_HEADER_DIRENT
- 

diff --git a/app-misc/screen/files/screen-4.0.3-config.h-autoconf-2.62.patch b/app-misc/screen/files/screen-4.0.3-config.h-autoconf-2.62.patch
deleted file mode 100644
index 5605fda..0000000
--- a/app-misc/screen/files/screen-4.0.3-config.h-autoconf-2.62.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-compability for sys-devel/autoconf-2.62
-
-https://bugs.gentoo.org/show_bug.cgi?id=217311
-
---- screen/config.h.in
-+++ screen/config.h.in
-@@ -563,7 +563,6 @@
-  * If you are on a SYS V machine that restricts filename length to 14 
-  * characters, you may need to enforce that by setting NAME_MAX to 14
-  */
--#undef NAME_MAX		/* KEEP_UNDEF_HERE override system value */
- #undef NAME_MAX
- 
- /*

diff --git a/app-misc/screen/files/screen-4.0.3-cppflags.patch b/app-misc/screen/files/screen-4.0.3-cppflags.patch
deleted file mode 100644
index ee3455f..0000000
--- a/app-misc/screen/files/screen-4.0.3-cppflags.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- screen-4.0.3/Makefile.in
-+++ screen-4.0.3/Makefile.in
-@@ -68,7 +68,7 @@
- 	$(CC) $(LDFLAGS) -o $@ $(OFILES) $(LIBS)
- 
- .c.o:
--	$(CC) -c -I. -I$(srcdir) $(M_CFLAGS) $(DEFS) $(OPTIONS) $(CFLAGS) $<
-+	$(CC) -c -I. -I$(srcdir) $(M_CFLAGS) $(DEFS) $(OPTIONS) $(CPPFLAGS) $(CFLAGS) $<
- 
- install_bin: .version screen
- 	-if [ -f $(DESTDIR)$(bindir)/$(SCREEN) ] && [ ! -f $(DESTDIR)$(bindir)/$(SCREEN).old ]; \
-@@ -122,7 +122,7 @@
- 	sh $(srcdir)/tty.sh tty.c
- 
- comm.h: comm.c comm.sh config.h
--	AWK=$(AWK) CC="$(CC) $(CFLAGS)" srcdir=${srcdir} sh $(srcdir)/comm.sh
-+	AWK=$(AWK) CC="$(CC) $(CFLAGS) $(CPPFLAGS)" srcdir=${srcdir} sh $(srcdir)/comm.sh
- 
- osdef.h: osdef.sh config.h osdef.h.in
- 	CPP="$(CPP) $(CPPFLAGS)" srcdir=${srcdir} sh $(srcdir)/osdef.sh

diff --git a/app-misc/screen/files/screen-4.0.3-crosscompile.patch b/app-misc/screen/files/screen-4.0.3-crosscompile.patch
deleted file mode 100644
index 6e6bb94..0000000
--- a/app-misc/screen/files/screen-4.0.3-crosscompile.patch
+++ /dev/null
@@ -1,598 +0,0 @@
---- configure.in~	2008-11-23 17:43:48.000000000 +0000
-+++ configure.in	2008-11-23 17:43:48.000000000 +0000
-@@ -46,6 +46,7 @@
- AC_PROG_GCC_TRADITIONAL
- AC_ISC_POSIX
- 
-+AC_MSG_CHECKING([for compiler sanity])
- AC_TRY_RUN(main(){exit(0);},,[
- if test $CC != cc ; then
- AC_NOTE(Your $CC failed - restarting with CC=cc)
-@@ -54,22 +55,17 @@
- export CC
- exec $0 $configure_args
- fi
--])
--
--AC_TRY_RUN(main(){exit(0);},,
--exec 5>&2
--eval $ac_link
--AC_NOTE(CC=$CC; CFLAGS=$CFLAGS; LIBS=$LIBS;)
--AC_NOTE($ac_compile)
--AC_MSG_ERROR(Can't run the compiler - sorry))
-+],AC_MSG_WARN([skipping test due to crosscompilation]))
- 
-+AC_MSG_CHECKING([if compiler sets exit status])
- AC_TRY_RUN([
- main()
- {
-   int __something_strange_();
-   __something_strange_(0);
- }
--],AC_MSG_ERROR(Your compiler does not set the exit status - sorry))
-+],AC_MSG_ERROR(Your compiler does not set the exit status - sorry),,
-+AC_MSG_WARN(skipping test due to crosscompilation))
- 
- AC_PROG_AWK
- 
-@@ -103,6 +99,7 @@
- dnl
- dnl    ****  special unix variants  ****
- dnl
-+AH_TEMPLATE(ISC,[])
- if test -n "$ISC"; then
-   AC_DEFINE(ISC) LIBS="$LIBS -linet"
- fi
-@@ -114,11 +111,13 @@
- dnl fi
- dnl fi
- 
-+AH_TEMPLATE([sysV68],[])
- if test -f /sysV68 ; then
- AC_DEFINE(sysV68)
- fi
- 
- AC_CHECKING(for MIPS)
-+AH_TEMPLATE([MIPS],[])
- if test -f /lib/libmld.a || test -f /usr/lib/libmld.a || test -f /usr/lib/cmplrs/cc/libmld.a; then
- oldlibs="$LIBS"
- test -f /bin/mx || LIBS="$LIBS -lmld" # for nlist. But not on alpha.
-@@ -132,6 +131,8 @@
- AC_CHECKING(wait3)
- AC_TRY_LINK(,[wait3();], ,
- AC_CHECKING(wait2)
-+AH_TEMPLATE([USE_WAIT2],[On RISCOS we prefer wait2() over wait3(). rouilj@sni-usa.com])
-+dnl TODO(Hannes) shipped config.h.in wraps the define in #ifdef BSDWAIT
- AC_TRY_LINK(,[wait2();],
- dnl John Rouillard (rouilj@sni-usa.com):
- dnl need -I/usr/include/bsd in RISCOS otherwise sockets are broken, no
-@@ -154,9 +155,11 @@
- oldlibs="$LIBS"
- LIBS="$LIBS -lpyr"
- AC_CHECKING(Pyramid OSX)
-+AH_TEMPLATE([OSX], [Pyramid OSX])
- AC_TRY_LINK(,[open_controlling_pty("")], AC_DEFINE(OSX), LIBS="$oldlibs")
- fi
- 
-+AH_TEMPLATE([POSIX],[Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).])
- dnl ghazi@caip.rutgers.edu (Kaveh R. Ghazi):
- dnl BBN butterfly is not POSIX, but a MACH BSD system.
- dnl Do not define POSIX and TERMIO.
-@@ -183,6 +186,7 @@
- fi
- 
- AC_CHECKING(for System V)
-+AH_TEMPLATE([SYSV], [Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)])
- AC_TRY_COMPILE(
- [#include <sys/types.h>
- #include <signal.h>
-@@ -226,6 +230,9 @@
- dnl
- 
- AC_CHECKING(BSD job jontrol)
-+AH_TEMPLATE([BSDJOBS],
-+[Define BSDJOBS if you have BSD-style job control (both process
-+ groups and a tty that deals correctly with them)])
- AC_TRY_LINK(
- [#include <sys/types.h>
- #include <sys/ioctl.h>
-@@ -246,6 +253,10 @@
- dnl    ****  setreuid(), seteuid()  ****
- dnl
- AC_CHECKING(setreuid)
-+AH_TEMPLATE([HAVE_SETREUID],
-+[If your system has the calls setreuid() and setregid(),
-+ define HAVE_SETREUID. Otherwise screen will use a forked process to
-+ safely create output files without retaining any special privileges.])
- AC_TRY_LINK(,[
- #ifdef __hpux
- setresuid(0, 0, 0);
-@@ -260,6 +271,9 @@
- dnl   Solaris seteuid doesn't change the saved uid, bad for
- dnl     multiuser screen sessions
- AC_CHECKING(seteuid)
-+AH_TEMPLATE([HAVE_SETEUID],
-+[If your system supports BSD4.4's seteuid() and setegid(), define
-+ HAVE_SETEUID.])
- AC_TRY_LINK(,[
- #if defined(linux) || defined(NeXT) || defined(_AUX_SOURCE) || defined(AUX) || defined(ultrix) || (defined(sun) && defined(SVR4)) || defined(ISC) || defined(sony_news)
- seteuid_is_broken(0);
-@@ -284,6 +298,8 @@
- dnl
- 
- AC_CHECKING(fifos)
-+AC_CACHE_CHECK([usable fifos],
-+               [screen_cv_sys_fifo_usable],
- AC_TRY_RUN([
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -348,12 +364,15 @@
-     exit(1);
-   exit(0);
- }
--], AC_NOTE(- your fifos are usable) fifo=1,
--AC_NOTE(- your fifos are not usable))
-+], screen_cv_sys_fifo_usable=yes, screen_cv_sys_fifo_usable=no))
- rm -f /tmp/conftest*
- 
--if test -n "$fifo"; then
--AC_CHECKING(for broken fifo implementation)
-+if test X"$screen_cv_sys_fifo_usable" = Xyes; then
-+AH_TEMPLATE([BROKEN_PIPE],
-+[Define this if your system exits select() immediatly if a pipe is
-+ opened read-only and no writer has opened it.])
-+AC_CACHE_CHECK([broken fifo implementation],
-+              [screen_cv_sys_fifo_broken_impl],
- AC_TRY_RUN([
- #include <sys/types.h>
- #include <fcntl.h>
-@@ -398,9 +416,12 @@
-     exit(1);
-   exit(0);
- }
--], AC_NOTE(- your implementation is ok), 
--AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1)
-+], screen_cv_sys_fifo_broken_impl=no,
-+screen_cv_sys_fifo_broken_impl=yes))
-+if test X"$screen_cv_sys_fifo_broken_impl" = Xyes; then
-+       AC_DEFINE(BROKEN_PIPE)
-+fi
- rm -f /tmp/conftest*
- fi
- 
- dnl
-@@ -410,6 +430,8 @@
- dnl
- 
- AC_CHECKING(sockets)
-+AC_CACHE_CHECK([sockets are usable],
-+              [screen_cv_sys_sockets_usable],
- AC_TRY_RUN([
- #include <sys/types.h>
- #include <sys/socket.h>
-@@ -460,12 +482,16 @@
-     exit(1);
-   exit(0);
- }
--], AC_NOTE(- your sockets are usable) sock=1,
--AC_NOTE(- your sockets are not usable))
--rm -f /tmp/conftest*
-+], screen_cv_sys_sockets_usable=yes,
-+screen_cv_sys_sockets_usable=no))
- 
--if test -n "$sock"; then
-+if test X"$screen_cv_sys_sockets_usable" = Xyes; then
- AC_CHECKING(socket implementation)
-+AH_TEMPLATE([SOCK_NOT_IN_FS],
-+[Define this if the unix-domain socket implementation doesn't
-+ create a socket in the filesystem.])
-+AC_CACHE_CHECK([if sockets are not stored in the filesystem],
-+              [screen_cv_sys_sockets_nofs],
- AC_TRY_RUN([
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -491,22 +517,25 @@
-   close(s);
-   exit(0);
- }
--],AC_NOTE(- you are normal),
--AC_NOTE(- unix domain sockets are not kept in the filesystem)
--AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1)
--rm -f /tmp/conftest*
-+], screen_cv_sys_sockets_nofs=no,
-+screen_cv_sys_sockets_nofs=yes))
-+
-+if test X"$screen_cv_sys_sockets_nofs" = Xyes; then
-+  AC_DEFINE(SOCK_NOT_IN_FS)
-+fi
- fi
- 
- 
- dnl
- dnl    ****  choose sockets or fifos  ****
- dnl
--if test -n "$fifo"; then
--  if test -n "$sock"; then
--    if test -n "$nore"; then
-+AH_TEMPLATE([NAMEDPIPE], [Define this if your system supports named pipes.])
-+if test X"$screen_cv_sys_fifo_usable" = Xyes; then
-+  if test X"$screen_cv_sys_sockets_usable" = Xyes; then
-+    if test X"$screen_cv_sys_sockets_nofs" = Xyes; then
-       AC_NOTE(- hmmm... better take the fifos)
-       AC_DEFINE(NAMEDPIPE)
--    elif test -n "$fifobr"; then
-+    elif test X"$screen_cv_sys_fifo_broken_impl" = Xyes; then
-       AC_NOTE(- as your fifos are broken lets use the sockets.)
-     else
-       AC_NOTE(- both sockets and fifos usable. let's take fifos.)
-@@ -516,7 +545,7 @@
-     AC_NOTE(- using named pipes, of course)
-     AC_DEFINE(NAMEDPIPE)
-   fi
--elif test -n "$sock"; then
-+elif test X"$screen_cv_sys_sockets_usable" = Xyes; then
-   AC_NOTE(- using unix-domain sockets, of course)
- else
-   AC_MSG_ERROR(you have neither usable sockets nor usable pipes -> no screen)
-@@ -526,7 +555,11 @@
- dnl    ****  check the select implementation ****
- dnl
- 
--AC_CHECKING(select return value)
-+AH_TEMPLATE([SELECT_BROKEN],
-+[If the select return value doesn't treat a descriptor that is
-+ usable for reading and writing as two hits, define SELECT_BROKEN.])
-+AC_CACHE_CHECK([for broken select return value],
-+              [screen_cv_sys_select_broken_retval],
- AC_TRY_RUN([
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -625,17 +658,26 @@
-     exit(1);
-   exit(0);
- }
--],AC_NOTE(- select is ok),
--AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN))
-+], screen_cv_sys_select_broken_retval=no,
-+screen_cv_sys_select_broken_retval=yes))
-+if test X"$screen_cv_sys_select_broken_retval" = Xyes; then
-+  AC_DEFINE(SELECT_BROKEN)
-+fi
- 
- dnl
- dnl    ****  termcap or terminfo  ****
- dnl
-+AH_TEMPLATE([TERMINFO],
-+[Define TERMINFO if your machine emulates the termcap routines
-+ with the terminfo database.
-+ Thus the .screenrc file is parsed for
-+ the command 'terminfo' and not 'termcap'])
-+
- AC_CHECKING(for tgetent)
- AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
- olibs="$LIBS"
--LIBS="-lcurses $olibs"
- AC_CHECKING(libcurses)
-+AC_CHECK_LIB(ncursesw,tgetent)
- AC_TRY_LINK(,[
- #ifdef __hpux
- __sorry_hpux_libcurses_is_totally_broken_in_10_10();
-@@ -654,24 +696,39 @@
- AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
- AC_MSG_ERROR(!!! no tgetent - no screen))))))
- 
--AC_TRY_RUN([
-+AC_CACHE_CHECK([using terminfo database],[screen_cv_sys_terminfo_used],
-+       AC_TRY_RUN([
- main()
- {
-  exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1);
--}], AC_NOTE(- you use the termcap database),
--AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO))
-+}
-+       ], screen_cv_sys_terminfo_used=no,
-+       screen_cv_sys_terminfo_used=yes)
-+)
-+
-+if test X"$screen_cv_sys_terminfo_used" = Xyes; then
-+       AC_DEFINE(TERMINFO)
-+fi
-+
- AC_CHECKING(ospeed)
-+AH_TEMPLATE([NEED_OSPEED],[If your library does not define ospeed, define this.])
- AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED))
- 
- dnl
- dnl    ****  PTY specific things  ****
- dnl
-+AH_TEMPLATE([HAVE_DEV_PTC],
-+[define HAVE_DEV_PTC if you have a /dev/ptc character special
-+ device.])
- AC_CHECKING(for /dev/ptc)
- if test -r /dev/ptc; then
- AC_DEFINE(HAVE_DEV_PTC)
- fi
- 
- AC_CHECKING(for SVR4 ptys)
-+AH_TEMPLATE([HAVE_SVR4_PTYS],
-+[define HAVE_SVR4_PTYS if you have a /dev/ptmx character special
-+ device and support the ptsname(), grantpt(), unlockpt() functions.])
- sysvr4ptys=
- if test -c /dev/ptmx ; then
- AC_TRY_LINK([],[ptsname(0);grantpt(0);unlockpt(0);],[AC_DEFINE(HAVE_SVR4_PTYS)
-@@ -687,6 +744,13 @@
- fi
- 
- AC_CHECKING(for ptyranges)
-+AH_TEMPLATE([PTYRANGE0],
-+[define PTYRANGE0 and or PTYRANGE1 if you want to adapt screen
-+ to unusual environments. E.g. For SunOs the defaults are "qpr" and
-+ "0123456789abcdef". For SunOs 4.1.2
-+ #define PTYRANGE0 "pqrstuvwxyzPQRST"
-+ is recommended by Dan Jacobson.])
-+AH_TEMPLATE([PTYRANGE1],[])
- if test -d /dev/ptym ; then
- pdir='/dev/ptym'
- else
-@@ -850,20 +914,39 @@
- dnl
- dnl    ****  loadav  ****
- dnl
-+
-+AH_TEMPLATE([LOADAV],
-+[If you want the "time" command to display the current load average
-+ define LOADAV. Maybe you must install screen with the needed
-+ privileges to read /dev/kmem.
-+ Note that NLIST_ stuff is only checked, when getloadavg() is not available.
-+])
-+AH_TEMPLATE([LOADAV_NUM])
-+AH_TEMPLATE([LOADAV_TYPE])
-+AH_TEMPLATE([LOADAV_SCALE])
-+AH_TEMPLATE([LOADAV_GETLOADAVG])
-+AH_TEMPLATE([LOADAV_UNIX])
-+AH_TEMPLATE([LOADAV_AVENRUN])
-+AH_TEMPLATE([LOADAV_USE_NLIST64])
-+
-+AH_TEMPLATE([NLIST_DECLARED])
-+AH_TEMPLATE([NLIST_STRUCT])
-+AH_TEMPLATE([NLIST_NAME_UNION])
-+
- AC_CHECKING(for libutil(s))
--test -f /usr/lib/libutils.a && LIBS="$LIBS -lutils"
--test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil"
-+dnl I have no idea whether "login" is an appropriate symbol to check for here - Hannes
-+AC_CHECK_LIB(utils,login)
-+AC_CHECK_LIB(util,login)
- 
- AC_CHECKING(getloadavg)
- AC_TRY_LINK(,[getloadavg((double *)0, 0);],
- AC_DEFINE(LOADAV_GETLOADAVG) load=1,
--if test -f /usr/lib/libkvm.a ; then
- olibs="$LIBS"
--LIBS="$LIBS -lkvm"
-+AC_CHECK_LIB(kvm,kvm_open,
- AC_CHECKING(getloadavg with -lkvm)
- AC_TRY_LINK(,[getloadavg((double *)0, 0);],
- AC_DEFINE(LOADAV_GETLOADAVG) load=1, LIBS="$olibs")
--fi
-+)
- )
- 
- if test -z "$load" ; then
-@@ -1005,6 +1088,11 @@
- dnl
- dnl    ****  signal handling  ****
- dnl
-+
-+AH_TEMPLATE([SIGVOID],
-+[Define SIGVOID if your signal handlers return void.  On older
-+ systems, signal returns int, but on newer ones, it returns void.])
-+
- if test -n "$posix" ; then
- 
- dnl POSIX has reliable signals with void return type.
-@@ -1014,6 +1102,7 @@
- else
- 
- AC_CHECKING(return type of signal handlers)
-+AH_TEMPLATE([USESIGSET], [Define USESIGSET if you have sigset for BSD 4.1 reliable signals.])
- AC_TRY_COMPILE(
- [#include <sys/types.h>
- #include <signal.h>
-@@ -1033,6 +1122,9 @@
- #endif
- ], AC_DEFINE(USESIGSET))
- AC_CHECKING(signal implementation)
-+AH_TEMPLATE([SYSVSIGS],
-+[Define SYSVSIGS if signal handlers must be reinstalled after
-+ they have been called.])
- AC_TRY_RUN([
- #include <sys/types.h>
- #include <signal.h>
-@@ -1075,13 +1167,14 @@
- dnl
- 
- AC_CHECKING(for crypt and sec libraries)
--test -f /lib/libcrypt_d.a || test -f /usr/lib/libcrypt_d.a && LIBS="$LIBS -lcrypt_d"
-+dnl I have no idea whether "crypt" is an appropriate symbol to check for here - Hannes
-+AC_CHECK_LIB(crypt_d,crypt)
- oldlibs="$LIBS"
--LIBS="$LIBS -lcrypt"
- AC_CHECKING(crypt)
- AC_TRY_LINK(,,,LIBS="$oldlibs")
--test -f /lib/libsec.a || test -f /usr/lib/libsec.a && LIBS="$LIBS -lsec"
--test -f /lib/libshadow.a || test -f /usr/lib/libshadow.a && LIBS="$LIBS -lshadow"
-+AC_CHECK_LIB(crypt,crypt)
-+AC_CHECK_LIB(sec,crypt)
-+AC_CHECK_LIB(shadow,getspnam)
- oldlibs="$LIBS"
- LIBS="$LIBS -lsun"
- AC_CHECKING(IRIX sun library)
-@@ -1104,6 +1197,13 @@
- dnl    ****  misc things  ****
- dnl
- AC_CHECKING(wait union)
-+AH_TEMPLATE([BSDWAIT],
-+[Define BSDWAIT if your system defines a 'union wait' in <sys/wait.h>
-+
-+ Only allow BSDWAIT i.e. wait3 on nonposix systems, since
-+ posix implies wait(3) and waitpid(3). vdlinden@fwi.uva.nl
-+ TODO(Hannes) shipped config.h.in does that with a #ifdef
-+])
- AC_TRY_COMPILE([#include <sys/types.h>
- #include <sys/wait.h>
- ],[
-@@ -1114,6 +1214,13 @@
- #endif
- ],AC_DEFINE(BSDWAIT))
- 
-+AH_TEMPLATE([TERMIO],
-+[Define TERMIO if you have struct termio instead of struct sgttyb.
-+ This is usually the case for SVID systems, where BSD uses sgttyb.
-+ POSIX systems should define this anyway, even though they use
-+ struct termios.])
-+
-+
- if test -z "$butterfly"; then
- AC_CHECKING(for termio or termios)
- AC_TRY_CPP([#include <termio.h>], AC_DEFINE(TERMIO),
-@@ -1123,17 +1230,35 @@
- )
- fi
- 
-+AH_TEMPLATE([CYTERMIO], [Define CYTERMIO if you have cyrillic termio modes.])
-+
- dnl AC_CHECK_HEADER(shadow.h, AC_DEFINE(SHADOWPW))
- AC_CHECKING(getspnam)
-+AH_TEMPLATE([SHADOWPW],
-+[If the passwords are stored in a shadow file and you want the
-+ builtin lock to work properly, define SHADOWPW.])
- AC_TRY_LINK([#include <shadow.h>], [getspnam("x");],AC_DEFINE(SHADOWPW))
- 
- AC_CHECKING(getttyent)
-+AH_TEMPLATE([GETTTYENT],
-+[If your system has the new format /etc/ttys (like 4.3 BSD) and the
-+ getttyent(3) library functions, define GETTTYENT.])
- AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT))
- 
- AC_CHECKING(fdwalk)
-+AH_TEMPLATE([HAVE_FDWALK],
-+[Newer versions of Solaris include fdwalk, which can greatly improve
-+ the startup time of screen; otherwise screen spends a lot of time
-+ closing file descriptors.])
- AC_TRY_LINK([#include <stdlib.h>], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK))
- 
--AC_CHECKING(whether memcpy/memmove/bcopy handles overlapping arguments)
-+AH_TEMPLATE([USEBCOPY],
-+[Define USEBCOPY if the bcopy/memcpy from your system's C library
-+ supports the overlapping of source and destination blocks.  When
-+ undefined, screen uses its own (probably slower) version of bcopy().])
-+
-+AC_CACHE_CHECK([if bcopy handles overlap],
-+              [screen_cv_sys_bcopy_overlap],
- AC_TRY_RUN([
- main() {
-   char buf[10];
-@@ -1146,7 +1271,21 @@
-   if (strncmp(buf, "cdedef", 6))
-     exit(1);
-   exit(0); /* libc version works properly.  */
--}], AC_DEFINE(USEBCOPY))
-+}], screen_cv_sys_bcopy_overlap=yes,
-+screen_cv_sys_bcopy_overlap=no))
-+if test X"$screen_cv_sys_bcopy_overlap" = Xyes; then
-+  AC_DEFINE(USEBCOPY)
-+fi
-+
-+AH_TEMPLATE([USEMEMMOVE],
-+[SYSV machines may have a working memcpy() -- Oh, this is
-+ quite unlikely. Tell me if you see one.
-+ "But then, memmove() should work, if at all available" he thought...
-+ Boing, never say "works everywhere" unless you checked SCO UNIX.
-+ Their memove fails the test in the configure script. Sigh. (Juergen)
-+])
-+AC_CACHE_CHECK([if memmove handles overlap],
-+              [screen_cv_sys_memmove_overlap],
- 
- AC_TRY_RUN([
- #define bcopy(s,d,l) memmove(d,s,l)
-@@ -1161,9 +1300,15 @@
-   if (strncmp(buf, "cdedef", 6))
-     exit(1);
-   exit(0); /* libc version works properly.  */
--}], AC_DEFINE(USEMEMMOVE))
--
-+}], screen_cv_sys_memmove_overlap=yes,
-+screen_cv_sys_memmove_overlap=no))
-+if test X"$screen_cv_sys_memmove_overlap" = Xyes; then
-+  AC_DEFINE(USEMEMMOVE)
-+fi
- 
-+AH_TEMPLATE([USEMEMCPY],[])
-+AC_CACHE_CHECK([if memcpy handles overlap],
-+              [screen_cv_sys_memcpy_overlap],
- AC_TRY_RUN([
- #define bcopy(s,d,l) memcpy(d,s,l)
- main() {
-@@ -1177,9 +1322,19 @@
-   if (strncmp(buf, "cdedef", 6))
-     exit(1);
-   exit(0); /* libc version works properly.  */
--}], AC_DEFINE(USEMEMCPY))
-+}], screen_cv_sys_memcpy_overlap=yes,
-+screen_cv_sys_memcpy_overlap=no))
-+if test X"$screen_cv_sys_memcpy_overlap" = Xyes; then
-+  AC_DEFINE(USEMEMCPY)
-+fi
- 
- AC_MSG_CHECKING(long file names)
-+AH_TEMPLATE([NAME_MAX],
-+[If you are on a SYS V machine that restricts filename length to 14
-+ characters, you may need to enforce that by setting NAME_MAX to 14])
-+dnl TODO(Hannes) shipped config.h.in has
-+dnl #undef NAME_MAX            /* KEEP_UNDEF_HERE override system value */
-+dnl ahead of this
- (echo 1 > /tmp/conftest9012345) 2>/dev/null
- (echo 2 > /tmp/conftest9012346) 2>/dev/null
- val=`cat /tmp/conftest9012345 2>/dev/null`
-@@ -1192,6 +1347,10 @@
- rm -f /tmp/conftest*
- 
- AC_MSG_CHECKING(for vsprintf)
-+AH_TEMPLATE([USEVARARGS],
-+[If your system has vsprintf() and requires the use of the macros in
-+ "varargs.h" to use functions with variable arguments,
-+ define USEVARARGS.])
- AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);],
- 	[AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS)],
- 	[AC_MSG_RESULT(no)])
-@@ -1199,12 +1358,19 @@
- AC_HEADER_DIRENT
- 
- AC_MSG_CHECKING(for setenv)
-+AH_TEMPLATE([USESETENV], [If your system has setenv() and unsetenv() define USESETENV])
- AC_TRY_LINK(,[setenv((char *)0,(char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes);AC_DEFINE(USESETENV),
- AC_MSG_RESULT(no)
- AC_MSG_CHECKING(for putenv)
-+AH_TEMPLATE([NEEDPUTENV],
-+[If your system does not come with a setenv()/putenv()/getenv()
-+ functions, you may bring in our own code by defining NEEDPUTENV.])
- AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) ,  AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV)
- ))
- AC_MSG_CHECKING([for nl_langinfo(CODESET)])
-+AH_TEMPLATE([HAVE_NL_LANGINFO],
-+[define HAVE_NL_LANGINFO if your system has the nl_langinfo() call
-+ and <langinfo.h> defines CODESET.])
- AC_TRY_LINK([
- #include <langinfo.h>
- ],[nl_langinfo(CODESET);], AC_MSG_RESULT(yes);AC_DEFINE(HAVE_NL_LANGINFO), AC_MSG_RESULT(no))
-@@ -1254,7 +1420,8 @@
- dnl Ptx bug workaround -- insert -lc after -ltermcap
- test -n "$seqptx" && LIBS="-ltermcap -lc -lsocket -linet -lnsl -lsec -lseq"
- 
--AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.))
-+AC_MSG_CHECKING(compiler sanity)
-+AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.), AC_MSG_WARN(Skipping test due to crosscompilation))
- 
- ETCSCREENRC="\"/usr/local/etc/screenrc\""
- if test -n "$prefix"; then

diff --git a/app-misc/screen/files/screen-4.0.3-setenv_autoconf.patch b/app-misc/screen/files/screen-4.0.3-setenv_autoconf.patch
deleted file mode 100644
index e47a15d..0000000
--- a/app-misc/screen/files/screen-4.0.3-setenv_autoconf.patch
+++ /dev/null
@@ -1,79 +0,0 @@
---- configure.in.DIST	2006-10-31 21:39:07.010473000 -0800
-+++ configure.in	2006-10-31 21:43:05.630162000 -0800
-@@ -1211,15 +1211,32 @@
- AC_HEADER_DIRENT
- 
- AC_MSG_CHECKING(for setenv)
--AH_TEMPLATE([USESETENV], [If your system has setenv() and unsetenv() define USESETENV])
--AC_TRY_LINK(,[setenv((char *)0,(char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes);AC_DEFINE(USESETENV),
--AC_MSG_RESULT(no)
--AC_MSG_CHECKING(for putenv)
--AH_TEMPLATE([NEEDPUTENV],
--[If your system does not come with a setenv()/putenv()/getenv()
-- functions, you may bring in our own code by defining NEEDPUTENV.])
--AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) ,  AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV)
--))
-+if test -z "$ac_setenv_args"; then
-+    AC_TRY_LINK(
-+    [#include <stdlib.h>],
-+    [
-+        setenv((char *) 0, (char *) 0, 0);
-+    ], ac_setenv_args=3)
-+fi
-+if test -z "$ac_setenv_args"; then
-+    AC_TRY_LINK(
-+    [#include <stdlib.h>],
-+    [
-+        setenv((char *) 0, (char *) 0);
-+    ], ac_setenv_args=2)
-+fi
-+if test -n "$ac_setenv_args"; then
-+    AC_DEFINE(USESETENV)
-+    if test "$ac_setenv_args" = 3; then
-+        AC_DEFINE(HAVE_SETENV_3)
-+    elif test "$ac_setenv_args" = 2; then
-+        AC_DEFINE(HAVE_SETENV_2)
-+    fi
-+else
-+    AC_MSG_RESULT(no)
-+    AC_MSG_CHECKING(for putenv)
-+    AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) ,  AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV))
-+fi
- AC_MSG_CHECKING([for nl_langinfo(CODESET)])
- AH_TEMPLATE([HAVE_NL_LANGINFO],
- [define HAVE_NL_LANGINFO if your system has the nl_langinfo() call
---- config.h.in.DIST	2006-10-31 21:43:23.233714000 -0800
-+++ config.h.in	2006-10-31 21:44:27.346275000 -0800
-@@ -548,6 +548,16 @@
- #undef USESETENV
- 
- /*
-+ * If setenv() takes 3 arguments define HAVE_SETENV_3
-+ */
-+#undef HAVE_SETENV_3
-+
-+/*
-+ * If setenv() takes 2 arguments define HAVE_SETENV_2
-+ */
-+#undef HAVE_SETENV_2
-+
-+/*
-  * If your system does not come with a setenv()/putenv()/getenv()
-  * functions, you may bring in our own code by defining NEEDPUTENV.
-  */
---- misc.c.DIST	2006-10-31 20:55:42.481760000 -0800
-+++ misc.c	2006-10-31 21:53:24.143551000 -0800
-@@ -613,11 +613,11 @@
-    */
- # endif /* NEEDSETENV */
- #else /* USESETENV */
--# if defined(linux) || defined(__convex__) || (BSD >= 199103)
-+# if HAVE_SETENV_3
-   setenv(var, value, 1);
- # else
-   setenv(var, value);
--# endif /* linux || convex || BSD >= 199103 */
-+# endif /* HAVE_SETENV_3 */
- #endif /* USESETENV */
- }
- 

diff --git a/app-misc/screen/screen-4.0.3-r6.ebuild b/app-misc/screen/screen-4.0.3-r6.ebuild
deleted file mode 100644
index bcea1e7..0000000
--- a/app-misc/screen/screen-4.0.3-r6.ebuild
+++ /dev/null
@@ -1,163 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=4
-
-WANT_AUTOCONF="2.5"
-
-inherit eutils flag-o-matic toolchain-funcs pam autotools user
-
-DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
-HOMEPAGE="https://www.gnu.org/software/screen/"
-SRC_URI="ftp://ftp.uni-erlangen.de/pub/utilities/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug nethack pam selinux multiuser"
-
-DEPEND=">=sys-libs/ncurses-5.2
-	pam? ( virtual/pam )"
-RDEPEND="${DEPEND}
-	selinux? ( sec-policy/selinux-screen )"
-
-pkg_setup() {
-	# Make sure utmp group exists, as it's used later on.
-	enewgroup utmp 406
-}
-
-src_prepare() {
-	# Bug 34599: integer overflow in 4.0.1
-	# (Nov 29 2003 -solar)
-	epatch "${FILESDIR}"/screen-4.0.1-int-overflow-fix.patch
-
-	# Bug 31070: configure problem which affects alpha
-	# (13 Jan 2004 agriffis)
-	epatch "${FILESDIR}"/screen-4.0.1-vsprintf.patch
-
-	# uclibc doesnt have sys/stropts.h
-	if ! (echo '#include <sys/stropts.h>' | $(tc-getCC) -E - &>/dev/null) ; then
-		epatch "${FILESDIR}"/4.0.2-no-pty.patch
-	fi
-
-	# Don't use utempter even if it is found on the system
-	epatch "${FILESDIR}"/4.0.2-no-utempter.patch
-
-	# Don't link against libelf even if it is found on the system
-	epatch "${FILESDIR}"/4.0.2-no-libelf.patch
-
-	# Patch for time function on 64bit systems
-	epatch "${FILESDIR}"/4.0.2-64bit-time.patch
-
-	# Patch that makes %u work for windowlist -b formats
-	epatch "${FILESDIR}"/4.0.2-windowlist-multiuser-fix.patch
-
-	# Open tty in non-blocking mode
-	epatch "${FILESDIR}"/4.0.2-nonblock.patch
-
-	# compability for sys-devel/autoconf-2.62
-	epatch "${FILESDIR}"/screen-4.0.3-config.h-autoconf-2.62.patch
-
-	# crosscompile patch
-	epatch "${FILESDIR}"/"${P}"-crosscompile.patch
-
-	# sched.h is a system header and causes problems with some C libraries
-	mv sched.h _sched.h || die
-	sed -i '/include/s:sched.h:_sched.h:' screen.h || die
-
-	# Allow for more rendition (color/attribute) changes in status bars
-	sed -i \
-		-e "s:#define MAX_WINMSG_REND 16:#define MAX_WINMSG_REND 64:" \
-		screen.c \
-		|| die "sed screen.c failed"
-
-	# Fix manpage.
-	sed -i \
-		-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-		-e "s:/usr/local/screens:${EPREFIX}/var/run/screen:g" \
-		-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-		-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
-		-e "s:/local/screens/S-:${EPREFIX}/var/run/screen/S-:g" \
-		doc/screen.1 \
-		|| die "sed doc/screen.1 failed"
-
-	# proper setenv detection for Solaris
-	epatch "${FILESDIR}"/${P}-setenv_autoconf.patch
-
-	# Allow TERM string large enough to use with rxvt-unicode-256color
-	# Allow usernames up to 32 chars
-	epatch "${FILESDIR}"/${PV}-extend-d_termname-ng2.patch
-
-	# support CPPFLAGS
-	epatch "${FILESDIR}"/${P}-cppflags.patch
-
-	sed \
-		-e 's:termlib:tinfo:g' \
-		-i configure.in || die
-
-	# reconfigure
-	eautoconf
-}
-
-src_configure() {
-	append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
-
-	[[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
-
-	use nethack || append-cppflags "-DNONETHACK"
-	use debug && append-cppflags "-DDEBUG"
-
-	econf \
-		--with-socket-dir="${EPREFIX}/var/run/screen" \
-		--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
-		--with-pty-mode=0620 \
-		--with-pty-group=5 \
-		--enable-rxvt_osc \
-		--enable-telnet \
-		--enable-colors256 \
-		$(use_enable pam) \
-		$(use multiuser || echo --disable-socket-dir)
-
-	# Second try to fix bug 12683, this time without changing term.h
-	# The last try seemed to break screen at run-time.
-	# (16 Jan 2003 agriffis)
-	LC_ALL=POSIX make term.h || die "Failed making term.h"
-}
-
-src_install() {
-	dobin screen
-
-	if use multiuser || use prefix
-	then
-		fperms 4755 /usr/bin/screen
-	else
-		fowners root:utmp /usr/bin/screen
-		fperms 2755 /usr/bin/screen
-	fi
-
-	insinto /usr/share/screen
-	doins terminfo/{screencap,screeninfo.src}
-	insinto /usr/share/screen/utf8encodings
-	doins utf8encodings/??
-	insinto /etc
-	doins "${FILESDIR}"/screenrc
-
-	pamd_mimic_system screen auth
-
-	dodoc \
-		README ChangeLog INSTALL TODO NEWS* patchlevel.h \
-		doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
-
-	doman doc/screen.1
-	doinfo doc/screen.info*
-}
-
-pkg_postinst() {
-	if [[ -z ${REPLACING_VERSIONS} ]]
-	then
-		elog "Some dangerous key bindings have been removed or changed to more safe values."
-		elog "We enable some xterm hacks in our default screenrc, which might break some"
-		elog "applications. Please check /etc/screenrc for information on these changes."
-	fi
-}

diff --git a/app-misc/screen/screen-4.0.3-r7.ebuild b/app-misc/screen/screen-4.0.3-r7.ebuild
deleted file mode 100644
index 63d6ed9..0000000
--- a/app-misc/screen/screen-4.0.3-r7.ebuild
+++ /dev/null
@@ -1,163 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=4
-
-WANT_AUTOCONF="2.5"
-
-inherit eutils flag-o-matic toolchain-funcs pam autotools user
-
-DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
-HOMEPAGE="https://www.gnu.org/software/screen/"
-SRC_URI="ftp://ftp.uni-erlangen.de/pub/utilities/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug nethack pam selinux multiuser"
-
-DEPEND=">=sys-libs/ncurses-5.2
-	pam? ( virtual/pam )"
-RDEPEND="${DEPEND}
-	selinux? ( sec-policy/selinux-screen )"
-
-pkg_setup() {
-	# Make sure utmp group exists, as it's used later on.
-	enewgroup utmp 406
-}
-
-src_prepare() {
-	# Bug 34599: integer overflow in 4.0.1
-	# (Nov 29 2003 -solar)
-	epatch "${FILESDIR}"/screen-4.0.1-int-overflow-fix.patch
-
-	# Bug 31070: configure problem which affects alpha
-	# (13 Jan 2004 agriffis)
-	epatch "${FILESDIR}"/screen-4.0.1-vsprintf.patch
-
-	# uclibc doesnt have sys/stropts.h
-	if ! (echo '#include <sys/stropts.h>' | $(tc-getCC) -E - &>/dev/null) ; then
-		epatch "${FILESDIR}"/4.0.2-no-pty.patch
-	fi
-
-	# Don't use utempter even if it is found on the system
-	epatch "${FILESDIR}"/4.0.2-no-utempter.patch
-
-	# Don't link against libelf even if it is found on the system
-	epatch "${FILESDIR}"/4.0.2-no-libelf.patch
-
-	# Patch for time function on 64bit systems
-	epatch "${FILESDIR}"/4.0.2-64bit-time.patch
-
-	# Patch that makes %u work for windowlist -b formats
-	epatch "${FILESDIR}"/4.0.2-windowlist-multiuser-fix.patch
-
-	# Open tty in non-blocking mode
-	epatch "${FILESDIR}"/4.0.2-nonblock.patch
-
-	# compability for sys-devel/autoconf-2.62
-	epatch "${FILESDIR}"/screen-4.0.3-config.h-autoconf-2.62.patch
-
-	# crosscompile patch
-	epatch "${FILESDIR}"/"${P}"-crosscompile.patch
-
-	# sched.h is a system header and causes problems with some C libraries
-	mv sched.h _sched.h || die
-	sed -i '/include/s:sched.h:_sched.h:' screen.h || die
-
-	# Allow for more rendition (color/attribute) changes in status bars
-	sed -i \
-		-e "s:#define MAX_WINMSG_REND 16:#define MAX_WINMSG_REND 64:" \
-		screen.c \
-		|| die "sed screen.c failed"
-
-	# Fix manpage.
-	sed -i \
-		-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-		-e "s:/usr/local/screens:${EPREFIX}/var/run/screen:g" \
-		-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-		-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
-		-e "s:/local/screens/S-:${EPREFIX}/var/run/screen/S-:g" \
-		doc/screen.1 \
-		|| die "sed doc/screen.1 failed"
-
-	# proper setenv detection for Solaris
-	epatch "${FILESDIR}"/${P}-setenv_autoconf.patch
-
-	# Allow TERM string large enough to use with rxvt-unicode-256color
-	# Allow usernames up to 32 chars
-	epatch "${FILESDIR}"/${PV}-extend-d_termname-ng2.patch
-
-	# support CPPFLAGS
-	epatch "${FILESDIR}"/${P}-cppflags.patch
-
-	sed \
-		-e 's:termlib:tinfo:g' \
-		-i configure.in || die
-
-	# reconfigure
-	eautoconf
-}
-
-src_configure() {
-	append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
-
-	[[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
-
-	use nethack || append-cppflags "-DNONETHACK"
-	use debug && append-cppflags "-DDEBUG"
-
-	econf \
-		--with-socket-dir="${EPREFIX}/var/run/screen" \
-		--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
-		--with-pty-mode=0620 \
-		--with-pty-group=5 \
-		--enable-rxvt_osc \
-		--enable-telnet \
-		--enable-colors256 \
-		$(use_enable pam) \
-		$(use multiuser || echo --disable-socket-dir)
-
-	# Second try to fix bug 12683, this time without changing term.h
-	# The last try seemed to break screen at run-time.
-	# (16 Jan 2003 agriffis)
-	LC_ALL=POSIX make term.h || die "Failed making term.h"
-}
-
-src_install() {
-	dobin screen
-
-	if use multiuser || use prefix
-	then
-		fperms 4755 /usr/bin/screen
-	else
-		fowners root:utmp /usr/bin/screen
-		fperms 2755 /usr/bin/screen
-	fi
-
-	insinto /usr/share/screen
-	doins terminfo/{screencap,screeninfo.src}
-	insinto /usr/share/screen/utf8encodings
-	doins utf8encodings/??
-	insinto /etc
-	doins "${FILESDIR}"/screenrc
-
-	pamd_mimic_system screen auth
-
-	dodoc \
-		README ChangeLog INSTALL TODO NEWS* patchlevel.h \
-		doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
-
-	doman doc/screen.1
-	doinfo doc/screen.info*
-}
-
-pkg_postinst() {
-	if [[ -z ${REPLACING_VERSIONS} ]]
-	then
-		elog "Some dangerous key bindings have been removed or changed to more safe values."
-		elog "We enable some xterm hacks in our default screenrc, which might break some"
-		elog "applications. Please check /etc/screenrc for information on these changes."
-	fi
-}

diff --git a/app-misc/screen/screen-4.0.3-r8.ebuild b/app-misc/screen/screen-4.0.3-r8.ebuild
deleted file mode 100644
index 3e574a1..0000000
--- a/app-misc/screen/screen-4.0.3-r8.ebuild
+++ /dev/null
@@ -1,173 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=4
-
-WANT_AUTOCONF="2.5"
-
-inherit eutils flag-o-matic toolchain-funcs pam autotools user
-
-DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
-HOMEPAGE="https://www.gnu.org/software/screen/"
-SRC_URI="ftp://ftp.uni-erlangen.de/pub/utilities/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug nethack pam selinux multiuser"
-
-DEPEND=">=sys-libs/ncurses-5.2
-	pam? ( virtual/pam )"
-RDEPEND="${DEPEND}
-	selinux? ( sec-policy/selinux-screen )
-	!<sys-apps/openrc-0.11.6"
-
-pkg_setup() {
-	# Make sure utmp group exists, as it's used later on.
-	enewgroup utmp 406
-}
-
-src_prepare() {
-	# Bug 34599: integer overflow in 4.0.1
-	# (Nov 29 2003 -solar)
-	epatch "${FILESDIR}"/screen-4.0.1-int-overflow-fix.patch
-
-	# Bug 31070: configure problem which affects alpha
-	# (13 Jan 2004 agriffis)
-	epatch "${FILESDIR}"/screen-4.0.1-vsprintf.patch
-
-	# uclibc doesnt have sys/stropts.h
-	if ! (echo '#include <sys/stropts.h>' | $(tc-getCC) -E - &>/dev/null) ; then
-		epatch "${FILESDIR}"/4.0.2-no-pty.patch
-	fi
-
-	# Don't use utempter even if it is found on the system
-	epatch "${FILESDIR}"/4.0.2-no-utempter.patch
-
-	# Don't link against libelf even if it is found on the system
-	epatch "${FILESDIR}"/4.0.2-no-libelf.patch
-
-	# Patch for time function on 64bit systems
-	epatch "${FILESDIR}"/4.0.2-64bit-time.patch
-
-	# Patch that makes %u work for windowlist -b formats
-	epatch "${FILESDIR}"/4.0.2-windowlist-multiuser-fix.patch
-
-	# Open tty in non-blocking mode
-	epatch "${FILESDIR}"/4.0.2-nonblock.patch
-
-	# compability for sys-devel/autoconf-2.62
-	epatch "${FILESDIR}"/screen-4.0.3-config.h-autoconf-2.62.patch
-
-	# crosscompile patch
-	epatch "${FILESDIR}"/"${P}"-crosscompile.patch
-
-	# sched.h is a system header and causes problems with some C libraries
-	mv sched.h _sched.h || die
-	sed -i '/include/s:sched.h:_sched.h:' screen.h || die
-
-	# Allow for more rendition (color/attribute) changes in status bars
-	sed -i \
-		-e "s:#define MAX_WINMSG_REND 16:#define MAX_WINMSG_REND 64:" \
-		screen.c \
-		|| die "sed screen.c failed"
-
-	# Fix manpage.
-	sed -i \
-		-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-		-e "s:/usr/local/screens:${EPREFIX}/run/screen:g" \
-		-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-		-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
-		-e "s:/local/screens/S-:${EPREFIX}/run/screen/S-:g" \
-		doc/screen.1 \
-		|| die "sed doc/screen.1 failed"
-
-	# proper setenv detection for Solaris
-	epatch "${FILESDIR}"/${P}-setenv_autoconf.patch
-
-	# Allow TERM string large enough to use with rxvt-unicode-256color
-	# Allow usernames up to 32 chars
-	epatch "${FILESDIR}"/${PV}-extend-d_termname-ng2.patch
-
-	# support CPPFLAGS
-	epatch "${FILESDIR}"/${P}-cppflags.patch
-
-	sed \
-		-e 's:termlib:tinfo:g' \
-		-i configure.in || die
-
-	# reconfigure
-	eautoconf
-}
-
-src_configure() {
-	append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
-
-	[[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
-
-	use nethack || append-cppflags "-DNONETHACK"
-	use debug && append-cppflags "-DDEBUG"
-
-	econf \
-		--with-socket-dir="${EPREFIX}/run/screen" \
-		--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
-		--with-pty-mode=0620 \
-		--with-pty-group=5 \
-		--enable-rxvt_osc \
-		--enable-telnet \
-		--enable-colors256 \
-		$(use_enable pam)
-
-	# Second try to fix bug 12683, this time without changing term.h
-	# The last try seemed to break screen at run-time.
-	# (16 Jan 2003 agriffis)
-	LC_ALL=POSIX make term.h || die "Failed making term.h"
-}
-
-src_install() {
-	local tmpfiles_perms tmpfiles_group
-
-	dobin screen
-
-	if use multiuser ; then
-		use prefix || fperms 4755 /usr/bin/screen
-		tmpfiles_perms="0755"
-		tmpfiles_group="root"
-	else
-		fowners root:utmp /usr/bin/screen
-		fperms 2755 /usr/bin/screen
-		tmpfiles_perms="0775"
-		tmpfiles_group="utmp"
-	fi
-
-	dodir /etc/tmpfiles.d
-	echo "d /run/screen ${tmpfiles_perms} root ${tmpfiles_group}" >"${ED}"/etc/tmpfiles.d/screen.conf
-
-	insinto /usr/share/screen
-	doins terminfo/{screencap,screeninfo.src}
-	insinto /usr/share/screen/utf8encodings
-	doins utf8encodings/??
-	insinto /etc
-	doins "${FILESDIR}"/screenrc
-
-	pamd_mimic_system screen auth
-
-	dodoc \
-		README ChangeLog INSTALL TODO NEWS* patchlevel.h \
-		doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
-
-	doman doc/screen.1
-	doinfo doc/screen.info*
-}
-
-pkg_postinst() {
-	if [[ -z ${REPLACING_VERSIONS} ]]
-	then
-		elog "Some dangerous key bindings have been removed or changed to more safe values."
-		elog "We enable some xterm hacks in our default screenrc, which might break some"
-		elog "applications. Please check /etc/screenrc for information on these changes."
-	fi
-
-	ewarn "This revision changes the screen socket location to /run/screen."
-}

diff --git a/app-misc/screen/screen-4.2.1-r2.ebuild b/app-misc/screen/screen-4.2.1-r2.ebuild
deleted file mode 100644
index bb6e77a..0000000
--- a/app-misc/screen/screen-4.2.1-r2.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools eutils flag-o-matic pam toolchain-funcs user
-
-DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
-HOMEPAGE="https://www.gnu.org/software/screen/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS=" ~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug nethack pam selinux multiuser"
-
-CDEPEND="
-	>=sys-libs/ncurses-5.2:0=
-	pam? ( virtual/pam )"
-RDEPEND="${CDEPEND}
-	selinux? ( sec-policy/selinux-screen )"
-DEPEND="${CDEPEND}
-	sys-apps/texinfo"
-
-pkg_setup() {
-	# Make sure utmp group exists, as it's used later on.
-	enewgroup utmp 406
-}
-
-src_prepare() {
-	# Don't use utempter even if it is found on the system
-	epatch "${FILESDIR}"/4.0.2-no-utempter.patch
-
-	# sched.h is a system header and causes problems with some C libraries
-	mv sched.h _sched.h || die
-	sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
-
-	# Fix manpage.
-	sed -i \
-		-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-		-e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
-		-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-		-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
-		-e "s:/local/screens/S-:${EPREFIX}/tmp/screen/S-:g" \
-		doc/screen.1 \
-		|| die
-
-	# reconfigure
-	eautoreconf
-}
-
-src_configure() {
-	append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
-
-	if [[ ${CHOST} == *-solaris* ]] ; then
-		# https://lists.gnu.org/archive/html/screen-devel/2014-04/msg00095.html
-		append-cppflags -D_XOPEN_SOURCE \
-			-D_XOPEN_SOURCE_EXTENDED=1 \
-			-D__EXTENSIONS__
-		append-libs -lsocket -lnsl
-	fi
-
-	use nethack || append-cppflags "-DNONETHACK"
-	use debug && append-cppflags "-DDEBUG"
-
-	econf \
-		--with-socket-dir="${EPREFIX}/tmp/screen" \
-		--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
-		--with-pty-mode=0620 \
-		--with-pty-group=5 \
-		--enable-rxvt_osc \
-		--enable-telnet \
-		--enable-colors256 \
-		$(use_enable pam)
-}
-
-src_compile() {
-	LC_ALL=POSIX emake comm.h term.h
-	emake osdef.h
-
-	emake -C doc screen.info
-	default
-}
-
-src_install() {
-	local tmpfiles_perms tmpfiles_group
-
-	dobin screen
-
-	if use multiuser || use prefix
-	then
-		fperms 4755 /usr/bin/screen
-		tmpfiles_perms="0755"
-		tmpfiles_group="root"
-	else
-		fowners root:utmp /usr/bin/screen
-		fperms 2755 /usr/bin/screen
-		tmpfiles_perms="0775"
-		tmpfiles_group="utmp"
-	fi
-
-	dodir /etc/tmpfiles.d
-	echo "d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" \
-		> "${ED}"/etc/tmpfiles.d/screen.conf
-
-	insinto /usr/share/screen
-	doins terminfo/{screencap,screeninfo.src}
-	insinto /usr/share/screen/utf8encodings
-	doins utf8encodings/??
-	insinto /etc
-	doins "${FILESDIR}"/screenrc
-
-	pamd_mimic_system screen auth
-
-	dodoc \
-		README ChangeLog INSTALL TODO NEWS* patchlevel.h \
-		doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
-
-	doman doc/screen.1
-	doinfo doc/screen.info
-}
-
-pkg_postinst() {
-	if [[ -z ${REPLACING_VERSIONS} ]]
-	then
-		elog "Some dangerous key bindings have been removed or changed to more safe values."
-		elog "We enable some xterm hacks in our default screenrc, which might break some"
-		elog "applications. Please check /etc/screenrc for information on these changes."
-	fi
-
-	# Add /tmp/screen in case it doesn't exist yet. This should solve
-	# problems like bug #508634 where tmpfiles.d isn't in effect.
-	local rundir="${EROOT%/}/tmp/screen"
-	if [[ ! -d ${rundir} ]] ; then
-		if use multiuser || use prefix ; then
-			tmpfiles_group="root"
-		else
-			tmpfiles_group="utmp"
-		fi
-		mkdir -m 0775 "${rundir}"
-		chgrp ${tmpfiles_group} "${rundir}"
-	fi
-
-	ewarn "This revision changes the screen socket location to ${rundir}"
-}

diff --git a/app-misc/screen/screen-4.3.1.ebuild b/app-misc/screen/screen-4.3.1.ebuild
deleted file mode 100644
index 48a082b..0000000
--- a/app-misc/screen/screen-4.3.1.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools eutils flag-o-matic pam toolchain-funcs user
-
-DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
-HOMEPAGE="https://www.gnu.org/software/screen/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug nethack pam selinux multiuser"
-
-CDEPEND="
-	>=sys-libs/ncurses-5.2:0=
-	pam? ( virtual/pam )"
-RDEPEND="${CDEPEND}
-	selinux? ( sec-policy/selinux-screen )"
-DEPEND="${CDEPEND}
-	sys-apps/texinfo"
-
-pkg_setup() {
-	# Make sure utmp group exists, as it's used later on.
-	enewgroup utmp 406
-}
-
-src_prepare() {
-	# Don't use utempter even if it is found on the system
-	epatch "${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
-
-	# sched.h is a system header and causes problems with some C libraries
-	mv sched.h _sched.h || die
-	sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
-
-	# Fix manpage.
-	sed -i \
-		-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-		-e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
-		-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
-		-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
-		-e "s:/local/screens/S-:${EPREFIX}/tmp/screen/S-:g" \
-		doc/screen.1 \
-		|| die
-
-	# reconfigure
-	eautoreconf
-}
-
-src_configure() {
-	append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
-
-	if [[ ${CHOST} == *-solaris* ]] ; then
-		# https://lists.gnu.org/archive/html/screen-devel/2014-04/msg00095.html
-		append-cppflags -D_XOPEN_SOURCE \
-			-D_XOPEN_SOURCE_EXTENDED=1 \
-			-D__EXTENSIONS__
-		append-libs -lsocket -lnsl
-	fi
-
-	use nethack || append-cppflags "-DNONETHACK"
-	use debug && append-cppflags "-DDEBUG"
-
-	econf \
-		--with-socket-dir="${EPREFIX}/tmp/screen" \
-		--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
-		--with-pty-mode=0620 \
-		--with-pty-group=5 \
-		--enable-rxvt_osc \
-		--enable-telnet \
-		--enable-colors256 \
-		$(use_enable pam)
-}
-
-src_compile() {
-	LC_ALL=POSIX emake comm.h term.h
-	emake osdef.h
-
-	emake -C doc screen.info
-	default
-}
-
-src_install() {
-	local tmpfiles_perms tmpfiles_group
-
-	dobin screen
-
-	if use multiuser || use prefix
-	then
-		fperms 4755 /usr/bin/screen
-		tmpfiles_perms="0755"
-		tmpfiles_group="root"
-	else
-		fowners root:utmp /usr/bin/screen
-		fperms 2755 /usr/bin/screen
-		tmpfiles_perms="0775"
-		tmpfiles_group="utmp"
-	fi
-
-	dodir /etc/tmpfiles.d
-	echo "d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" \
-		> "${ED}"/etc/tmpfiles.d/screen.conf
-
-	insinto /usr/share/screen
-	doins terminfo/{screencap,screeninfo.src}
-	insinto /usr/share/screen/utf8encodings
-	doins utf8encodings/??
-	insinto /etc
-	doins "${FILESDIR}"/screenrc
-
-	pamd_mimic_system screen auth
-
-	dodoc \
-		README ChangeLog INSTALL TODO NEWS* patchlevel.h \
-		doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
-
-	doman doc/screen.1
-	doinfo doc/screen.info
-}
-
-pkg_postinst() {
-	if [[ -z ${REPLACING_VERSIONS} ]]
-	then
-		elog "Some dangerous key bindings have been removed or changed to more safe values."
-		elog "We enable some xterm hacks in our default screenrc, which might break some"
-		elog "applications. Please check /etc/screenrc for information on these changes."
-	fi
-
-	# Add /tmp/screen in case it doesn't exist yet. This should solve
-	# problems like bug #508634 where tmpfiles.d isn't in effect.
-	local rundir="${EROOT%/}/tmp/screen"
-	if [[ ! -d ${rundir} ]] ; then
-		if use multiuser || use prefix ; then
-			tmpfiles_group="root"
-		else
-			tmpfiles_group="utmp"
-		fi
-		mkdir -m 0775 "${rundir}"
-		chgrp ${tmpfiles_group} "${rundir}"
-	fi
-
-	ewarn "This revision changes the screen socket location to ${rundir}"
-}


^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-misc/screen/, app-misc/screen/files/
@ 2015-09-15 23:25 Patrice Clement
  0 siblings, 0 replies; 7+ messages in thread
From: Patrice Clement @ 2015-09-15 23:25 UTC (permalink / raw
  To: gentoo-commits

commit:     d2b61ecde95de8b30652d3d56973845c6ba41811
Author:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 15 23:14:26 2015 +0000
Commit:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Tue Sep 15 23:24:17 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2b61ecd

app-misc/screen: Patch sources to mitigate a stack overflow. Fixes security bug 559394.

Package-Manager: portage-2.2.18
Signed-off-by: Patrice Clement <monsieurp <AT> gentoo.org>

 app-misc/screen/files/screen-4.3.1-ansi.c.patch |  37 ++++++
 app-misc/screen/screen-4.3.1-r1.ebuild          | 154 ++++++++++++++++++++++++
 2 files changed, 191 insertions(+)

diff --git a/app-misc/screen/files/screen-4.3.1-ansi.c.patch b/app-misc/screen/files/screen-4.3.1-ansi.c.patch
new file mode 100644
index 0000000..8dca52d
--- /dev/null
+++ b/app-misc/screen/files/screen-4.3.1-ansi.c.patch
@@ -0,0 +1,37 @@
+--- ansi.c.orig	2015-09-15 22:55:48.274486000 +0000
++++ ansi.c	2015-09-15 22:59:14.368486000 +0000
+@@ -2502,13 +2502,13 @@
+     return;
+   if (n > 0)
+     {
++      if (ye - ys + 1 < n)
++	n = ye - ys + 1;
+       if (n > 256)
+ 	{
+ 	  MScrollV(p, n - 256, ys, ye, bce);
+ 	  n = 256;
+ 	}
+-      if (ye - ys + 1 < n)
+-	n = ye - ys + 1;
+ #ifdef COPY_PASTE
+       if (compacthist)
+ 	{
+@@ -2562,15 +2562,14 @@
+     }
+   else
+     {
++      n = -n;
++      if (ye - ys + 1 < n)
++	n = ye - ys + 1;
+       if (n < -256)
+ 	{
+ 	  MScrollV(p, n + 256, ys, ye, bce);
+ 	  n = -256;
+ 	}
+-      n = -n;
+-      if (ye - ys + 1 < n)
+-	n = ye - ys + 1;
+-
+       ml = p->w_mlines + ye;
+       /* Clear lines */
+       for (i = ye; i > ye - n; i--, ml--)

diff --git a/app-misc/screen/screen-4.3.1-r1.ebuild b/app-misc/screen/screen-4.3.1-r1.ebuild
new file mode 100644
index 0000000..cb85936
--- /dev/null
+++ b/app-misc/screen/screen-4.3.1-r1.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils flag-o-matic pam toolchain-funcs user
+
+DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
+HOMEPAGE="https://www.gnu.org/software/screen/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug nethack pam selinux multiuser"
+
+CDEPEND="
+	>=sys-libs/ncurses-5.2:0=
+	pam? ( virtual/pam )"
+RDEPEND="${CDEPEND}
+	selinux? ( sec-policy/selinux-screen )"
+DEPEND="${CDEPEND}
+	sys-apps/texinfo"
+
+# Patches:
+# - Don't use utempter even if it is found on the system.
+# - Bug 559394.
+PATCHES=(
+	"${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
+	"${FILESDIR}"/${PN}-4.3.1-ansi.c.patch
+)
+
+pkg_setup() {
+	# Make sure utmp group exists, as it's used later on.
+	enewgroup utmp 406
+}
+
+src_prepare() {
+	# Apply patches.
+	epatch "${PATCHES[@]}"
+
+	# sched.h is a system header and causes problems with some C libraries
+	mv sched.h _sched.h || die
+	sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
+
+	# Fix manpage.
+	sed -i \
+		-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
+		-e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
+		-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
+		-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
+		-e "s:/local/screens/S-:${EPREFIX}/tmp/screen/S-:g" \
+		doc/screen.1 \
+		|| die
+
+	# reconfigure
+	eautoreconf
+}
+
+src_configure() {
+	append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
+
+	if [[ ${CHOST} == *-solaris* ]] ; then
+		# https://lists.gnu.org/archive/html/screen-devel/2014-04/msg00095.html
+		append-cppflags -D_XOPEN_SOURCE \
+			-D_XOPEN_SOURCE_EXTENDED=1 \
+			-D__EXTENSIONS__
+		append-libs -lsocket -lnsl
+	fi
+
+	use nethack || append-cppflags "-DNONETHACK"
+	use debug && append-cppflags "-DDEBUG"
+
+	econf \
+		--with-socket-dir="${EPREFIX}/tmp/screen" \
+		--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
+		--with-pty-mode=0620 \
+		--with-pty-group=5 \
+		--enable-rxvt_osc \
+		--enable-telnet \
+		--enable-colors256 \
+		$(use_enable pam)
+}
+
+src_compile() {
+	LC_ALL=POSIX emake comm.h term.h
+	emake osdef.h
+
+	emake -C doc screen.info
+	default
+}
+
+src_install() {
+	local tmpfiles_perms tmpfiles_group
+
+	dobin screen
+
+	if use multiuser || use prefix
+	then
+		fperms 4755 /usr/bin/screen
+		tmpfiles_perms="0755"
+		tmpfiles_group="root"
+	else
+		fowners root:utmp /usr/bin/screen
+		fperms 2755 /usr/bin/screen
+		tmpfiles_perms="0775"
+		tmpfiles_group="utmp"
+	fi
+
+	dodir /etc/tmpfiles.d
+	echo "d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" \
+		> "${ED}"/etc/tmpfiles.d/screen.conf
+
+	insinto /usr/share/screen
+	doins terminfo/{screencap,screeninfo.src}
+	insinto /usr/share/screen/utf8encodings
+	doins utf8encodings/??
+	insinto /etc
+	doins "${FILESDIR}"/screenrc
+
+	pamd_mimic_system screen auth
+
+	dodoc \
+		README ChangeLog INSTALL TODO NEWS* patchlevel.h \
+		doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
+
+	doman doc/screen.1
+	doinfo doc/screen.info
+}
+
+pkg_postinst() {
+	if [[ -z ${REPLACING_VERSIONS} ]]
+	then
+		elog "Some dangerous key bindings have been removed or changed to more safe values."
+		elog "We enable some xterm hacks in our default screenrc, which might break some"
+		elog "applications. Please check /etc/screenrc for information on these changes."
+	fi
+
+	# Add /tmp/screen in case it doesn't exist yet. This should solve
+	# problems like bug #508634 where tmpfiles.d isn't in effect.
+	local rundir="${EROOT%/}/tmp/screen"
+	if [[ ! -d ${rundir} ]] ; then
+		if use multiuser || use prefix ; then
+			tmpfiles_group="root"
+		else
+			tmpfiles_group="utmp"
+		fi
+		mkdir -m 0775 "${rundir}"
+		chgrp ${tmpfiles_group} "${rundir}"
+	fi
+
+	ewarn "This revision changes the screen socket location to ${rundir}"
+}


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-03-08 20:03 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-26 12:16 [gentoo-commits] repo/gentoo:master commit in: app-misc/screen/, app-misc/screen/files/ Jeroen Roovers
  -- strict thread matches above, loose matches on Subject: below --
2025-03-08 20:03 Sven Wegener
2023-08-08  5:45 Sam James
2017-01-20 11:54 Fabian Groffen
2016-01-23 12:41 Jeroen Roovers
2015-10-10 15:38 Patrice Clement
2015-09-15 23:25 Patrice Clement

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox