Sophie

Sophie

distrib > Mandriva > 2009.1 > x86_64 > media > contrib-release-src > by-pkgid > 649a50358187026fc9cbc1fcb941281b > files > 2

ltsp-5.1.58-3mdv2009.1.src.rpm

Name:           ltsp
Version:        5.1.58
%define _datestamp .20090203.18
#Release:        2%{_datestamp}%{?dist}
Release:        %mkrel 3
Summary:        Linux Terminal Server Project Server and Client
Group:          System/X11

License:        GPLv2 and GPLv2+
URL:            http://www.ltsp.org
#   bzr branch http://bazaar.launchpad.net/~ltsp-upstream/ltsp/ltsp-trunk
#   cd ltsp-trunk
#   mkdst tar --from-tag=ltsp-%{version}
Source0:        ltsp-%{version}.tar.bz2
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildRequires: popt-devel
BuildRequires: popt
BuildRequires: flex bison
BuildRequires: automake
BuildRequires: pkgconfig
BuildRequires: libx11-devel
%ifarch %{ix86} x86_64
# Need pxelinux.0 from syslinux if server is x86
BuildRequires: syslinux
%endif
BuildRequires: tftp-server

# tftpboot directory location changed in F9+
%if 0%{?fedora} > 8 || 0%{?rhel} > 5
%define _tftpdir /var/lib/tftpboot
%else
%define _tftpdir /tftpboot
%endif

%description
LTSP client and server

%package client
Summary:        LTSP client
Group:          System/X11
Requires:       chkconfig
Requires:       ltspfsd
Requires:       mille-xterm-nbd-server
# Jetpipe needs pyserial
Requires:       pyserial
Requires(post): initscripts
BuildRequires:  glib2-devel

%description client
LTSP client package
This package contains the scripts necessary to boot as a LTSP5 thin client.

%package server
Summary:        LTSP server
Group:          System/X11
%if 0%{?fedora}
# XXX: Fix this after RHEL5 livecd-tools backports is complete.
# needed to install client chroots
Requires:       livecd-tools >= 015
%endif
Requires:       tftp-server
Requires:       ltspfs
Requires:       dhcp
Requires:       gettext
Requires:       bridge-utils
Requires:       mille-xterm-nbd-server
Requires:       ldminfod
Requires(post): chkconfig
Requires(preun): chkconfig

%description server
LTSP server package
This package contains the scripts and services necessary to install and run
a Linux Terminal Server.

%if 0%{?fedora}
%ifarch %{ix86} x86_64
%package vmclient
Summary:        LTSP Virtual Machine Client
Group:          Applications/Emulators
Requires:       kvm

%description vmclient
Run a qemu-kvm virtual machine as a PXE client.  This allows you to test a
LTSP server without the hassle of having extra hardware.  Requires
your system to support hardware virtualization or it will be very slow.
%endif
%endif


%prep
%setup -q

%build
pushd client/getltscfg
  make %{?_smp_mflags}
popd

pushd localapps
  %configure
  make %{?_smp_mflags}
popd


%install
##### make directories
rm -rf $RPM_BUILD_ROOT
# client
mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rwtab.d/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/X11/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ltsp/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ltsp/chroot-setup.d/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ltsp/template/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ldm/rc.d/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/kernel/postinst.d/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/kernel/prerm.d/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/cache/ltsp-localapps/

# server
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/kickstart/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/mkinitrd/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/
mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ltsp/scripts/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ltsp/scripts.d/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ltsp/chkconfig.d/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ltsp/plugins/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ltsp/swapfiles/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/network-scripts/
mkdir -p $RPM_BUILD_ROOT/opt/ltsp
mkdir -p $RPM_BUILD_ROOT/opt/ltsp/images

mkdir -p $RPM_BUILD_ROOT%{_tftpdir}/ltsp/i386/pxelinux.cfg/
mkdir -p $RPM_BUILD_ROOT%{_tftpdir}/ltsp/x86_64/pxelinux.cfg/
mkdir -p $RPM_BUILD_ROOT%{_tftpdir}/ltsp/ppc/
mkdir -p $RPM_BUILD_ROOT%{_tftpdir}/ltsp/ppc64/

###### client install
pushd localapps
    make install DESTDIR=$RPM_BUILD_ROOT
popd
install -m 0755 localapps/ltsp-localappsd $RPM_BUILD_ROOT/%{_bindir}/
install -m 0755 localapps/ltsp-genmenu $RPM_BUILD_ROOT/%{_bindir}/

