[ltsp] New features include: - UnionFS overlay filesystem to make / filesystem read-write - New chroot

Joshua Trimm enslaver at fedoraproject.org
Wed Mar 20 06:23:23 UTC 2013


commit 03a8846d684f5b8d635a64efd3ef2f67f4705e54
Author: Joshua Trimm <enslaver at enslaver.com>
Date:   Wed Mar 20 00:17:58 2013 -0500

      New features include:
     - UnionFS overlay filesystem to make / filesystem read-write
     - New chroot builder that uses mock instead of livecd-tools
     - Compliance with most other distro's documentation, will be writing
       el6 specific documents soon
     - Dialog progress bar when building ltsp client
     - NBD is included but not tested, separate thinclient kernels are required
       on the client side, still looking into alternatives such as AoE and iSCSI

 .gitignore |    1 +
 ltsp.spec  |  448 +++++++++++++++++++++++++++++++++++++++---------------------
 sources    |    2 +-
 3 files changed, 291 insertions(+), 160 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index b2bb01c..dd201b3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 ltsp-5.1.95.tar.bz2
+/ltsp-5.4.5.tar.bz2
diff --git a/ltsp.spec b/ltsp.spec
index 8b6b502..9261bce 100644
--- a/ltsp.spec
+++ b/ltsp.spec
@@ -1,8 +1,8 @@
 Name:           ltsp
-Version:        5.1.95
-%define _datestamp .20091203.11
-#Release:        0%{_datestamp}%{?dist}
-Release:        6%{?dist}
+Version:        5.4.5
+%define _datestamp .20130319.01
+#Release:        1%{_datestamp}%{?dist}
+Release:        3%{?dist}
 Summary:        Linux Terminal Server Project Server and Client
 Group:          User Interface/Desktops
 
@@ -13,26 +13,21 @@ URL:            http://www.ltsp.org
 #   mkdst tar --from-tag=ltsp-%{version}
 Source0:        ltsp-%{version}.tar.bz2
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-%if 0%{?fedora} > 7 || 0%{?rhel} > 5
 BuildRequires: popt-devel
-%else
-BuildRequires: popt
-%endif
-BuildRequires: flex flex-static bison
+BuildRequires: flex bison
 BuildRequires: automake
 BuildRequires: pkgconfig
 BuildRequires: libX11-devel
+%define base_sbindir /sbin
 %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
+%define with_serverpkg 1
+%if 0%{?fedora} == 11
+%define with_serverpkg 0
 %endif
 
 %description
@@ -46,6 +41,10 @@ Requires:       ltspfsd
 Requires:       nbd
 # Jetpipe needs pyserial
 Requires:       pyserial
+Requires:       ldm >= 2.2.11
+Requires:	fuse
+Requires:	fuse-unionfs
+Requires:	lsb
 Requires(post): initscripts
 BuildRequires:  glib2-devel
 
@@ -53,54 +52,60 @@ BuildRequires:  glib2-devel
 LTSP client package
 This package contains the scripts necessary to boot as a LTSP5 thin client.
 
+%if %{with_serverpkg}
 %package server
 Summary:        LTSP server
 Group:          User Interface/Desktops
-%if 0%{?fedora}
-# XXX: Fix this after RHEL5 livecd-tools backports is complete.
-# needed to install client chroots
-Requires:       livecd-tools >= 015
-%endif
+Requires:	mock >= 1
 Requires:       nfs-utils
 Requires:       tftp-server
 Requires:       ltspfs
 Requires:       dhcp
 Requires:       gettext
+Requires:       xinetd
 Requires:       bridge-utils
 Requires:       nbd
-Requires:       ldminfod
+Requires:	ldm >= 2.2.11
+Requires:       ldminfod >= 2.2.11
+Requires:	lsb
+Requires:       fuse fuse-libs fuse-devel
+Requires:       xorg-x11-xdm
+Requires:	cdialog
+#Requires:	dnsmasq
 Requires(post): chkconfig
 Requires(preun): chkconfig
