aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Shelton <stuart@shelton.me>2017-01-30 11:52:03 +0000
committerStuart Shelton <stuart@shelton.me>2017-01-30 11:52:03 +0000
commitf768e63a69501da670e3dc378d930c06db29f16d (patch)
tree13969c01d4dae1579f528a47df52104aa22088e3 /app-misc
parentUpdate file raspberrypi-firmware-config.txt, affecting sys-boot/raspberrypi-f... (diff)
downloadsrcshelton-f768e63a69501da670e3dc378d930c06db29f16d.tar.gz
srcshelton-f768e63a69501da670e3dc378d930c06db29f16d.tar.bz2
srcshelton-f768e63a69501da670e3dc378d930c06db29f16d.zip
Add app-misc/screen-4.5.0-r1
Diffstat (limited to 'app-misc')
-rw-r--r--app-misc/screen/Manifest2
-rw-r--r--app-misc/screen/files/screen-4.5.0-logfile-access-revert.patch17
-rw-r--r--app-misc/screen/screen-4.5.0-r1.ebuild204
3 files changed, 223 insertions, 0 deletions
diff --git a/app-misc/screen/Manifest b/app-misc/screen/Manifest
index e7760a39..e0bca956 100644
--- a/app-misc/screen/Manifest
+++ b/app-misc/screen/Manifest
@@ -13,6 +13,7 @@ AUX screen-4.0.3-crosscompile.patch 18900 SHA256 7e4109cd3f6d58ea799fe069472a58f
AUX screen-4.0.3-setenv_autoconf.patch 2485 SHA256 091eb224a097bbc1b5f1b3dd8048dbb04b8c7476818a9444eae5bdb8b52bce75 SHA512 72dcfd9180d05edf85ce9f459e69ccd709a6c0a4593802d0f4e88ffe2daf56215ce8049a641701693dafeab3cc8a0df796338d92338ee0d39c51d46ed718af7b WHIRLPOOL fa7645c3488f75c8acdb2305864459e3eada89e7a29e39a6048cdda7459c707b090c68ce93023a53c57a7beabb3c66f9f9f26237126e68d00cc888a7581b867c
AUX screen-4.3.0-no-utempter.patch 363 SHA256 c8e4b1a03175fb2af3e13fa514b8a5456b53905a7ca51587195a62cb8d60e1c9 SHA512 0b2e6a2b54e6155e217ab44a0d8314afafd97fae684fbc2875c0f4d21df29cb259ea4023343e92da16dd3a2bf11ec6d06e677d765748299d1633aa1b9261a604 WHIRLPOOL c59a0c3f32ad50e15cd5e902b7b600cda18d2b676209628e7b96120866e7aba968264fbf8b35dc3e252b9fd63f21611005c9ec46cddc5e42b30c8da29a5e5186
AUX screen-4.3.1-ansi.c.patch 657 SHA256 806fa628fbbfcf4a63153e0f2a4979ad02d9531151817ef5183c34c4d12adb26 SHA512 ca746103856afd2e93eff8b5b81fa1f4f83c9a89511ce2bd88a6ebfb4becd858da97df48c2939ec2bc631d17e98613f252ca92f1e53f5ad5358f118c449ab545 WHIRLPOOL 39ff78cb6aadf4fe8a7a3cdfb44f7fb656d497a60d3809bd751b7ba0fdb3ae9ebf11ee93e663a1f713fe3e16e34792e10670825eda36754be46dc7fcecc0e810
+AUX screen-4.5.0-logfile-access-revert.patch 635 SHA256 38306621e931a78976fb3e3c197b628b8cddb477056bd412895f53994f607a4e SHA512 69c0a4052a451eb33b48a2fb6760f311e167ea2049164d6df66ae0b4401a2aea1a4bc91c19f8b4ee78e1886393abc8bc59fd18c3345abab4e0cb00c4eb019140 WHIRLPOOL 6c4b14cb0ff65b085be759fc4c779e0b23079b1a78b12dcc225b8ab467c82ed75a80e12648389f6ffc033748f1be4bb303924b5021f518603ea5c1134cdedccf
AUX screen-4.5.0-solaris-PATH_MAX.patch 249 SHA256 ec82e1da6b425f68f9dcdb4e1bd672d03ced2baf4a6489750150eac0d4e2c279 SHA512 ddceb7a3d1dffb85a89242ea03cc4037ef6a072182d69ea3d397938956affce13aeb35b71b99251e563bf4f018609d47d42990023e24909abf09b3fb4b745a6b WHIRLPOOL 79c41757ef6da883efcdd52e71a26c476cd2f4c17bbb294d949f7691aaf176c5ae2a11687ad3063e840027e0e5ae5815c7c12d2f32d5387b54eaf2a8e19da687
AUX screenrc 10412 SHA256 191d91f9fd1e676525a9e1a3bdc5ac73283f948caf74b4bb6e0cfcecbe4798bb SHA512 06fbec5e28480a2c369330fac0c94faa47e5d28e037d9fefd0cb3e813002c504866dc8ac86872b7ac6f16059a219e396a9c425b578b8afe882153ddb506158f7 WHIRLPOOL e05785d9810a709ccd189bbf1557022bd91f653ddb2f138e54286fbbc11ddbbedf2276d2b8bc975a8ff1ac024ab24d955a6b3055cf5cd2dfb445c35484e90f09
DIST screen-4.0.3.tar.gz 840602 SHA256 78f0d5b1496084a5902586304d4a73954b2bfe33ea13edceecf21615c39e6c77 SHA512 24c1f598972f3dc9ed49cd2c05852190a0190d22fa01401eee8484627c8dd2815f0a422d9b2697faa8aaa0b3efc6730a94e2d5aa787dbe5e9ec719143176c338 WHIRLPOOL 6774786126eb05749d432593bc2c1febdc57896959220a609feb138bdc16b8da278aea63af1ccfd5c7d38ccaa9e7d28980e9e14d0009d36a54cdbd9e4cb0fca7
@@ -27,5 +28,6 @@ EBUILD screen-4.3.0.ebuild 4390 SHA256 8ce0a5f0ecd2fe141bcc6b3bfb0000edc15f7d357
EBUILD screen-4.3.1-r1.ebuild 5396 SHA256 13f99162ded200072119c6d42029d290af97da25d4fad0ea676abd6eb7ebe8c5 SHA512 fe88db40aabe0afd1bef4269a9e5ee41201282b162bc9d0c37b9820acee7107bbbab25f089e0b9bfb936a4932927f0ea8e8dca8d0ede31d95f951800478b42ea WHIRLPOOL 85d368d75c3fb80ec3ca4b3beb42024431af5c87dc51ad717e9faefe62557c850c055acb944a2356d9bee6d26a058c8050867506136dface85e6e5fa9be856c3
EBUILD screen-4.3.1.ebuild 5181 SHA256 5a7d6c1c6a29634f568a83d5be45d3ceedcf1f67f5e21f27c240ed82c60bc59d SHA512 c0a8bce4172524af6a0cf7b0bd26ff2def151ebcd61f8f33cd3ae73c2272a790f013c24d81b0b4a531b9241651ac4c431ef361f537b4cbca6cc3cc2a5c88bc92 WHIRLPOOL bff0e254f4a0a9536e5324cf3743d2d6d1d6197091b1b202317fb0240c3a69e2f6e96dccfa063769274d06f30412282369ee5a29d637df0952a365ffcaef7d43
EBUILD screen-4.4.0.ebuild 5910 SHA256 985e47056b7f40d901739b0fb23b8e3aea6795d4fa8e163862b91b279ff43f60 SHA512 4646fd4499e417be61673633fa7cc383175f1f2eb7c547867fce4c768c5c5b06daf5c29ddb704230c8acbef3440b3a52273f91c1c76d86f33d53d700bbb3547b WHIRLPOOL 4c04e2dadaea371f3507964817774e25c7c02f923a349e3a954154695a01581b1f5d66a255e9990b726730898f897d272b02178905502b99f8016d4b45f947bb
+EBUILD screen-4.5.0-r1.ebuild 6024 SHA256 d3456d00f92591c762f233184f703881aa79e3b9194eec08667cdf9ee28e2edf SHA512 6cc3c3abb9886e6732e8f03d38407a416879f5d259b5399d8a7d1203ffe7414f12c357eaebcaf9a6b76a63b997937639f75168eb36b90d5db320d918e7f50c3c WHIRLPOOL 312092e7568f24627aa336b178be99ef81ee3546988e925f1c472ec6ece590ff60cd11f81c12d057a1d4312fd48bf88667d75b6409f8d5309639bf32bb12eb61
EBUILD screen-4.5.0.ebuild 5942 SHA256 698ab65f00fa9c25950687284d0a1c0942a8950f6ded2b6871e37bb3422bdefc SHA512 4964340b566dbf16bbc48af985b9f71a37863c063bec6b03bb646a839ad3aab443f8e622f9a9a1ddd293d2b5e71197a5e14d3437cfe99f57de9abad600589927 WHIRLPOOL 8aba2c127fc002d96d691ef212b6d5e8acd28111e7ba55764f78fd30b29963afdcf501fd1568e8a03f0be33e88cf4ae136eda6b9490a752ef5d507ed9298005b
EBUILD screen-9999.ebuild 3854 SHA256 c4fe7158975925365a8dc46706c1bcac4627f89544270088bad7f79cdfd019ff SHA512 c817785896b845faa197fb772620474d849908372917f87a59a94e466a5b7f59ec6b233b1f122da7bfb89e4e5435095f293e1e0c3675655bcd27f0539e2e4de2 WHIRLPOOL 0b7a541f22d7119346d08a3fa0c90df4c2e25f261c61d20dc532a36295b7a35d56915d0bac4ae2dcecc571dd77f3d85b9120efa95c3b5c0b1cdd7808c6b25893
diff --git a/app-misc/screen/files/screen-4.5.0-logfile-access-revert.patch b/app-misc/screen/files/screen-4.5.0-logfile-access-revert.patch
new file mode 100644
index 00000000..ec3fb6a4
--- /dev/null
+++ b/app-misc/screen/files/screen-4.5.0-logfile-access-revert.patch
@@ -0,0 +1,17 @@
+Revert commit 5460f5d28c01a9a58e021eb1dffef2965e629d58
+
+--- b/screen.c
++++ a/screen.c
+@@ -670,12 +670,6 @@ int main(int ac, char** av)
+ Panic(0, "-L: logfile name can not start with \"-\" symbol");
+ if (strlen(screenlogfile) > PATH_MAX)
+ Panic(0, "-L: logfile name too long. (max. %d char)", PATH_MAX);
+-
+- FILE *w_check;
+- if ((w_check = fopen(screenlogfile, "w")) == NULL)
+- Panic(0, "-L: logfile name access problem");
+- else
+- fclose(w_check);
+ }
+ nwin_options.Lflag = 1;
+ break;
diff --git a/app-misc/screen/screen-4.5.0-r1.ebuild b/app-misc/screen/screen-4.5.0-r1.ebuild
new file mode 100644
index 00000000..07f498bc
--- /dev/null
+++ b/app-misc/screen/screen-4.5.0-r1.ebuild
@@ -0,0 +1,204 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id: 5adda107cb4e4a42dc1e7fe619d1969ea1662f86 $
+
+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 multiuser nethack pam selinux +tmpfiles"
+
+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
+ # PATH_MAX usage needs an include on Solaris
+ "${FILESDIR}"/${P}-solaris-PATH_MAX.patch
+ # Revert patch due to security, bug #607116
+ "${FILESDIR}"/${P}-logfile-access-revert.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}/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
+
+ 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}/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)
+}
+
+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="0775" tmpfiles_group="utmp"
+
+ #
+ # In screen.c, the required directory mode, n, is defined as:
+ # n = (eff_uid == 0 && (real_uid || (st.st_mode & 0775) != 0775)) ? 0755 : (eff_gid == (int)st.st_gid && eff_gid != real_gid) ? 0775 : 0777;
+ # ... where st is the result of stat(SockDir, &st).
+ #
+ # ( eff_gid == (int)st.st_gid ) -> /var/run/screen does not have group:utmp, or /usr/bin/screen is not setgid;
+ # ( eff_gid != real_gid ) -> /usr/bin/screen is not setgid, or user has utmp as their primary group.
+ #
+ # ... so it appears that /usr/bin/screen is being installed with incorrect permissions.
+ #
+ if use multiuser; then
+ use prefix || fperms 4755 /usr/bin/screen-${PV}
+ tmpfiles_perms="0755"
+ tmpfiles_group="root"
+ else
+ use prefix || fowners root:utmp /usr/bin/screen-${PV}
+ fperms 2755 /usr/bin/screen-${PV}
+ fi
+
+ if use tmpfiles; then
+ dodir /etc/tmpfiles.d
+ echo "d /var/run/screen ${tmpfiles_perms} root ${tmpfiles_group}" \
+ > "${ED}"/etc/tmpfiles.d/screen.conf
+ fi
+
+ insinto /usr/share/screen
+ doins terminfo/{screencap,screeninfo.src}
+
+ insinto /etc
+ doins "${FILESDIR}"/screenrc
+
+ pamd_mimic_system screen auth
+}
+
+pkg_postinst() {
+ local rundir="${EROOT%/}/var/run/screen"
+ local tmpfiles_perms="0775" tmpfiles_group="utmp"
+
+ if use multiuser; then
+ tmpfiles_perms="0755"
+ if ! use prefix; then
+ tmpfiles_group="root"
+ fi
+
+ # Pre-merge permissions are being lost?!
+ if (( 4751 != $( stat -Lc '%a' "${EPREFIX}/usr/bin/screen" ) )); then
+ ewarn "Having to re-set permissions of '${EPREFIX}/usr/bin/screen' from $(
+ stat -Lc '%a' "${EPREFIX}/usr/bin/screen"
+ ) to 4751 (-rwsr-x--x)"
+ chmod 4751 "${EPREFIX}/usr/bin/screen"
+ fi
+ else
+ if (( 2751 != $( stat -Lc '%a' "${EPREFIX}/usr/bin/screen" ) )); then
+ ewarn "Having to re-set permissions of '${EPREFIX}/usr/bin/screen' from $(
+ stat -Lc '%a' "${EPREFIX}/usr/bin/screen"
+ ) to 2751 (-rwx-r-s--x)"
+ chmod 2751 "${EPREFIX}/usr/bin/screen"
+ fi
+ fi
+
+ # Add /var/run/screen in case it doesn't exist yet. This should solve
+ # problems like bug #508634 where tmpfiles.d isn't in effect.
+ if [[ ! -d "${rundir}" || "$( stat -Lc '%a' "${rundir}" )" != "${tmpfiles_perms}" ]] ; then
+ mkdir -p "${rundir}"
+ chmod "${tmpfiles_perms}" "${rundir}"
+ use prefix || chgrp ${tmpfiles_group} "${rundir}"
+ fi
+
+ 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
+
+ if use prefix; then
+ ewarn "In order to allow screen to work correctly, please execute:"
+ ewarn " chown root:utmp ${EPREFIX}/usr/bin/screen"
+ if use multiuser; then
+ ewarn " chmod 4755 ${EPREFIX}/usr/bin/screen"
+ else
+ ewarn " chmod 2755 ${EPREFIX}/usr/bin/screen"
+ fi
+ ewarn " chown root:utmp ${rundir}"
+ ewarn "... as a privileged user"
+ fi
+}
+
+# vi: set diffopt=iwhite,filler: