Package: wnpp
Severity: normal

I'm offering some packages up for adoption so I have more time for the
others.

retty so far only exists on i386, though upstream has said they would
want to port it to amd64. There's also a bash script that uses gdb to
do the same, maybe it could be shipped along with retty. (Attached.)

Maintaining a package requires time and skills. Please only adopt this
package if you are *sure* you will have enough time and attention to
work on it.

If you want to be the new maintainer, please see
http://www.debian.org/devel/wnpp/index.html#howto-rfa for detailed
instructions how to adopt a package properly.

Some information about this package:

Package: retty
Binary: retty
Version: 1.0-1
Priority: extra
Section: utils
Maintainer: Christoph Berg <[EMAIL PROTECTED]>
Build-Depends: debhelper (>> 4.0.0)
Architecture: i386
Standards-Version: 3.7.2
Format: 1.0
Directory: pool/main/r/retty
Files:
 25edd0d47d623da7c7c96d9cefd07a71 546 retty_1.0-1.dsc
 f49667d8115b7c5a907058c9623fc465 13738 retty_1.0.orig.tar.gz
 3ca26d7510ee97138ed6fc8366b73615 1325 retty_1.0-1.diff.gz

Package: retty
Priority: extra
Section: utils
Installed-Size: 68
Maintainer: Christoph Berg <[EMAIL PROTECTED]>
Architecture: i386
Version: 1.0-1
Depends: libc6 (>= 2.3.6-6)
Filename: pool/main/r/retty/retty_1.0-1_i386.deb
Size: 9560
MD5sum: c44bc6d992192cdd17060437ff80f6e1
SHA1: 0bef69f0d39215b9693ddea4eede4ca5da30ad31
SHA256: 74ffc1cdae1da8c7479f04261ecd597d8c234974b4e7b5fd4db2a820aee51e56
Description: attach processes running on other terminals
 retty is a tiny tool that lets you attach processes running on other
 terminals. So you were running that mutt outside of screen at your home
 machine and now wanna check your mail? Attach it with retty, do whatever you
 want, detach it again and everything is as it was before. You don't have to
 run them all in screen just in case.
 .
 Note that the tool is only very lightly tested, so take some care. Always
 check first if attaching given application works before you will do it for
 real.


Christoph
-- 
[EMAIL PROTECTED] | http://www.df7cb.de/
#!/bin/bash
#
# Trick process(es) to talk to current terminal
#
# Copyright (c) 2004, 2005 Timo Lindfors <[EMAIL PROTECTED]>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
#
# 3. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

function usage() {
    echo usage: $0 pid ...
    exit 1
}
TCGETS=0x5401
TCSETS=0x5402
SIZEOF_STRUCT_TERMIOS=60
O_RDWR=2
((FLAGS=O_RDWR))

if [ x`which gdb` = x ]; then
    echo gdb not found in PATH. Please apt-get install gdb
    exit
fi
if [ x$1 = x ]; then
    usage;
fi

for PID in $@; do
    MYPID=$$
    MYFD0=`readlink /proc/$MYPID/fd/0`
    MYFD1=`readlink /proc/$MYPID/fd/1`
    MYFD2=`readlink /proc/$MYPID/fd/2`
    EXE=`readlink /proc/$PID/exe`
    if [ x$EXE = x ]; then
        echo $0: $PID: no such pid
        exit
    fi

    BATCHFILE=`mktemp /tmp/gdb.XXXXXXXXXXXX`
    cat >$BATCHFILE <<EOF
file $EXE
attach $PID
call malloc($SIZEOF_STRUCT_TERMIOS)
call malloc($SIZEOF_STRUCT_TERMIOS)
call malloc($SIZEOF_STRUCT_TERMIOS)
call ioctl(0, $TCGETS, \$1)
call ioctl(1, $TCGETS, \$2)
call ioctl(2, $TCGETS, \$3)
call close(0)
call close(1)
call close(2)
call open("$MYFD0", $FLAGS)
call open("$MYFD1", $FLAGS)
call open("$MYFD2", $FLAGS)
call ioctl(0, $TCSETS, \$1)
call ioctl(1, $TCSETS, \$2)
call ioctl(2, $TCSETS, \$3)
call free(\$1)
call free(\$2)
call free(\$3)
detach
EOF
    gdb -batch -x $BATCHFILE >/dev/null 2>&1 </dev/null
    rm $BATCHFILE
done
cat <<EOF
Process(es) $@ should now be talking to this pty. Refresh the screen
(e.g. CTRL+L) and have fun!
EOF

exec tail -f --pid=$PID /proc/$PID/stat

Attachment: signature.asc
Description: Digital signature

Reply via email to