+Obsoletes:      ltsp-vmclient <= 5.2.8
+%if 0%{?rhel} == 6
+Requires:       epel-release = 6
+%endif
+
 
 %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
 
+%package -n ltsp-release
+Version:        1
+Release:        1
+Summary:        LTSP Enterprise Linux yum repo configuration
+Group:          System Environment/Base
+BuildArch: noarch
+
+%description -n ltsp-release
+Linux Terminal Server Project Enterprise Linux yum repo configuration.
 
 %prep
-%setup -q 
+%setup -q
 
 %build
+bash ./autogen.sh
 pushd client/getltscfg
-  make %{?_smp_mflags} CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="${RPM_OPT_FLAGS}"
+  make %{?_smp_mflags}
 popd
 
-pushd localapps
+pushd client/localapps
   %configure
   make %{?_smp_mflags}
 popd
@@ -112,28 +117,34 @@ rm -rf $RPM_BUILD_ROOT
 # client
 mkdir -p $RPM_BUILD_ROOT%{_bindir}
 mkdir -p $RPM_BUILD_ROOT%{_sbindir}
+mkdir -p $RPM_BUILD_ROOT%{base_sbindir}
 mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1/
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rwtab.d/
+mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/X11/
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/ltsp/
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/ltsp/dracut/
 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/
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/dracut.conf.d/
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/ltsp/
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/ltsp-localapps/
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/
 
+%if %{with_serverpkg}
 # 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}/ltsp/kickstart/
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/dracut/
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/mock/
 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/
@@ -148,144 +159,193 @@ 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/
+%endif
 
 ###### client install
