--- screen-4.0.3-r4.ebuild 2011-07-15 17:31:00.000000000 +0300 +++ screen-4.0.3-r5.ebuild 2012-01-16 22:38:04.881480946 +0200 @@ -2,9 +2,9 @@ # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/app-misc/screen/screen-4.0.3-r4.ebuild,v 1.8 2011/07/15 14:31:00 xarthisius Exp $ -EAPI="3" +EAPI=4 -WANT_AUTOCONF="2.5" +WANT_AUTOCONF=2.5 inherit eutils flag-o-matic toolchain-funcs pam autotools @@ -14,10 +14,10 @@ LICENSE="GPL-2" SLOT="0" -KEYWORDS="alpha amd64 arm 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" +KEYWORDS="~alpha ~amd64 ~arm ~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" -RDEPEND=">=sys-libs/ncurses-5.2 +RDEPEND=">=sys-libs/ncurses-5.7-r7 pam? ( virtual/pam ) selinux? ( sec-policy/selinux-screen )" DEPEND="${RDEPEND}" @@ -60,7 +60,7 @@ epatch "${FILESDIR}"/screen-4.0.3-config.h-autoconf-2.62.patch # crosscompile patch - epatch "${FILESDIR}"/"${P}"-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 @@ -75,10 +75,10 @@ # 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:/usr/local/screens:${EPREFIX}/var/lib/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" \ + -e "s:/local/screens/S-:${EPREFIX}/var/lib/screen/S-:g" \ doc/screen.1 \ || die "sed doc/screen.1 failed" @@ -102,15 +102,14 @@ use debug && append-flags "-DDEBUG" econf \ - --with-socket-dir="${EPREFIX}/var/run/screen" \ + --with-socket-dir="${EPREFIX}/var/lib/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) \ - || die "econf failed" + $(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. @@ -119,48 +118,54 @@ } src_install() { - dobin screen || die "dobin failed" - keepdir /var/run/screen || die "keepdir failed" + dobin screen + keepdir /var/lib/screen if use multiuser || use prefix then - fperms 4755 /usr/bin/screen || die "fperms failed" + fperms 4755 /usr/bin/screen else - fowners root:utmp /{usr/bin,var/run}/screen \ - || die "fowners failed, use multiuser USE-flag instead" - fperms 2755 /usr/bin/screen || die "fperms failed" + fowners root:utmp /{usr/bin,var/lib}/screen + fperms 2755 /usr/bin/screen fi insinto /usr/share/screen - doins terminfo/{screencap,screeninfo.src} || die "doins failed" + doins terminfo/{screencap,screeninfo.src} insinto /usr/share/screen/utf8encodings - doins utf8encodings/?? || die "doins failed" + doins utf8encodings/?? insinto /etc - doins "${FILESDIR}"/screenrc || die "doins failed" + doins "${FILESDIR}"/screenrc - pamd_mimic_system screen auth || die "pamd_mimic_system failed" + pamd_mimic_system screen auth dodoc \ README ChangeLog INSTALL TODO NEWS* patchlevel.h \ - doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps} \ - || die "dodoc failed" + doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps} - doman doc/screen.1 || die "doman failed" - doinfo doc/screen.info* || die "doinfo failed" + doman doc/screen.1 + doinfo doc/screen.info* } pkg_postinst() { if use prefix; then - chmod 0777 "${EROOT}"/var/run/screen + chmod 0777 "${EROOT}"/var/lib/screen elif use multiuser; then - chown root:0 "${EROOT}"/var/run/screen - chmod 0755 "${EROOT}"/var/run/screen + chown root:0 "${EROOT}"/var/lib/screen + chmod 0755 "${EROOT}"/var/lib/screen else - chown root:utmp "${EROOT}"/var/run/screen - chmod 0775 "${EROOT}"/var/run/screen + chown root:utmp "${EROOT}"/var/lib/screen + chmod 0775 "${EROOT}"/var/lib/screen fi 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." + + if [[ -d ${EROOT}/var/run/screen ]] && [[ -d ${EROOT}/var/lib/screen ]]; then + ebegin "Moving existing socket directories from /var/run/screen to /var/lib/screen" + mv -f "${EROOT}"/var/run/screen/* "${EROOT}"/var/lib/screen &>/dev/null + rm -rf "${EROOT}"/var/run/screen &>/dev/null + ln -s "${EROOT}"/var/lib/screen "${EROOT}"/var/run/screen &>/dev/null + eend $? + fi }