Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > main-src > by-pkgid > 54b8245ed129dc996845bb5b02add72d > files > 4

terminal-server-1.5-7mdk.src.rpm

%define name terminal-server
%define version 1.5
%define release 7mdk

Summary: Terminal Server
Name: %{name}
Version: %{version}
Release: %{release}
Source0: %{name}-%{version}.tar.bz2
Source1: %{name}-mdk-mods.tar.bz2
Patch0: %{name}-mdk-fstab.patch.bz2
License: GPL
URL:	 http://www.fensystems.co.uk/SRPMS.fensys
Group: Networking/Other
BuildRoot: %{_tmppath}/%{name}-buildroot
Requires: clusternfs tftp-server dhcp-server devfsd 
Requires: mkinitrd-net drakxtools-newt usermode
%ifarch %{ix86}
Requires: etherboot
%endif
Requires: perl-GTK drakxtools
BuildArchitectures: noarch

%description
This package includes the files necessary in order to provide terminal
server functionality for diskless workstations on your network.

There are security implications to installing this package.  
Specifically, it will make your entire filesystem accessible to any
station on the network.  Network stations will have the privilege level of
an anonymous user (via the all_squash nfs option), so this is not a major
security risk.  Network booting may not function correctly (or at all) if
certain key parts of your filesystem are not world-readable.

A first pass at a Mandrake configuration tool, drakTermServ can be found in 
drakxtools.  Initially it is capable of setting up/start/stopping the server, 
creating etherboot floppy disks and isos, creating kernel net boot images for 
client machines, maintaining client user and machine lists, and configuring 
the dhcpd and clusternfs servers.

A fairly generic vesa XFree86Config-4$$CLIENT$$ is included for the client 
machines.

Basic cdrom/floppy mount points are also included, but you'll probably want 
to assign these per client machine.

Future drakTermServ plans include managing custom client files.

This package is based on work by Michael Brown <mbrown@fensystems.co.uk>, 
with minor modifications for inclusion in Mandrake Linux.

%prep
%setup -q -n server-side
%patch -p1

%build

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/X11
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/rc{3,5}.d'$$CLIENT$$'
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/terminal-server/profiles
mkdir -p $RPM_BUILD_ROOT/sbin
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}
mkdir -p $RPM_BUILD_ROOT/mnt/'cdrom$$CLIENT$$'
mkdir -p $RPM_BUILD_ROOT/mnt/'floppy$$CLIENT$$'

# ClusterNFS $$CLIENT$$ files
install -m 644 inittab $RPM_BUILD_ROOT%{_sysconfdir}/'inittab$$CLIENT$$'
install -m 644 fstab $RPM_BUILD_ROOT%{_sysconfdir}/'fstab$$CLIENT$$'
install -m 644 shadow $RPM_BUILD_ROOT%{_sysconfdir}/'shadow$$CLIENT$$'
install -m 644 network $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/'network$$CLIENT$$'
#install -m 755 prefdm $RPM_BUILD_ROOT%{_sysconfdir}/X11/'prefdm$$CLIENT$$'
ln -s /dev/null $RPM_BUILD_ROOT/.autofsck'$$CLIENT$$'
ln -s /dev/null $RPM_BUILD_ROOT/sbin/depmod'$$CLIENT$$'
ln -s /dev/null $RPM_BUILD_ROOT%{_sbindir}/fndSession'$$CLIENT$$'
ln -s /proc/mounts $RPM_BUILD_ROOT%{_sysconfdir}/mtab'$$CLIENT$$'
ln -s /tmp/XF86Config.test $RPM_BUILD_ROOT%{_sysconfdir}/X11/XF86Config.test'$$CLIENT$$'
ln -s /tmp/XF86Config.test-4 $RPM_BUILD_ROOT%{_sysconfdir}/X11/XF86Config.test-4'$$CLIENT$$'
ln -s /tmp $RPM_BUILD_ROOT%{_localstatedir}/xkb'$$CLIENT$$'

# $$CLIENT$$ init scripts
ln -s ../init.d/xfs $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/rc5.d'$$CLIENT$$'/S90xfs
ln -s ../init.d/xfs $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/rc3.d'$$CLIENT$$'/S90xfs

# Default terminal-server profile
install -m 755 xterminal $RPM_BUILD_ROOT%{_sysconfdir}/terminal-server/profiles/xterminal

# General configuration files
install -m 644 dhcpd.conf.terminal-server.example $RPM_BUILD_ROOT%{_sysconfdir}/
install -m 644 exports $RPM_BUILD_ROOT%{_sysconfdir}/exports.terminal-server

# Utilities
install -m 755 mkdhcpdconf $RPM_BUILD_ROOT%{_sbindir}/

# Mandrakization + drakTermServ
pushd $RPM_BUILD_ROOT
tar -xjf %{SOURCE1}
popd