-pushd localapps
+pushd client/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/localapps/ltsp-localappsd $RPM_BUILD_ROOT/%{_bindir}/
+install -m 0755 client/localapps/ltsp-genmenu $RPM_BUILD_ROOT/%{_bindir}/
+install -m 0755 client/localapps/ltsp-open $RPM_BUILD_ROOT/%{_bindir}/
+install -m 0755 client/localapps/ltsp-localapps $RPM_BUILD_ROOT/%{_bindir}/
+install -m 0755 client/localapps/ltsp-remoteapps $RPM_BUILD_ROOT/%{_bindir}/
+install -m 0755 client/localapps/ltsp-remoteappsd $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 0755 client/init-ltsp $RPM_BUILD_ROOT/%{base_sbindir}
+install -m 0644 client/share/ltsp/ltsp_config $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+install -m 0755 client/share/ltsp/screen_session $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+install -m 0755 client/share/ltsp/configure-x.sh $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+install -m 0755 client/share/ltsp/update-kernels $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 0755 client/RHEL/initscripts/ltsp-core $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/
+install -m 0644 common/ltsp-common-functions $RPM_BUILD_ROOT/%{_datadir}/ltsp/ltsp-client-common-functions
+install -m 0644 client/RHEL/share/ltsp/ltsp-client-vendor-functions $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+install -m 0644 client/share/ltsp/ltsp-client-functions $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+install -m 0755 client/RHEL/share/ltsp/ltsp-client-launch $RPM_BUILD_ROOT%{_sbindir}
+install -m 0644 client/share/ltsp/screen-x-common $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+install -m 0755 client/share/ltsp/xinitrc $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+install -m 0755 client/share/ltsp/kioskSession $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+install -m 0755 client/share/ltsp/nbd-disconnect $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+install -m 0755 client/share/ltsp/ltsp-cleanup $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+install -m 0755 client/jetpipe/jetpipe $RPM_BUILD_ROOT/%{base_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/
+install -m 0755 client/RHEL/scripts/ltsp-rewrap-latest-kernel $RPM_BUILD_ROOT/%{_sbindir}
+install -m 0755 client/RHEL/chroot-setup/ltsp-chroot-setup $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+install -m 0755 client/localapps/ldm-rc.d/* $RPM_BUILD_ROOT%{_datadir}/ldm/rc.d/
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/dracut/modules.d
+cp -av client/dracut/modules.d/98unionfs $RPM_BUILD_ROOT%{_datadir}/dracut/modules.d
+cp -av client/RHEL/chroot-setup/chroot-setup.d $RPM_BUILD_ROOT%{_datadir}/ltsp/
+cp -av client/share/ltsp/cleanup.d $RPM_BUILD_ROOT%{_datadir}/ltsp/
+cp -av client/share/ltsp/ltsp_config.d $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+cp -av client/share/ltsp/screen.d $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+cp -av client/share/ltsp/screen-session.d $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+cp -av client/share/ltsp/xinitrc.d $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+cp -av client/RHEL/template/* $RPM_BUILD_ROOT%{_datadir}/ltsp/template/
+cp -av client/share/ltsp/init-ltsp.d $RPM_BUILD_ROOT%{_datadir}/ltsp/
+cp -av client/RHEL/share/ltsp/init-ltsp.d/* $RPM_BUILD_ROOT%{_datadir}/ltsp/init-ltsp.d
 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
+install -m 0755 server/RHEL/configs/dracut/ltsp-postinst.d $RPM_BUILD_ROOT%{_sysconfdir}/kernel/postinst.d/ltsp
+install -m 0755 server/RHEL/configs/dracut/ltsp-prerm.d    $RPM_BUILD_ROOT%{_sysconfdir}/kernel/prerm.d/ltsp
+install -m 0644 server/RHEL/configs/dracut/sysconfig-dracut $RPM_BUILD_ROOT%{_sysconfdir}/dracut.conf.d/ltsp-dracut.conf
 
+%if %{with_serverpkg}
 ### server install
-install -m 0755 localapps/ltsp-localapps  $RPM_BUILD_ROOT/%{_bindir}/
+install -m 0755 client/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/
+cp -prL server/share/ltsp/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-update-image $RPM_BUILD_ROOT%{_sbindir}
+install -m 0755 server/ltsp-chroot $RPM_BUILD_ROOT%{_sbindir}
+#install -m 0755 server/RHEL/scripts/chroot-creator $RPM_BUILD_ROOT%{_sbindir}
+install -m 0755 server/RHEL/scripts/ltsp-server-tweaks $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/
+install -m 0644 common/ltsp-common-functions $RPM_BUILD_ROOT/%{_datadir}/ltsp/ltsp-server-common-functions
+install -m 0644 server/share/ltsp/ltsp-server-functions $RPM_BUILD_ROOT/%{_datadir}/ltsp/ltsp-server-functions
+install -m 0644 server/RHEL/share/ltsp/ltsp-server-vendor-functions $RPM_BUILD_ROOT/%{_datadir}/ltsp/ltsp-server-vendor-functions
+install -m 0644 ./server/doc/examples/xinetd.d/nbdrootd $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/
+install -m 0644 ./server/doc/examples/xinetd.d/nbdswapd $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/
+cp -av server/configs/* $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/
+install -m 0644 server/RHEL/configs/nbdswapd.conf $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/
+#cp -pr server/RHEL/configs/kickstart/* $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/kickstart/
+install -m 0644 server/RHEL/configs/dracut/ifcfg-eth0 $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/dracut/
+install -m 0644 server/RHEL/configs/dracut/sysconfig-network $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/dracut/
+install -m 0644 server/RHEL/configs/dracut/sysconfig-mkinitrd $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/dracut/
+install -m 0644 server/RHEL/configs/dracut/sysconfig-dracut-skip-first-time $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/dracut/
+cp -pr server/RHEL/configs/mock/* $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/mock/
+install -m 0755 server/RHEL/configs/dracut/ltsp-postinst.d $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/dracut/
+install -m 0644 server/RHEL/configs/services/sysconfig-ltsp-dhcpd $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/ltsp-dhcpd
+install -m 0755 server/RHEL/configs/services/ltsp-dhcpd.init $RPM_BUILD_ROOT%{_sysconfdir}/init.d/ltsp-dhcpd
+install -m 0755 server/RHEL/scripts/ltsp-update-image $RPM_BUILD_ROOT/%{_sbindir}/
+install -m 0755 server/RHEL/scripts/ltsp-prepare-kernel $RPM_BUILD_ROOT/%{_sbindir}/
+install -m 0755 server/RHEL/scripts/ltsp-server-initialize $RPM_BUILD_ROOT/%{_sbindir}/
+install -m 0755 server/RHEL/scripts/hosts-update $RPM_BUILD_ROOT/%{_datadir}/ltsp/scripts.d/
+install -m 0755 server/RHEL/scripts/dhcpd-update $RPM_BUILD_ROOT/%{_datadir}/ltsp/scripts.d/
+cp -pL server/RHEL/scripts/scripts.d/*   $RPM_BUILD_ROOT%{_datadir}/ltsp/scripts.d/
+cp -pL server/RHEL/scripts/chkconfig.d/* $RPM_BUILD_ROOT%{_datadir}/ltsp/chkconfig.d/
+install -m 0644 server/RHEL/scripts/mksquashfs-exclude $RPM_BUILD_ROOT/%{_datadir}/ltsp/
+install -m 0644 server/RHEL/configs/dracut/sysconfig-dracut $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/dracut/ltsp-dracut.conf
 
 # 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/Fedora/
 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/
+install -m 0644 server/RHEL/configs/dhcpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/dhcpd.conf
+install -m 0644 server/RHEL/configs/ltsp-build-client.conf $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/
+install -m 0644 server/RHEL/configs/ltsp-server.conf $RPM_BUILD_ROOT%{_sysconfdir}/ltsp/
+install -m 0644 server/RHEL/configs/fat-client-groups $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/
+    install -m 0644 server/RHEL/configs/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
+install -m 0644 server/RHEL/configs/pxe-default.conf $RPM_BUILD_ROOT%{_tftpdir}/ltsp/i386/pxelinux.cfg/default
+install -m 0644 server/RHEL/configs/pxe-default.conf $RPM_BUILD_ROOT%{_tftpdir}/ltsp/x86_64/pxelinux.cfg/default
 %ifarch %{ix86} x86_64
-%if 0%{?fedora} > 10
 install -m 0644 /usr/share/syslinux/pxelinux.0 $RPM_BUILD_ROOT%{_tftpdir}/ltsp/i386
 install -m 0644 /usr/share/syslinux/pxelinux.0 $RPM_BUILD_ROOT%{_tftpdir}/ltsp/x86_64
-%else
-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
 %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
+%endif
 
-%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
+# ltsp-release install
+mkdir $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/
+%if 0%{?rhel} == 6
+echo -n "
+[ltsp]
+name=LTSP EL6 - \$basearch
+baseurl=http://mirror.ancl.hawaii.edu/~k12linux/rpm/el6/\$basearch/
+enabled=0
+gpgcheck=0
+
+[ltsp-testing]
+name=LTSP EL6 Test - \$basearch
+baseurl=http://mirror.ancl.hawaii.edu/~k12linux/rpm/el6-testing/\$basearch/
+enabled=1
+gpgcheck=0
+" > $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/ltsp.repo
 %endif
+%if 0%{?fedora} > 0
+echo -n "
+[ltsp]
+name=LTSP F%{fedora} - \$basearch
+baseurl=http://mirror.ancl.hawaii.edu/~k12linux/rpm/f%{fedora}/\$basearch/
+enabled=1
+gpgcheck=0
+
+[ltsp-testing]
+name=LTSP F%{fedora} Test - \$basearch
+baseurl=http://mirror.ancl.hawaii.edu/~k12linux/testrpm/f%{fedora}/\$basearch/
+enabled=0
+gpgcheck=0
+
+" > $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/ltsp.repo
 %endif
 
+chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/ltsp.repo
+chmod 755 $RPM_BUILD_ROOT%{_datadir}/ltsp/*.d/*
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post client
-/usr/share/ltsp/ltsp-chroot-setup
+# Run ltsp-chroot-setup only during upgrade, not install
+if [ $1 -gt 1 ]; then
+    /usr/share/ltsp/ltsp-chroot-setup
+fi
+/sbin/chkconfig --add ltsp-core
 
+%if %{with_serverpkg}
 %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
+#/sbin/chkconfig dnsmasq on
 
 # 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
+    grep -q "flags" %{_sysconfdir}/xinetd.d/nbdrootd
+    [ $? -eq 1 ] && sed -i -e '/type  /a \\tflags\t\t= KEEPALIVE' %{_sysconfdir}/xinetd.d/nbdrootd
+    grep -q "flags" %{_sysconfdir}/xinetd.d/nbdswapd
+    [ $? -eq 1 ] && sed -i -e '/type  /a \\tflags\t\t= KEEPALIVE' %{_sysconfdir}/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
+    grep -q "server_args" %{_sysconfdir}/xinetd.d/nbdrootd
+    [ $? -eq 1 ] && sed -i -e '/server  /a \\tserver_args\t= /opt/ltsp/images/i386.img' %{_sysconfdir}/xinetd.d/nbdrootd
     # Restart xinetd
     /sbin/service xinetd condrestart > /dev/null 2>&1
 fi
@@ -305,17 +365,23 @@ fi
 if [ $1 -ge 1 ]; then
     /sbin/service ltsp-dhcpd condrestart >/dev/null 2>&1
 fi
+%endif
 
 %files client
 %defattr(-,root,root,-)
 %{_mandir}/man1/getltscfg.1.gz
 %{_bindir}/getltscfg
 %{_bindir}/xatomwait
+%{base_sbindir}/init-ltsp
 %{_sbindir}/ltsp-client-launch
 %dir %{_datadir}/ltsp
+%{_sysconfdir}/init.d/ltsp-core
 %{_datadir}/ltsp/configure-x.sh
+%{_datadir}/ltsp/update-kernels
 %{_datadir}/ltsp/ltsp-init-common
-%{_datadir}/ltsp/ltsp-common-functions
+%{_datadir}/ltsp/ltsp-client-common-functions
+%{_datadir}/ltsp/ltsp-client-vendor-functions
+%{_datadir}/ltsp/ltsp-client-functions
 %{_datadir}/ltsp/ltsp_config
 %{_datadir}/ltsp/screen_session
 %{_datadir}/ltsp/screen-x-common
@@ -323,28 +389,40 @@ fi
 %{_datadir}/ltsp/screen-session.d/
 %{_datadir}/ltsp/xinitrc
 %{_datadir}/ltsp/xinitrc.d/
+%{_datadir}/ltsp/cleanup.d/ 
+%{_datadir}/ltsp/kioskSession 
+%{_datadir}/ltsp/nbd-disconnect
+%{_datadir}/ltsp/ltsp-cleanup
+%{_datadir}/ltsp/ltsp_config.d/
+%{_datadir}/ltsp/init-ltsp.d/
 %{_datadir}/ltsp/template/
 %{_datadir}/ldm/rc.d/
-%{_sbindir}/jetpipe
+%{_datadir}/dracut/modules.d/98unionfs/
+%{base_sbindir}/jetpipe
 %{_sbindir}/ltsp-rewrap-latest-kernel
 %{_mandir}/man8/jetpipe.8.gz
 %{_datadir}/ltsp/ltsp-chroot-setup
 %{_datadir}/ltsp/chroot-setup.d/
 %{_bindir}/ltsp-localappsd
 %{_bindir}/ltsp-genmenu
-%{_sysconfdir}/sysconfig/mkinitrd.ltsp-template
+%{_bindir}/ltsp-open
+%{_bindir}/ltsp-localapps
+%{_bindir}/ltsp-remoteapps
+%{_bindir}/ltsp-remoteappsd
 %{_sysconfdir}/kernel/postinst.d/ltsp
 %{_sysconfdir}/kernel/prerm.d/ltsp
+%{_sysconfdir}/dracut.conf.d/ltsp-dracut.conf
 %dir %{_localstatedir}/cache/ltsp-localapps/
+%dir %{_localstatedir}/cache/ltsp/
 
 # readonly-root related files
-%{_sysconfdir}/rwtab.d/*
 %{_localstatedir}/lib/random-seed
 %config(noreplace) %{_sysconfdir}/lts.conf
 
+%if %{with_serverpkg}
 %files server
 %defattr(-,root,root,-)
-%doc COPYING TODO server/doc/lts-parameters.txt
+%doc COPYING TODO server/doc/Upgrading_4.2 server/doc/plugins server/doc/workstation server/doc/swap server/doc/QuickInstall server/doc/FAQ
 %dir %{_localstatedir}/lib/ltsp/
 %attr(700,nobody,nobody) %dir %{_localstatedir}/lib/ltsp/swapfiles/
 %dir %{_tftpdir}/
@@ -361,8 +439,6 @@ fi
 %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
@@ -374,57 +450,111 @@ fi
 %{_sbindir}/ltsp-server-initialize
 %{_sbindir}/ltsp-update-kernels
 %{_sbindir}/ltsp-update-image
-%{_datadir}/ltsp/scripts/
+%{_sbindir}/ltsp-chroot
 %{_datadir}/ltsp/scripts.d/
 %{_datadir}/ltsp/chkconfig.d/
 %{_datadir}/ltsp/mksquashfs-exclude
-%{_datadir}/ltsp/ltsp-common-functions
+%{_datadir}/ltsp/ltsp-server-common-functions
+%{_datadir}/ltsp/ltsp-server-functions
+%{_datadir}/ltsp/ltsp-server-vendor-functions
 %{_sbindir}/ltsp-update-sshkeys
 %{_sbindir}/nbdrootd
 %{_sbindir}/nbdswapd
-%{_sbindir}/chroot-creator
+#%{_sbindir}/chroot-creator
+%{_sbindir}/ltsp-server-tweaks
 %{_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
+%config(noreplace) %{_sysconfdir}/ltsp/ltsp-update-image.excludes
+%config(noreplace) %{_sysconfdir}/ltsp/ltsp.exports
+%config(noreplace) %{_sysconfdir}/ltsp/nbd-server.allow
+%config(noreplace) %{_sysconfdir}/ltsp/lts.conf
+%config(noreplace) %{_sysconfdir}/ltsp/fat-client-groups
 
-%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 Feb 14 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 5.1.95-6
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+#%{_sysconfdir}/ltsp/kickstart/
+%dir %{_sysconfdir}/ltsp/dracut/
+%{_sysconfdir}/ltsp/dracut/
+%{_sysconfdir}/ltsp/mock/
+%config(noreplace) %{_tftpdir}/ltsp/*/lts.conf
+%endif
 
-* Thu Jul 19 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 5.1.95-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+%files -n ltsp-release
+%defattr(-,root,root,-)
+%config(noreplace) %{_sysconfdir}/yum.repos.d/ltsp.repo
 
-* Fri Jan 13 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 5.1.95-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
 
-* Mon Jul 04 2011 Ralf Corsépius <corsepiu at fedoraproject.org> - 5.1.95-3
-- BR: flex-static (Fix FTBFS BZ#661050, BZ#716153).
-- Honor RPM_OPT_FLAGS during building client/getltscfg.
+%changelog
+* Sun Mar 17 2013 Joshua Trimm <enslaver at enslaver.com> - 5.4.5
+   New features include:
+ - UnionFS overlay filesystem to make / filesystem read-write
+ - New chroot builder that uses mock instead of livecd-tools
+ - Compliance with most other distro's documentation, will be writing
+   el6 specific documents soon
+ - Dialog progress bar when building ltsp client
+ - NBD is included but not tested, separate thinclient kernels are required
+   on the client side, still looking into alternatives such as AoE and iSCSI
+    
+* Thu Jan 31 2013 Joshua Trimm <enslaver at enslaver.com> - 5.4.4
+ - I have taken over for Warren Togami for progressing LTSP into the 
+   future with RHEL based distros.
+   Warren deserves all of the credit for porting over to RHEL, most of 
+   his K12linux code is still being incorporated into the newer builds.
+ - To see the full list of changes see the ltsp-announce list
+ - Staying with NFS for now but will be setting NBD as a default next release.
+ - Inclusion of LSB (Linux Standards Base) libs should make the 
+   project more portable to other LSB compliant distros.
+
+* Thu Aug 11 2011 Warren Togami <warren at togami.com> - 5.2.17
+ - Optional i586 Fedora 11-based client for old thin client hardware
+       ltsp-build-client --release 11
+
+* Wed Aug 10 2011 Warren Togami <warren at togami.com> - 5.2.16
+- Faster Install: Run dracut only once during ltsp-build-client
+- Install epel-release and SL-6 fastbugs yum repos in chroot
+- Remove older distros and mkinitrd, only EL6 and F14 with dracut are supported.
+- EL6 i686 now uses kernel-thinclient (PAE disabled, NBD enabled, drivers stripped)
+
+* Mon Aug 08 2011 Warren Togami <warren at togami.com> - 5.2.14
+- Run ltsp-chroot-setup only once during ltsp-build-client.
+- Speed up ltsp-build-client
+- Remove many error and warning messages during ltsp-build-client
+  NOTE: Remaining warnings are from a new bug introduced by 
+  SL-6.1 livecd-creator.  They are harmless.
+- Added wraplinux and mkelfimage to EL6 chroot
+  Needed to boot on linuxbios, coreboot and some old client hardware.
+- ltsp-update-kernels prunes old symvers-*.gz
+- Shrink initramfs image by 1.5MB by removing dracut modules
+  unneeded by netboot thin clients.
+- Allow ltsp-build-client to work on Fedora 14 as a server.
+  Theoretically this should make Fedora 14 fully supported.
+
+* Tue Jul 26 2011 Warren Togami <warren at togami.com> - 5.2.11
+- SL-6.1
+- k12linux-release package contains yum definitions for K12Linux repo
+
+* Wed Jul 13 2011 Warren Togami <warren at togami.com> - 5.2.10
+- EL6 public URL's
+
+* Thu Jun 16 2011 Warren Togami <warren at togami.com> - 5.2.9
+- Preliminary EL6 support
+  pciutils needed by EL6 chroot for lspci
+- Remove ltsp-vmclient, qemu-kvm SDL is no longer supported,
+     netboot testing works great through virt-manager.
+- Fixed pxelinux.cfg syntax
+- Fixed nc syntax
+- Fixed local apps
+- Add ltsp-server-tweaks script, for now you must run it manually
+    Removes annoying and confusing PackageKit dialogs
+    Removes Switch User button in lock screen
 
 * Tue Feb 08 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 5.1.95-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
diff --git a/sources b/sources
index 4fcc4c5..1e32cc2 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-ad17aab90e91ec4e647908b0b89835ac  ltsp-5.1.95.tar.bz2
+d70f36b565c3a77e343d097925f79c05  ltsp-5.4.5.tar.bz2


More information about the scm-commits mailing list