install -m 0755 client/getltscfg/getltscfg $RPM_BUILD_ROOT/%{_bindir}/getltscfg
install -m 0644 client/getltscfg/getltscfg.1 $RPM_BUILD_ROOT/%{_mandir}/man1/
install -m 0644 client/ltsp_config $RPM_BUILD_ROOT/%{_datadir}/ltsp/
install -m 0755 client/screen_session $RPM_BUILD_ROOT/%{_datadir}/ltsp/
install -m 0755 client/configure-x.sh $RPM_BUILD_ROOT/%{_datadir}/ltsp/
install -m 0644 client/initscripts/ltsp-init-common $RPM_BUILD_ROOT/%{_datadir}/ltsp/
install -m 0644 ltsp-common-functions $RPM_BUILD_ROOT/%{_datadir}/ltsp/
install -m 0755 client/initscripts/RPM/ltsp-client-launch $RPM_BUILD_ROOT%{_sbindir}
install -m 0644 client/rwtab.d/k12linux.rwtab $RPM_BUILD_ROOT%{_sysconfdir}/rwtab.d
install -m 0644 client/screen-x-common $RPM_BUILD_ROOT/%{_datadir}/ltsp/
install -m 0755 client/xinitrc $RPM_BUILD_ROOT/%{_datadir}/ltsp/
install -m 0755 client/jetpipe/jetpipe $RPM_BUILD_ROOT/%{_sbindir}
install -m 0644 client/jetpipe/jetpipe.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
install -m 0755 client/scripts/k12linux/ltsp-rewrap-latest-kernel $RPM_BUILD_ROOT/%{_sbindir}
install -m 0700 client/chroot-setup/ltsp-chroot-setup $RPM_BUILD_ROOT/%{_datadir}/ltsp/
install -m 0755 localapps/ldm-rc.d/* $RPM_BUILD_ROOT%{_datadir}/ldm/rc.d/
cp -av client/chroot-setup/k12linux/* $RPM_BUILD_ROOT%{_datadir}/ltsp/chroot-setup.d/
cp -av client/screen.d $RPM_BUILD_ROOT/%{_datadir}/ltsp/
cp -av client/screen-session.d $RPM_BUILD_ROOT/%{_datadir}/ltsp/
cp -av client/xinitrc.d $RPM_BUILD_ROOT/%{_datadir}/ltsp/
cp -av client/template/k12linux/* $RPM_BUILD_ROOT%{_datadir}/ltsp/template/
touch $RPM_BUILD_ROOT%{_sysconfdir}/lts.conf
touch $RPM_BUILD_ROOT%{_localstatedir}/lib/random-seed
# We need these files in both in client and server, but it ends up in the same place.
# client copy is to ensure that it gets upgraded with ltsp-client package upgrades.
# server copy is so chroot-creator can copy it into the chroot before mkinitrd runs the first time.
# the real client copy is written during ltsp-client %post iff it is actually a client chroot.
install -m 0644 server/configs/k12linux/mkinitrd/sysconfig-mkinitrd $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/mkinitrd.ltsp-template
install -m 0755 server/configs/k12linux/mkinitrd/ltsp-postinst.d $RPM_BUILD_ROOT%{_sysconfdir}/kernel/postinst.d/ltsp
install -m 0755 server/configs/k12linux/mkinitrd/ltsp-prerm.d    $RPM_BUILD_ROOT%{_sysconfdir}/kernel/prerm.d/ltsp

### server install
install -m 0755 localapps/ltsp-localapps  $RPM_BUILD_ROOT/%{_bindir}/
install -m 0755 server/nbdrootd $RPM_BUILD_ROOT%{_sbindir}
install -m 0755 server/nbdswapd $RPM_BUILD_ROOT%{_sbindir}
install -m 0755 server/ltsp-update-sshkeys $RPM_BUILD_ROOT%{_sbindir}
install -m 0755 server/ltsp-build-client $RPM_BUILD_ROOT%{_sbindir}
cp -pr server/plugins/* $RPM_BUILD_ROOT%{_datadir}/ltsp/plugins/
install -m 0755 server/ltsp-update-kernels $RPM_BUILD_ROOT%{_sbindir}
install -m 0755 server/scripts/k12linux/ltsp-update-image $RPM_BUILD_ROOT%{_sbindir}
install -m 0755 server/scripts/k12linux/chroot-creator $RPM_BUILD_ROOT%{_sbindir}
install -m 0755 server/ltsp-swapfile-delete $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/
install -m 0644 server/xinetd.d/nbdrootd $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/
install -m 0644 server/xinetd.d/nbdswapd $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/
install -m 0644 server/configs/nbdswapd.conf $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/
cp -pr server/configs/kickstart/* $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/kickstart/
install -m 0644 server/configs/k12linux/mkinitrd/ifcfg-eth0 $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/mkinitrd/
install -m 0644 server/configs/k12linux/mkinitrd/sysconfig-mkinitrd $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/mkinitrd/
install -m 0644 server/configs/k12linux/mkinitrd/sysconfig-network $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/mkinitrd/
install -m 0755 server/configs/k12linux/mkinitrd/ltsp-postinst.d $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/mkinitrd/
install -m 0644 server/services/sysconfig-ltsp-dhcpd $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/ltsp-dhcpd
install -m 0755 server/services/ltsp-dhcpd.init $RPM_BUILD_ROOT%{_sysconfdir}/init.d/ltsp-dhcpd
install -m 0755 server/scripts/k12linux/ltsp-prepare-kernel $RPM_BUILD_ROOT/%{_sbindir}/
install -m 0755 server/scripts/k12linux/ltsp-server-initialize $RPM_BUILD_ROOT/%{_sbindir}/
install -m 0755 server/scripts/k12linux/hosts-update $RPM_BUILD_ROOT/%{_datadir}/ltsp/scripts/
install -m 0755 server/scripts/k12linux/dhcpd-update $RPM_BUILD_ROOT/%{_datadir}/ltsp/scripts/
cp -p server/scripts/k12linux/scripts.d/*   $RPM_BUILD_ROOT%{_datadir}/ltsp/scripts.d/
cp -p server/scripts/k12linux/chkconfig.d/* $RPM_BUILD_ROOT%{_datadir}/ltsp/chkconfig.d/
install -m 0644 server/scripts/k12linux/mksquashfs-exclude $RPM_BUILD_ROOT/%{_datadir}/ltsp/

# Remove irrelevant plugins from package
rm -rf $RPM_BUILD_ROOT%{_datadir}/ltsp/plugins/ltsp-build-client/ALTLinux/
rm -rf $RPM_BUILD_ROOT%{_datadir}/ltsp/plugins/ltsp-build-client/Debian/
rm -rf $RPM_BUILD_ROOT%{_datadir}/ltsp/plugins/ltsp-build-client/Gentoo/
rm -rf $RPM_BUILD_ROOT%{_datadir}/ltsp/plugins/ltsp-build-client/SUSE_LINUX/
rm -rf $RPM_BUILD_ROOT%{_datadir}/ltsp/plugins/ltsp-build-client/Ubuntu/

# configs
install -m 0644 server/configs/k12linux/ifcfg-ltspbr0 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/network-scripts/
install -m 0644 server/configs/k12linux/ltsp-dhcpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/dhcpd.conf
install -m 0644 server/configs/k12linux/ltsp-update-kernels.conf $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/
install -m 0644 server/configs/k12linux/ltsp-build-client.conf $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/
install -m 0644 server/configs/k12linux/ltsp-server.conf $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/

for arch in i386 x86_64 ppc ppc64; do
    install -m 0644 server/configs/k12linux/lts.conf $RPM_BUILD_ROOT%{_tftpdir}/ltsp/$arch/
done

install -m 0644 server/configs/k12linux/ltspdist.template $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/ltspdist

# PXE
install -m 0644 server/configs/pxe-default.conf $RPM_BUILD_ROOT%{_tftpdir}/ltsp/i386/pxelinux.cfg/default
install -m 0644 server/configs/pxe-default.conf $RPM_BUILD_ROOT%{_tftpdir}/ltsp/x86_64/pxelinux.cfg/default
%ifarch %{ix86} x86_64
install -m 0644 /usr/lib/syslinux/pxelinux.0 $RPM_BUILD_ROOT%{_tftpdir}/ltsp/i386
install -m 0644 /usr/lib/syslinux/pxelinux.0 $RPM_BUILD_ROOT%{_tftpdir}/ltsp/x86_64
%endif

# PPC
install -m 0644 server/configs/k12linux/yaboot-default.conf $RPM_BUILD_ROOT%{_tftpdir}/ltsp/ppc/yaboot.conf
install -m 0644 server/configs/k12linux/yaboot-default.conf $RPM_BUILD_ROOT%{_tftpdir}/ltsp/ppc64/yaboot.conf

%if 0%{?fedora}
%ifarch %{ix86} x86_64
# vmclient
install -m 0755 vmclient/ltsp-vmclient           $RPM_BUILD_ROOT%{_sbindir}/
install -m 0755 vmclient/ltsp-qemu-bridge-ifup   $RPM_BUILD_ROOT%{_sbindir}/
install -m 0644 vmclient/config-vmclient         $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/vmclient
%endif
%endif

%clean
rm -rf $RPM_BUILD_ROOT

%post client
/usr/share/ltsp/ltsp-chroot-setup

%post server
/sbin/chkconfig --add ltsp-dhcpd

# If initial install, start the ltspbr0 bridge
# it would come up automatically in the next reboot.
if [ "$1" == "1" ]; then
    ifup ltspbr0 > /dev/null 2>&1 || :
fi

# During upgrades fix up config files
if [ $1 -gt 1 ]; then
    grep -q "flags" /etc/xinetd.d/nbdrootd
    [ $? -eq 1 ] && sed -i -e '/type  /a \\tflags\t\t= KEEPALIVE' /etc/xinetd.d/nbdrootd
    grep -q "flags" /etc/xinetd.d/nbdswapd
    [ $? -eq 1 ] && sed -i -e '/type  /a \\tflags\t\t= KEEPALIVE' /etc/xinetd.d/nbdswapd
    # Add server_args if missing from nbdrootd
    grep -q "server_args" /etc/xinetd.d/nbdrootd
    [ $? -eq 1 ] && sed -i -e '/server  /a \\tserver_args\t= /opt/ltsp/images/i386.img' /etc/xinetd.d/nbdrootd
    # Restart xinetd
    /sbin/service xinetd condrestart > /dev/null 2>&1
fi

%preun server
if [ $1 = 0 ]; then
    /sbin/service ltsp-dhcpd status >/dev/null 2>&1
    if [ $? = 3 ]; then
        /sbin/service ltsp-dhcpd stop >/dev/null 2>&1
    fi

    /sbin/chkconfig --del ltsp-dhcpd || :
    /sbin/service xinetd reload > /dev/null 2>&1 || :
fi

%postun server
if [ $1 -ge 1 ]; then
    /sbin/service ltsp-dhcpd condrestart >/dev/null 2>&1
fi

%files client
%defattr(-,root,root,-)
%{_mandir}/man1/getltscfg.1.lzma
%{_bindir}/getltscfg
%{_bindir}/xatomwait
%{_sbindir}/ltsp-client-launch
%dir %{_datadir}/ltsp
%{_datadir}/ltsp/configure-x.sh
%{_datadir}/ltsp/ltsp-init-common
%{_datadir}/ltsp/ltsp-common-functions
%{_datadir}/ltsp/ltsp_config
%{_datadir}/ltsp/screen_session
%{_datadir}/ltsp/screen-x-common
%{_datadir}/ltsp/screen.d/
%{_datadir}/ltsp/screen-session.d/
%{_datadir}/ltsp/xinitrc
%{_datadir}/ltsp/xinitrc.d/
%{_datadir}/ltsp/template/
%{_datadir}/ldm/rc.d/
%{_sbindir}/jetpipe
%{_sbindir}/ltsp-rewrap-latest-kernel
%{_mandir}/man8/jetpipe.8.lzma
%{_datadir}/ltsp/ltsp-chroot-setup
%{_datadir}/ltsp/chroot-setup.d/
%{_bindir}/ltsp-localappsd
%{_bindir}/ltsp-genmenu
%{_sysconfdir}/sysconfig/mkinitrd.ltsp-template
%{_sysconfdir}/kernel/postinst.d/ltsp
%{_sysconfdir}/kernel/prerm.d/ltsp
%dir %{_localstatedir}/cache/ltsp-localapps/

# readonly-root related files
%{_sysconfdir}/rwtab.d/*
%{_localstatedir}/lib/random-seed
%config(noreplace) %{_sysconfdir}/lts.conf

%files server
%defattr(-,root,root,-)
%doc ChangeLog COPYING TODO server/doc/lts-parameters.txt
%dir %{_localstatedir}/lib/ltsp/
%attr(700,nobody,nobody) %dir %{_localstatedir}/lib/ltsp/swapfiles/
%dir %{_tftpdir}/
%dir %{_tftpdir}/ltsp/
%dir %{_tftpdir}/ltsp/i386/
%dir %{_tftpdir}/ltsp/i386/pxelinux.cfg/
%dir %{_tftpdir}/ltsp/x86_64/
%dir %{_tftpdir}/ltsp/x86_64/pxelinux.cfg/
%dir %{_tftpdir}/ltsp/ppc/
%dir %{_tftpdir}/ltsp/ppc64/
%ifarch %{ix86} x86_64
%{_tftpdir}/ltsp/i386/pxelinux.0
%{_tftpdir}/ltsp/x86_64/pxelinux.0
%endif
%config(noreplace) %{_tftpdir}/ltsp/i386/pxelinux.cfg/default
%config(noreplace) %{_tftpdir}/ltsp/x86_64/pxelinux.cfg/default
%config(noreplace) %{_tftpdir}/ltsp/ppc/yaboot.conf
%config(noreplace) %{_tftpdir}/ltsp/ppc64/yaboot.conf
%{_bindir}/ltsp-localapps

%dir /opt/ltsp
%dir /opt/ltsp/images

%{_sbindir}/ltsp-build-client
%{_datadir}/ltsp/plugins/
%{_sbindir}/ltsp-prepare-kernel
%{_sbindir}/ltsp-server-initialize
%{_sbindir}/ltsp-update-kernels
%{_sbindir}/ltsp-update-image
%{_datadir}/ltsp/scripts/
%{_datadir}/ltsp/scripts.d/
%{_datadir}/ltsp/chkconfig.d/
%{_datadir}/ltsp/mksquashfs-exclude
%{_datadir}/ltsp/ltsp-common-functions
%{_sbindir}/ltsp-update-sshkeys
%{_sbindir}/nbdrootd
%{_sbindir}/nbdswapd
%{_sbindir}/chroot-creator
%{_sysconfdir}/cron.daily/ltsp-swapfile-delete
%{_sysconfdir}/init.d/ltsp-dhcpd
%{_sysconfdir}/sysconfig/ltspdist
%config(noreplace) %{_sysconfdir}/xinetd.d/nbdrootd
%config(noreplace) %{_sysconfdir}/xinetd.d/nbdswapd
%dir %{_sysconfdir}/ltsp/
# Configuration Files
%config(noreplace) %{_sysconfdir}/sysconfig/ltsp-dhcpd
%config(noreplace) %{_sysconfdir}/sysconfig/network-scripts/ifcfg-ltspbr0
%config(noreplace) %{_sysconfdir}/ltsp/nbdswapd.conf
%config(noreplace) %{_sysconfdir}/ltsp/ltsp-build-client.conf
%config(noreplace) %{_sysconfdir}/ltsp/ltsp-server.conf
%config(noreplace) %{_sysconfdir}/ltsp/dhcpd.conf
%config(noreplace) %{_sysconfdir}/ltsp/ltsp-update-kernels.conf
%{_sysconfdir}/ltsp/kickstart/
%dir %{_sysconfdir}/ltsp/mkinitrd/
%{_sysconfdir}/ltsp/mkinitrd/*
%config(noreplace) %{_tftpdir}/ltsp/*/lts.conf

%if 0%{?fedora}
%ifarch %{ix86} x86_64
%files vmclient
%defattr(-,root,root,-)
%{_sbindir}/ltsp-vmclient
%{_sbindir}/ltsp-qemu-bridge-ifup
%config(noreplace) %{_sysconfdir}/ltsp/vmclient
%endif
%endif


%changelog
* Thu Mar 19 2009 Jérôme Soyer <saispo@mandriva.org> 5.1.58-3mdv2009.1
+ Revision: 357701
- Fix bug 48033
- Fix bug 48033

* Mon Feb 23 2009 Jérôme Soyer <saispo@mandriva.org> 5.1.58-2mdv2009.1
+ Revision: 344115
- Fix bug 48141

* Wed Feb 11 2009 Jérôme Soyer <saispo@mandriva.org> 5.1.58-1mdv2009.1
+ Revision: 339419
- Fix BR
- New upstream release

* Thu Jan 15 2009 Jérôme Soyer <saispo@mandriva.org> 5.1.44-1mdv2009.1
+ Revision: 329834
- Fix RPM Group
- import ltsp