diff options
author | Stuart Shelton <stuart@shelton.me> | 2017-01-30 11:52:03 +0000 |
---|---|---|
committer | Stuart Shelton <stuart@shelton.me> | 2017-01-30 11:52:03 +0000 |
commit | f768e63a69501da670e3dc378d930c06db29f16d (patch) | |
tree | 13969c01d4dae1579f528a47df52104aa22088e3 /app-misc | |
parent | Update file raspberrypi-firmware-config.txt, affecting sys-boot/raspberrypi-f... (diff) | |
download | srcshelton-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/Manifest | 2 | ||||
-rw-r--r-- | app-misc/screen/files/screen-4.5.0-logfile-access-revert.patch | 17 | ||||
-rw-r--r-- | app-misc/screen/screen-4.5.0-r1.ebuild | 204 |
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: |