Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
30cacffc13 | ||
|
|
8af1031c04 | ||
|
|
2d4ed737ba | ||
|
|
fb21475e98 |
11 changed files with 335 additions and 21 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
anyterm-1.1.29.tbz2
|
||||
21
Makefile
21
Makefile
|
|
@ -1,21 +0,0 @@
|
|||
# Makefile for source rpm: anyterm
|
||||
# $Id$
|
||||
NAME := anyterm
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attept a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
||||
13
anyterm-change-url-prefix.patch
Normal file
13
anyterm-change-url-prefix.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
Index: browser/anyterm.js
|
||||
===================================================================
|
||||
--- browser/anyterm.js (revision 5727)
|
||||
+++ browser/anyterm.js (working copy)
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
var undefined;
|
||||
|
||||
-var url_prefix = "";
|
||||
+var url_prefix = "proxy/";
|
||||
|
||||
var frame;
|
||||
var term;
|
||||
16
anyterm-cmd
Normal file
16
anyterm-cmd
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
# Default command anyterm will run.
|
||||
# Simply prompt the user for a username and
|
||||
# ssh locally as that user
|
||||
|
||||
while : ; do
|
||||
echo -n "Username: "
|
||||
read U
|
||||
# Make sure it does not start with a "-" and only contains valid
|
||||
# username characters.
|
||||
if [[ "$U" =~ "^[A-Za-z0-9_][A-Za-z0-9_-]*\$" ]]; then
|
||||
ssh "$U@localhost"
|
||||
else
|
||||
echo "Bad username."
|
||||
fi
|
||||
done
|
||||
12
anyterm-libpbe-fix.patch
Normal file
12
anyterm-libpbe-fix.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
Index: src/SmtpClient.cc
|
||||
===================================================================
|
||||
--- src/SmtpClient.cc (revision 4996)
|
||||
+++ src/SmtpClient.cc (working copy)
|
||||
@@ -22,6 +22,7 @@
|
||||
|
||||
#include <syslog.h>
|
||||
#include <unistd.h>
|
||||
+#include <stdio.h>
|
||||
|
||||
#ifdef __OpenBSD__
|
||||
// Is this really needed?
|
||||
24
anyterm.conf
Normal file
24
anyterm.conf
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
Alias /anyterm /usr/share/anyterm
|
||||
|
||||
<Location /anyterm>
|
||||
# admins are greatly encouraged to uncomment and
|
||||
# install/use mod_ssl here to secure traffic
|
||||
# SSLRequireSSL
|
||||
# Require valid-user
|
||||
# AuthType YYY
|
||||
|
||||
DirectoryIndex anyterm.html
|
||||
</Location>
|
||||
|
||||
<Location /anyterm/proxy>
|
||||
# admins are greatly encouraged to uncomment and
|
||||
# install/use mod_ssl here to secure traffic
|
||||
# SSLRequireSSL
|
||||
# Require valid-user
|
||||
# AuthType YYY
|
||||
|
||||
# proxy to the local-only anyterm daemon
|
||||
ProxyPass http://localhost:81 ttl=60
|
||||
ProxyPassReverse http://localhost:81
|
||||
</Location>
|
||||
|
||||
146
anyterm.spec
Normal file
146
anyterm.spec
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
Name: anyterm
|
||||
Version: 1.1.29
|
||||
Release: 8%{?dist}
|
||||
Summary: A web-based terminal emulator
|
||||
|
||||
Group: Applications/Internet
|
||||
License: GPLv2+
|
||||
URL: http://anyterm.org
|
||||
|
||||
Source0: http://anyterm.org/download/anyterm-1.1.29.tbz2
|
||||
Source1: anyterm-cmd
|
||||
Source2: anytermd.init
|
||||
Source3: anytermd.sysconfig
|
||||
Source4: anyterm.conf
|
||||
|
||||
# http://anyterm.org/1.1/install.html#secid2252601
|
||||
Patch0: anyterm-change-url-prefix.patch
|
||||
|
||||
# http://anyterm.org/forums/viewtopic.php?id=581
|
||||
Patch1: anyterm-libpbe-fix.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
||||
BuildRequires: boost-devel
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: prelink
|
||||
Requires(pre): shadow-utils
|
||||
Requires(post): chkconfig
|
||||
Requires(preun): chkconfig
|
||||
Requires(preun): initscripts
|
||||
Requires(postun): initscripts
|
||||
|
||||
%package httpd
|
||||
Summary: Httpd proxy configuration for anyterm
|
||||
Group: Applications/Internet
|
||||
License: GPLv2+
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: httpd
|
||||
|
||||
|
||||
%description
|
||||
The Anyterm web-based terminal emulator, permits terminal and/or arbitrary
|
||||
command access via http. The anyterm daemon can be configured to run any
|
||||
arbitrary command, redirecting all standard input / output / error to
|
||||
and from any javascript-enabled web browser in real time.
|
||||
|
||||
%description httpd
|
||||
The httpd configuration necessary to proxy anyterm.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p0
|
||||
cd libpbe/
|
||||
%patch1 -p0
|
||||
|
||||
%build
|
||||
export CFLAGS="$RPM_OPT_FLAGS"
|
||||
export CXXFLAGS="$RPM_OPT_FLAGS"
|
||||
%{__make} %{?_smp_mflags} CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS"
|
||||
%{__gzip} anytermd.1
|
||||
execstack -c anytermd
|
||||
|
||||
%install
|
||||
%{__rm} -rf %{buildroot}
|
||||
|
||||
%{__install} -Dp -m0755 anytermd %{buildroot}%{_sbindir}/anytermd
|
||||
%{__install} -Dp -m0644 anytermd.1.gz %{buildroot}%{_mandir}/man1/anytermd.1.gz
|
||||
%{__install} -Dp -m0755 %{SOURCE1} %{buildroot}%{_libexecdir}/%{name}/anyterm-cmd
|
||||
%{__install} -Dp -m0755 %{SOURCE2} %{buildroot}%{_initrddir}/anyterm
|
||||
%{__install} -Dp -m0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/anyterm
|
||||
%{__install} -Dp -m0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/httpd/conf.d/anyterm.conf
|
||||
|
||||
%{__mkdir} -p %{buildroot}%{_datadir}/anyterm/
|
||||
for f in browser/*.{html,css,js,png,gif}; do
|
||||
%{__install} -m644 "$f" %{buildroot}%{_datadir}/anyterm/
|
||||
done
|
||||
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%pre
|
||||
# create anyterm group / user
|
||||
getent group anyterm >/dev/null || \
|
||||
/usr/sbin/groupadd -r anyterm
|
||||
getent passwd anyterm > /dev/null || \
|
||||
/usr/sbin/useradd -r -s /sbin/nologin -d /dev/null \
|
||||
-M -c 'Anyterm user' -g anyterm anyterm
|
||||
exit 0
|
||||
|
||||
%post
|
||||
# adds the proper /etc/rc*.d links for the script
|
||||
/sbin/chkconfig --add anyterm
|
||||
|
||||
%preun
|
||||
if [ $1 = 0 ] ; then
|
||||
/sbin/service anyterm stop >/dev/null 2>&1
|
||||
/sbin/chkconfig --del anyterm
|
||||
fi
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%{_sbindir}/anytermd
|
||||
%{_libexecdir}/anyterm/
|
||||
%{_mandir}/man1/anytermd.1.gz
|
||||
%{_initrddir}/anyterm
|
||||
%{_datadir}/anyterm/
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/anyterm
|
||||
%doc LICENSE
|
||||
|
||||
%files httpd
|
||||
%defattr(-,root,root,-)
|
||||
%config(noreplace) %{_sysconfdir}/httpd/conf.d/anyterm.conf
|
||||
|
||||
%changelog
|
||||
* Wed Jul 15 2009 <mmorsi@redhat.com> - 1.1.29-8
|
||||
- correct anyterm dependency for anyterm-httpd subpkg
|
||||
- removed useradd/group add stdout redirection
|
||||
- def attr for anyterm-httpd subpkg
|
||||
- slight rewording and other trivial tasks
|
||||
|
||||
* Tue Jul 14 2009 <mmorsi@redhat.com> - 1.1.29-7
|
||||
- removed useradd/group add stderr redirection
|
||||
- used all macros where i could
|
||||
- create httpd subpackage for anyterm/httpd integration
|
||||
|
||||
* Mon Jul 13 2009 <mmorsi@redhat.com> - 1.1.29-6
|
||||
- fixed location of %%doc macro, and resolved other
|
||||
macro issues
|
||||
- moved anyterm-cmd from bindir to libexecdir/anyterm
|
||||
|
||||
* Thu Jul 09 2009 <mmorsi@redhat.com> - 1.1.29-5
|
||||
- added CFLAGS / CXXFLAGS to pick up RPM_OPT_FLAGS
|
||||
|
||||
* Tue Jul 07 2009 <mmorsi@redhat.com> - 1.1.29-4
|
||||
- removed pbuild
|
||||
- removed executable stack (requires prelink/execstack)
|
||||
|
||||
* Thu Apr 09 2009 <mmorsi@redhat.com> - 1.1.29-3
|
||||
- updated spec / init based on rpmlint output
|
||||
|
||||
* Wed Apr 08 2009 <mmorsi@redhat.com> - 1.1.29-2
|
||||
- Serve static content via apache
|
||||
- Use 1.1.29 release and newly added patches
|
||||
|
||||
* Mon Mar 16 2009 <mmorsi@redhat.com> - 1.1.29-1
|
||||
- Initial checkout and build.
|
||||
100
anytermd.init
Normal file
100
anytermd.init
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
#
|
||||
# anyterm startup script for anyterm
|
||||
#
|
||||
# chkconfig: - 97 03
|
||||
# description: anyterm is a web based terminal emulator.
|
||||
|
||||
[ -r /etc/sysconfig/anyterm ] && . /etc/sysconfig/anyterm
|
||||
|
||||
ANYTERM_CMD="${ANYTERM_CMD:-/usr/libexec/anyterm/anyterm-cmd}"
|
||||
ANYTERM_PORT="${ANYTERM_PORT:-81}"
|
||||
ANYTERM_USER="${ANYTERM_USER:-anyterm}"
|
||||
ANYTERM_LOCAL_ONLY="${ANYTERM_LOCAL_ONLY:-true}"
|
||||
ANYTERM_CHARACTER_SET="${ANYTERM_CHARACTER_SET:-UTF8}"
|
||||
|
||||
DEFAULT_LOCKFILE=/var/lock/subsys/anyterm
|
||||
ANYTERM_LOCKFILE="${ANYTERM_LOCKFILE:-$DEFAULT_LOCKFILE}"
|
||||
|
||||
ANYTERM_PROG=/usr/sbin/anytermd
|
||||
|
||||
. /etc/init.d/functions
|
||||
|
||||
if [ $ANYTERM_LOCAL_ONLY == "false" -o $ANYTERM_LOCAL_ONLY == "no" ]; then
|
||||
ANYTERM_LOCAL_ONLY=""
|
||||
else
|
||||
ANYTERM_LOCAL_ONLY="--local-only"
|
||||
fi
|
||||
|
||||
start() {
|
||||
echo -n "Staring anyterm"
|
||||
if [ -e /var/run/anytermd.pid ] && [ -e /proc/$(cat /var/run/anytermd.pid) ]; then
|
||||
echo -n " anyterm already running"
|
||||
echo_failure
|
||||
echo
|
||||
return 1
|
||||
fi
|
||||
|
||||
$ANYTERM_PROG -c "$ANYTERM_CMD" \
|
||||
-p $ANYTERM_PORT -u $ANYTERM_USER \
|
||||
-s $ANYTERM_CHARACTER_SET $ANYTERM_LOCAL_ONLY
|
||||
|
||||
RETVAL=$?
|
||||
if [ $RETVAL -eq 0 ]; then
|
||||
echo_success
|
||||
echo
|
||||
touch $ANYTERM_LOCKFILE
|
||||
else
|
||||
echo_failure
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo -n "Shutting down anyterm"
|
||||
killproc $ANYTERM_PROG
|
||||
|
||||
RETVAL=$?
|
||||
if [ $RETVAL -eq 0 ]; then
|
||||
echo_success
|
||||
echo
|
||||
rm $ANYTERM_LOCKFILE
|
||||
else
|
||||
echo_failure
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
stop
|
||||
start
|
||||
;;
|
||||
condrestart|try-restart)
|
||||
status $ANYTERM >/dev/null 2>&1 || exit 0
|
||||
stop
|
||||
start
|
||||
;;
|
||||
reload)
|
||||
;;
|
||||
force-reload)
|
||||
restart
|
||||
;;
|
||||
status)
|
||||
status $ANYTERM_PROG
|
||||
RETVAL=$?
|
||||
;;
|
||||
*)
|
||||
echo "Usage: anytermd {start|stop|restart|status}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
||||
22
anytermd.sysconfig
Normal file
22
anytermd.sysconfig
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# anyterm daemon configuration variables
|
||||
|
||||
# command which anyterm will launch when client connects.
|
||||
# ANYTERM_CMD=/usr/libexec/anyterm/anyterm-cmd
|
||||
|
||||
# port which anytermd will listen on
|
||||
# ANYTERM_PORT=81
|
||||
|
||||
# user anyterm will run as
|
||||
# ANYTERM_USER=anyterm
|
||||
|
||||
# toggle the 'local only' flag
|
||||
# (whether anyterm will or will not
|
||||
# accept connections from hosts other
|
||||
# than localhost)
|
||||
# ANYTERM_LOCAL_ONLY=true
|
||||
|
||||
# character set anyterm will use
|
||||
# ANYTERM_CHARACTER_SET=UTF8
|
||||
|
||||
# subsys lock file to use
|
||||
# ANYTERM_LOCKFILE=/var/lock/subsys/anyterm
|
||||
1
sources
1
sources
|
|
@ -0,0 +1 @@
|
|||
84fe7f3b4f516815901d1f545e79f13d anyterm-1.1.29.tbz2
|
||||
Loading…
Add table
Add a link
Reference in a new issue