summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Jones <cretin@gentoo.org>2002-12-16 19:36:07 +0000
committerStefan Jones <cretin@gentoo.org>2002-12-16 19:36:07 +0000
commitbf6a6d73c9c2071c3f7585e0e35fc53e333c7dd8 (patch)
tree59318d4ce8180157f53015740c8194562dfbcf12
parentThe Elm(tm) Mail System General Public License (diff)
downloadgentoo-2-bf6a6d73c9c2071c3f7585e0e35fc53e333c7dd8.tar.gz
gentoo-2-bf6a6d73c9c2071c3f7585e0e35fc53e333c7dd8.tar.bz2
gentoo-2-bf6a6d73c9c2071c3f7585e0e35fc53e333c7dd8.zip
A good screen ebuild!
-rw-r--r--app-misc/screen/ChangeLog9
-rw-r--r--app-misc/screen/files/digest-screen-3.9.13-r11
-rw-r--r--app-misc/screen/files/screen.pam4
-rw-r--r--app-misc/screen/files/screenrc353
-rw-r--r--app-misc/screen/screen-3.9.13-r1.ebuild81
5 files changed, 446 insertions, 2 deletions
diff --git a/app-misc/screen/ChangeLog b/app-misc/screen/ChangeLog
index 0d5da28912f5..86582f711bb0 100644
--- a/app-misc/screen/ChangeLog
+++ b/app-misc/screen/ChangeLog
@@ -1,9 +1,14 @@
# ChangeLog for app-misc/screen
# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/ChangeLog,v 1.16 2002/12/13 10:56:13 blizzy Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/ChangeLog,v 1.17 2002/12/16 19:36:07 cretin Exp $
06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords
-
+
+*screen-3.9.13-r1 (16 Dec 2002)
+
+ 16 Dec 2002; Stefan Jones <cretin@gentoo.org> : screen-3.9.13-r1.ebuild screenrc screen.pam
+ A new improved ebuild. Does everything! Many thanks to j2 on IRC for the ebuild.
+
*screen-3.9.13 (18 Nov 2002)
18 Nov 2002; Maik Schreiber <blizzy@gentoo.org> : New version.
diff --git a/app-misc/screen/files/digest-screen-3.9.13-r1 b/app-misc/screen/files/digest-screen-3.9.13-r1
new file mode 100644
index 000000000000..49ce7eb61075
--- /dev/null
+++ b/app-misc/screen/files/digest-screen-3.9.13-r1
@@ -0,0 +1 @@
+MD5 5a02b4bcd4d7ed64d13da683e03093a9 screen-3.9.13.tar.gz 728037
diff --git a/app-misc/screen/files/screen.pam b/app-misc/screen/files/screen.pam
new file mode 100644
index 000000000000..fec1ee275e87
--- /dev/null
+++ b/app-misc/screen/files/screen.pam
@@ -0,0 +1,4 @@
+#
+# This is the PAM configuration file for screen(1)
+#
+auth required pam_unix.so
diff --git a/app-misc/screen/files/screenrc b/app-misc/screen/files/screenrc
new file mode 100644
index 000000000000..4ee6e8fe6521
--- /dev/null
+++ b/app-misc/screen/files/screenrc
@@ -0,0 +1,353 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+#
+# /etc/screenrc
+#
+# This is the system wide screenrc.
+#
+# You can use this file to change the default behavior of screen system wide
+# or copy it to ~/.screenrc and use it as a starting point for your own
+# settings.
+#
+# Commands in this file are used to set options, bind screen functions to
+# keys, redefine terminal capabilities, and to automatically establish one or
+# more windows at the beginning of your screen session.
+#
+# This is not a comprehensive list of options, look at the screen manual for
+# details on everything that you can put in this file. Others examples:
+# http://www.math.fu-berlin.de/~guckes/screen/config.php3
+#
+#
+
+# ==============================================================================
+# SCREEN SETTINGS
+# ==============================================================================
+
+# ESCAPE - the COMMAND CHARACTER
+# ===============================================================
+# escape ^aa # default
+# escape ^pp # suggested binding for emacs users
+
+
+# PASSWORD
+# ===============================================================
+# This commands sets the *internal* password for the screen session.
+# WARNING!! If this is set then a "lock" command will only let you in to the
+# session after you enter the user's account password and then *also*
+# the internal password for that session. This gives additional safety but,
+# if you forget the internal password then you cannot resume your session.
+# Use :password to generate a password
+# password ODSJQf.4IJN7E # "1234"
+
+
+# VARIABLES
+# ===============================================================
+# No annoying audible bell, using "visual bell"
+ vbell on # default: off
+ vbell_msg " -- Bell,Bell!! -- " # default: "Wuff,Wuff!!"
+
+# Automatically detach on hangup.
+ autodetach on # default: on
+
+# 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
+
+# Enable/disable multiuser mode. Standard screen operation is singleuser.
+# In multiuser mode the commands acladd, aclchg, aclgrp and acldel can be used
+# to enable (and disable) other user accessing this screen session.
+# Requires suid-root.
+ multiuser off
+
+# Change default scrollback value for new windows
+ defscrollback 10000 # default: 100
+
+# Define the time that all windows monitored for silence should
+# wait before displaying a message. Default 30 seconds.
+ silencewait 15 # default: 30
+
+# bufferfile: The file to use for commands
+# "readbuf" ('<') and "writebuf" ('>'):
+# bufferfile $HOME/.screen_exchange
+#
+# hardcopydir: The directory which contains all hardcopies.
+# hardcopydir ~/.hardcopy
+# hardcopydir ~/.screen
+#
+# shell: Default process started in screen's windows.
+# Makes it possible to use a different shell inside screen
+# than is set as the default login shell.
+# If begins with a '-' character, the shell will be started as a login shell.
+# shell zsh
+# shell bash
+# shell ksh
+ shell -$SHELL
+
+# shellaka '> |tcsh'
+# shelltitle '$ |bash'
+
+# emulate .logout message
+ pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."
+
+# caption always " %w --- %c:%s"
+# caption always "%3n %t%? @%u%?%? [%h]%?%=%c"
+
+# advertise hardstatus support to $TERMCAP
+# termcapinfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\'
+
+# set every new windows hardstatus line to somenthing descriptive
+# defhstatus "screen: ^En (^Et)"
+
+# don't kill window after the process died
+# zombie "^["
+
+
+# XTERM TWEAKS
+# ===============================================================
+
+# xterm understands both im/ic and doesn't have a status line.
+# Note: Do not specify im and ic in the real termcap/info file as
+# some programs (e.g. vi) will not work anymore.
+ termcap xterm hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
+ terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
+
+# 80/132 column switching must be enabled for ^AW to work
+# change init sequence to not switch width
+ termcapinfo xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l
+
+# Make the output buffer large for (fast) xterms.
+# termcapinfo xterm* OL=10000
+ termcapinfo xterm* OL=100
+
+# tell screen that xterm can switch to dark background and has function
+# keys.
+ termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l'
+ termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
+ termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
+
+# special xterm hardstatus: use the window title.
+ termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
+
+#terminfo xterm 'vb=\E[?5h$<200/>\E[?5l'
+ termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l'
+
+# emulate part of the 'K' charset
+ termcapinfo xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337'
+
+# xterm-52 tweaks:
+# - uses background color for delete operations
+ termcapinfo xterm* be
+
+
+# WYSE TERMINALS
+# ===============================================================
+
+#wyse-75-42 must have flow control (xo = "terminal uses xon/xoff")
+#essential to have it here, as this is a slow terminal.
+ termcapinfo wy75-42 xo:hs@
+
+# New termcap sequences for cursor application mode.
+ termcapinfo wy* CS=\E[?1h:CE=\E[?1l:vi=\E[?25l:ve=\E[?25h:VR=\E[?5h:VN=\E[?5l:cb=\E[1K:CD=\E[1J
+
+
+# OTHER TERMINALS
+# ===============================================================
+
+# make hp700 termcap/info better
+ termcapinfo hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@'
+
+# Extend the vt100 desciption by some sequences.
+ termcap vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC
+ terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC
+ termcapinfo linux C8
+# old rxvt versions also need this
+# termcapinfo rxvt C8
+
+
+# KEYBINDINGS
+# ==============================================================
+# The "bind" command assign keys to (internal) commands
+# SCREEN checks all the keys you type; you type the key
+# which is known as the "command character" then SCREEN
+# eats this key, too, and checks whether this key is
+# "bound" to a command. If so then SCREEN will execute it.
+#
+# The command "bind" allows you to chose which keys
+# will be assigned to the commands.
+#
+# Some commands are bound to several keys -
+# usually to both some letter and its corresponding
+# control key combination, eg the command
+# "(create) screen" is bound to both 'c' and '^C'.
+#
+# The following list shows the default bindings:
+#
+# break ^B b
+# clear C
+# colon :
+# copy ^[ [
+# detach ^D d
+# digraph ^V
+# displays *
+# dumptermcap .
+# fit F
+# flow ^F f
+# focus ^I
+# hardcopy h
+# help ?
+# history { }
+# info i
+# kill K k
+# lastmsg ^M m
+# license ,
+# log H
+# login L
+# meta x
+# monitor M
+# next ^@ ^N sp n
+# number N
+# only Q
+# other ^X
+# pow_break B
+# pow_detach D
+# prev ^H ^P p ^?
+# quit \
+# readbuf <
+# redisplay ^L l
+# remove X
+# removebuf =
+# reset Z
+# screen ^C c
+# select " '
+# silence _
+# split S
+# suspend ^Z z
+# time ^T t
+# title A
+# vbell ^G
+# version v
+# width W
+# windows ^W w
+# wrap ^R r
+# writebuf >
+# xoff ^S s
+# xon ^Q q
+# ^] paste .
+# - select -
+# 0 select 0
+# 1 select 1
+# 2 select 2
+# 3 select 3
+# 4 select 4
+# 5 select 5
+# 6 select 6
+# 7 select 7
+# 8 select 8
+# 9 select 9
+# I login on
+# O login off
+# ] paste .
+#
+
+# And here are the default bind commands if you need them:
+#
+# bind A title
+# bind C clear
+# bind D pow_detach
+# bind F fit
+# bind H log
+# bind I login on
+# bind K kill
+# bind L login
+# bind M monitor
+# bind N number
+# bind O login off
+# bind Q only
+# bind S split
+# bind W width
+# bind X remove
+# bind Z reset
+
+# Let's remove some dangerous key bindings ...
+ bind k
+ bind ^k
+# bind . dumptermcap # default
+ bind .
+# bind ^\ quit # default
+ bind ^\
+# bind \\ quit # default
+ bind \\
+# bind ^h ??? # default
+ bind ^h
+# bind h hardcopy # default
+ bind h
+
+# ... and make them better.
+ bind 'K' kill
+ bind 'I' login on
+ bind 'O' login off
+ bind '}' history
+
+# Yet another hack:
+# Prepend/append register [/] to the paste if ^a^] is pressed.
+# This lets me have autoindent mode in vi.
+ register [ "\033:se noai\015a"
+ register ] "\033:se ai\015a"
+ bind ^] paste [.]
+
+
+# hardstatus alwaysignore
+# hardstatus alwayslastline "%Lw"
+
+# Resize the current region. The space will be removed from or added to
+# the region below or if there's not enough space from the region above.
+ bind = resize =
+ bind + resize +3
+ bind - resize -3
+# bind _ resize max
+#
+# attrcolor u "-u b"
+# attrcolor b "R"
+
+# STARTUP SCREENS
+# ===============================================================
+# Defines the time screen delays a new message when one message
+# is currently displayed. The default is 1 second.
+# msgminwait 2
+
+# Time a message is displayed if screen is not disturbed by
+# other activity. The dafault is 5 seconds:
+# msgwait 2
+
+# Briefly show the version number of this starting
+# screen session - but only for *one* second:
+ msgwait 1
+ version
+
+# Welcome the user:
+# echo "welcome :-)"
+# echo "I love you today."
+
+# Uncomment one/some following lines to automatically let
+# SCREEN start some programs in the given window numbers:
+# screen -t MAIL 0 mutt
+# screen -t EDIT 1 vim
+# screen -t GOOGLE 2 links http://www.google.com
+# screen -t NEWS 3 slrn
+# screen -t WWW 4 links http://www.math.fu-berlin.de/~guckes/
+# screen 5
+# screen 6
+
+# Set the environment variable var to value string. If only var is specified,
+# you'll be prompted to enter a value. If no parameters are specified,
+# you'll be prompted for both variable and value. The environment is
+# inherited by all subsequently forked shells.
+# setenv PROMPT_COMMAND 'echo -n -e "\033k\033\134"'
+
+# Don't you want to start programs which need a DISPLAY ?
+# setenv DISPLAY ''
diff --git a/app-misc/screen/screen-3.9.13-r1.ebuild b/app-misc/screen/screen-3.9.13-r1.ebuild
new file mode 100644
index 000000000000..557b762c488a
--- /dev/null
+++ b/app-misc/screen/screen-3.9.13-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-misc/screen/screen-3.9.13-r1.ebuild,v 1.1 2002/12/16 19:36:07 cretin Exp $
+
+inherit flag-o-matic
+
+IUSE="pam"
+DESCRIPTION="Screen is a full-screen window manager that multiplexes a physical terminal between several processes"
+SRC_URI="ftp://ftp.uni-erlangen.de/pub/utilities/screen/${P}.tar.gz"
+HOMEPAGE="http://www.math.fu-berlin.de/~guckes/screen/"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="x86 ppc sparc alpha"
+
+DEPEND=">=sys-libs/ncurses-5.2
+ pam? ( >=sys-libs/pam-0.75 )"
+
+src_unpack() {
+ unpack ${A} && cd ${S}
+
+ # Fix manpage.
+ sed -i "s:/usr/local/etc/screenrc:/etc/screenrc:g;
+ s:/usr/local/screens:/var/run/screen:g;
+ s:/local/etc/screenrc:/etc/screenrc:g;
+ s:/etc/utmp:/var/run/utmp:g;
+ s:/local/screens/S-:/var/run/screen/S-:g" doc/screen.1
+}
+
+src_compile() {
+ local myconf
+
+ addpredict "`tty`"
+ addpredict "${SSH_TTY}"
+
+ # check config.h for other settings such as the
+ # max-number of windows allowed by screen.
+ append-flags "-DPTYMODE=0620 -DPTYGROUP=5"
+ use pam && myconf="--enable-pam" && append-flags "-DUSE_PAM"
+
+ econf --with-socket-dir=/var/run/screen \
+ --with-sys-screenrc=/etc/screenrc \
+ --enable-rxvt_osc ${myconf}
+
+ emake || die "Failed to compile"
+}
+
+src_install () {
+ dobin screen
+ fperms 2755 /usr/bin/screen
+
+ # the "sticky" bit isn't required, but makes things a little more secure
+ diropts -m 1775 && dodir /var/run/screen
+
+ # can't use this cause fowners do not support multiple args.
+ # fowners root.utmp /{usr/bin,var/run}/screen
+ chown root.utmp ${D}/{usr/bin,var/run}/screen
+
+ insinto /usr/share/terminfo ; doins terminfo/screencap
+ insinto /usr/share/screen/utf8encodings ; doins utf8encodings/??
+ insopts -m 644 ; insinto /etc ; doins ${FILESDIR}/screenrc
+
+ use pam && { insinto /etc/pam.d ; newins ${FILESDIR}/screen.pam screen ; }
+
+ dodoc README ChangeLog INSTALL COPYING TODO NEWS* \
+ doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
+
+ doman doc/screen.1
+ doinfo doc/screen.info*
+}
+
+pkg_postinst() {
+ einfo "NOTE: By default ${PF}: "
+ einfo " Uses /var/run/screen instead of /tmp/screens as its \"socket directory\"."
+ einfo " Runs setgid "utmp" instead of setuid root."
+ einfo " Uses /etc/screenrc instead of /etc/screenrc/screenrc as its global config file."
+ echo
+ ewarn "NOTE: Some dangerous key bindings have been removed or changed to more safe values."
+ ewarn "For more info, please check /etc/screenrc."
+ echo
+}