# empty raidtab for client machines
touch $RPM_BUILD_ROOT%{_sysconfdir}/raidtab'$$CLIENT$$'

# installed but not packaged files
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/X11/prefdm'$$CLIENT$$'

%clean
rm -rf $RPM_BUILD_ROOT

%post
# bypass this for now - drakTermServ set's them up
#if [ ! -f %{_sysconfdir}/dhcpd.conf ]; then
#  cp %{_sysconfdir}/dhcpd.conf.terminal-server.example %{_sysconfdir}/dhcpd.conf
#  %{_sbindir}/mkdhcpdconf >> %{_sysconfdir}/dhcpd.conf
#fi
#if ! egrep '^/[[:space:]]' %{_sysconfdir}/exports > /dev/null; then
#  cat %{_sysconfdir}/exports.terminal-server >> %{_sysconfdir}/exports
#fi

%files
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/inittab$$CLIENT$$
%config(noreplace) %{_sysconfdir}/fstab$$CLIENT$$
%config(noreplace) %{_sysconfdir}/shadow$$CLIENT$$
%config(noreplace) %{_sysconfdir}/raidtab$$CLIENT$$
%config(noreplace) %{_sysconfdir}/sysconfig/network$$CLIENT$$
%config(noreplace) %{_sysconfdir}/X11/gdm/gdm.conf$$CLIENTS$$
%config(noreplace) %{_sysconfdir}/X11/xdm/Xresources$$CLIENTS$$
%{_datadir}/config/kdm/kdmrc$$CLIENTS$$
/.autofsck$$CLIENT$$
/sbin/depmod$$CLIENT$$
%{_sbindir}/fndSession$$CLIENT$$
%{_sysconfdir}/mtab$$CLIENT$$
%{_sysconfdir}/X11/XF86Config.test$$CLIENT$$
%{_sysconfdir}/X11/XF86Config.test-4$$CLIENT$$
%config(noreplace) %{_sysconfdir}/X11/XF86Config-4$$CLIENT$$
%{_localstatedir}/xkb$$CLIENT$$
%{_sysconfdir}/rc.d/rc3.d$$CLIENT$$
%{_sysconfdir}/rc.d/rc5.d$$CLIENT$$
%dir %{_sysconfdir}/terminal-server/profiles
%config(noreplace) %{_sysconfdir}/terminal-server/profiles/xterminal
%config(noreplace) %{_sysconfdir}/dhcpd.conf.terminal-server.example
%config(noreplace) %{_sysconfdir}/exports.terminal-server
%config(noreplace) %{_sysconfdir}/pam.d/drakTermServ
%{_sbindir}/mkdhcpdconf
%_bindir/drakTermServ
/mnt/cdrom$$CLIENT$$
/mnt/floppy$$CLIENT$$

%changelog
* Mon Dec 30 2002 Stew Benedict <sbenedict@mandrakesoft.com> 1.5-7mdk
- add empty /etc/raidtab$$CLIENT$$ (Per Ãyvind Karlse)
- installed but unpackaged files

* Mon Oct 21 2002 Stew Benedict <sbenedict@mandrakesoft.com> 1.5-6mdk
- move etherboot requires to just x86

* Tue Oct  8 2002 Stew Benedict <sbenedict@mandrakesoft.com> 1.5-5mdk
- add client XF86Config-4 mods from Michael Brown for ps2 or serial mice

* Sat Aug 17 2002 Stew Benedict <sbenedict@mandrakesoft.com> 1.5-4mdk
- add client cdrom/floppy mount mounts, drop predfm$$CLIENT$$

* Thu Jul 18 2002 Stew Benedict <sbenedict@mandrakesoft.com> 1.5-3mdk
- pull drakTermServ icon - in drakxtools now

* Fri Jun 28 2002 Stew Benedict <sbenedict@mandrakesoft.com> 1.5-2mdk
- more Requires - thx erwan :)

* Tue Jun 25 2002 Stew Benedict <sbenedict@mandrakesoft.com> 1.5-1mdk
- first Mandrake release

* Sun Jun 02 2002 Michael Brown <mbrown@fensystems.co.uk> 1.5-1fs
- Added profile mechanism: can now specify tsprofile=xxx on kernel cmdline
- and appropriate profile(s) from /etc/terminal-server/profiles/ will be run.

* Sat May 04 2002 Michael Brown <mbrown@fensystems.co.uk> 1.4-1fs
- Added semi-automatic maintenance of dhcpd.conf and exports files

* Wed May 01 2002 Michael Brown <mbrown@fensystems.co.uk> 1.3-1fs
- /etc/exports and /etc/dhcpd.conf are now installed as examples only

* Wed May 01 2002 Michael Brown <mbrown@fensystems.co.uk> 1.2-1fs
- Flagged as NoArch

* Wed May 01 2002 Michael Brown <mbrown@fensystems.co.uk> 1.1-1fs
- First version (based on work at East Hull CLC)