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.