initial commit of file from CVS for smeserver-thinclient on Sat Sep 7 21:08:43 AEST 2024
This commit is contained in:
parent
d26600661b
commit
137c6dfb87
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
*.rpm
|
||||||
|
*.log
|
||||||
|
*spec-20*
|
||||||
|
*.tar.xz
|
21
Makefile
Normal file
21
Makefile
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# Makefile for source rpm: smeserver-thinclient
|
||||||
|
# $Id: Makefile,v 1.1 2020/10/29 18:35:38 brianr Exp $
|
||||||
|
NAME := smeserver-thinclient
|
||||||
|
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)
|
18
README.md
18
README.md
@ -1,3 +1,17 @@
|
|||||||
# smeserver-thinclient
|
# <img src="https://www.koozali.org/images/koozali/Logo/Png/Koozali_logo_2016.png" width="25%" vertical="auto" style="vertical-align:bottom"> smeserver-thinclient
|
||||||
|
|
||||||
SMEServer Koozali developed git repo for smeserver-thinclient smecontribs
|
SMEServer Koozali developed git repo for smeserver-thinclient smecontribs
|
||||||
|
|
||||||
|
## Wiki
|
||||||
|
<br />https://wiki.koozali.org/Thinclient
|
||||||
|
<br />https://wiki.koozali.org/PXE_via_Thinclient
|
||||||
|
<br />https://wiki.koozali.org/Thinclient_usage
|
||||||
|
|
||||||
|
## Bugzilla
|
||||||
|
Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=smeserver-thinclient&product=SME%20Contribs&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED)
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
<br />*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.*
|
||||||
|
*Once it has been checked, then this comment will be deleted*
|
||||||
|
<br />
|
||||||
|
1
contriborbase
Normal file
1
contriborbase
Normal file
@ -0,0 +1 @@
|
|||||||
|
contribs10
|
27
createlinks
Normal file
27
createlinks
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
|
use esmith::Build::CreateLinks qw(:all);
|
||||||
|
use File::Basename;
|
||||||
|
use File::Path;
|
||||||
|
|
||||||
|
# our event specific for updating with yum without reboot
|
||||||
|
$event = 'smeserver-thinclient-update';
|
||||||
|
#add here the path to your templates needed to expand
|
||||||
|
event_templates($event, '/etc/dhcpd.thinclient');
|
||||||
|
#see the /etc/systemd/system-preset/49-koozali.preset should be present for systemd integration on all you yum update event
|
||||||
|
#foreach my $file (qw(
|
||||||
|
# /etc/dhcpd.thinclient
|
||||||
|
#))
|
||||||
|
#{
|
||||||
|
# templates2events( $file, $event );
|
||||||
|
#}
|
||||||
|
#action needed in case we have a systemd unit
|
||||||
|
# event_link('systemd-default', $event, '10');
|
||||||
|
# event_link('systemd-reload', $event, '50');
|
||||||
|
#action specific to this package
|
||||||
|
#event_link('action', $event, '30');
|
||||||
|
#services we need to restart
|
||||||
|
event_services($event, 'dhcpd' => 'restart');
|
||||||
|
#safe_symlink('restart',"root/etc/e-smith/events/$event/services2adjust/dhcpd");
|
||||||
|
#and Server Manager panel link
|
||||||
|
panel_link("thinclient", "manager")
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
my $thinclient = $DB->get("thinclient") or return;
|
||||||
|
|
||||||
|
$thinclient->delete;
|
||||||
|
}
|
1
root/etc/e-smith/db/thinclient/defaults/00:06/name
Normal file
1
root/etc/e-smith/db/thinclient/defaults/00:06/name
Normal file
@ -0,0 +1 @@
|
|||||||
|
32 bit EFI
|
1
root/etc/e-smith/db/thinclient/defaults/00:06/type
Normal file
1
root/etc/e-smith/db/thinclient/defaults/00:06/type
Normal file
@ -0,0 +1 @@
|
|||||||
|
arch
|
1
root/etc/e-smith/db/thinclient/defaults/00:07/name
Normal file
1
root/etc/e-smith/db/thinclient/defaults/00:07/name
Normal file
@ -0,0 +1 @@
|
|||||||
|
64 bit EFI
|
1
root/etc/e-smith/db/thinclient/defaults/00:07/type
Normal file
1
root/etc/e-smith/db/thinclient/defaults/00:07/type
Normal file
@ -0,0 +1 @@
|
|||||||
|
arch
|
1
root/etc/e-smith/db/thinclient/defaults/defaultbase/type
Normal file
1
root/etc/e-smith/db/thinclient/defaults/defaultbase/type
Normal file
@ -0,0 +1 @@
|
|||||||
|
default
|
3
root/etc/e-smith/db/thinclient/migrate/00openRW
Normal file
3
root/etc/e-smith/db/thinclient/migrate/00openRW
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
$DB = esmith::ConfigDB->open(${DB_FILENAME});
|
||||||
|
}
|
5
root/etc/e-smith/db/thinclient/migrate/default.remove
Normal file
5
root/etc/e-smith/db/thinclient/migrate/default.remove
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
my $default = $DB->get("default") or return;
|
||||||
|
|
||||||
|
$default->delete;
|
||||||
|
}
|
7
root/etc/e-smith/templates/etc/dhcpd.conf/28pxeclients
Normal file
7
root/etc/e-smith/templates/etc/dhcpd.conf/28pxeclients
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
if ($pxe{status} eq "enabled")
|
||||||
|
{
|
||||||
|
$OUT .= " # include infdividually managed workstations\n";
|
||||||
|
$OUT .= " include \"/etc/dhcpd.thinclient\";\n";
|
||||||
|
}
|
||||||
|
}
|
66
root/etc/e-smith/templates/etc/dhcpd.thinclient/28pxeclients
Normal file
66
root/etc/e-smith/templates/etc/dhcpd.thinclient/28pxeclients
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
{
|
||||||
|
if ($pxe{status} eq "enabled")
|
||||||
|
{
|
||||||
|
my $pxeclients = esmith::ConfigDB->open('thinclient');
|
||||||
|
my @pxedists = $pxeclients->get_all_by_prop('type' => 'dist');
|
||||||
|
$OUT .= "\n # Individually managed workstations defined by smeserver-thinclient\n\n";
|
||||||
|
foreach my $distrec (@pxedists)
|
||||||
|
{
|
||||||
|
my $dist = $distrec->key;
|
||||||
|
my $dir = $pxeclients->get_prop($dist, 'dir');
|
||||||
|
my $dprog = $pxeclients->get_prop($dist, 'prog');
|
||||||
|
my @macs = $pxeclients->get_all_by_prop('base', $dist);
|
||||||
|
if (@macs)
|
||||||
|
{
|
||||||
|
$OUT .= " group { # clients for $dist Distribution\n";
|
||||||
|
$OUT .= " allow bootp;\n";
|
||||||
|
my $seq = 0;
|
||||||
|
while (my ($arch, $aprog) = each (%pxe))
|
||||||
|
{
|
||||||
|
unless ($arch eq 'default' || $arch eq 'type' || $arch eq 'status' || $arch eq 'nextserver' || $arch eq 'dir')
|
||||||
|
{
|
||||||
|
my $prog = $pxeclients->get_prop($dist, $arch);
|
||||||
|
if ($prog)
|
||||||
|
{
|
||||||
|
++$seq;
|
||||||
|
if ($seq eq 1)
|
||||||
|
{
|
||||||
|
$OUT .= " if option client-architecture = $arch {\n";
|
||||||
|
$OUT .= " filename \"$dir/$prog\";\n";
|
||||||
|
$OUT .= " }\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$OUT .= " elsif option client-architecture = $arch {\n";
|
||||||
|
$OUT .= " filename \"$dir/$prog\";\n";
|
||||||
|
$OUT .= " }\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($seq eq 0)
|
||||||
|
{
|
||||||
|
$OUT .= " filename \"$dir/$dprog\";\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$OUT .= " else {\n";
|
||||||
|
$OUT .= " filename \"$dir/$dprog\";\n";
|
||||||
|
$OUT .= " }\n";
|
||||||
|
}
|
||||||
|
foreach my $client (@macs)
|
||||||
|
{
|
||||||
|
if ($client->prop('status') eq 'enabled')
|
||||||
|
{
|
||||||
|
my $host = $client->prop('name') || $client->key;
|
||||||
|
$host =~ s/://g;
|
||||||
|
$OUT .= " host $host {\n";
|
||||||
|
$OUT .= " hardware ethernet ".$client->key.";\n";
|
||||||
|
$OUT .= " }\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$OUT .= " }\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
1762
root/etc/e-smith/web/functions/thinclient
Executable file
1762
root/etc/e-smith/web/functions/thinclient
Executable file
File diff suppressed because it is too large
Load Diff
185
smeserver-thinclient.spec
Normal file
185
smeserver-thinclient.spec
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
# $Id: smeserver-thinclient.spec,v 1.9 2022/07/01 01:34:41 trevorb Exp $
|
||||||
|
# Authority: nocvs
|
||||||
|
# Name: Trevor Batley
|
||||||
|
|
||||||
|
Summary: Manage pxeboot of Thin Client workstations over network
|
||||||
|
%define name smeserver-thinclient
|
||||||
|
Name: %{name}
|
||||||
|
%define version 2.2
|
||||||
|
%define release 4
|
||||||
|
Version: %{version}
|
||||||
|
Release: %{release}%{?dist}
|
||||||
|
License: GPL
|
||||||
|
Group: Network
|
||||||
|
Source: %{name}-%{version}.tar.xz
|
||||||
|
BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
|
||||||
|
BuildArch: noarch
|
||||||
|
Requires: e-smith-base, smeserver-pxe
|
||||||
|
BuildRequires: e-smith-devtools >= 1.13.1-03
|
||||||
|
AutoReq: yes
|
||||||
|
|
||||||
|
%description
|
||||||
|
Manage diskless workstation/device booting over network.
|
||||||
|
PXE capable NIC and BIOS required on target machine
|
||||||
|
Basic PXE booting is enabled via smeserver-pxe. This contrib manages what the pxe clients use.
|
||||||
|
A tftp server is reqired. Can be on sme server (eg smeserver-tftp) or elsewhere in network
|
||||||
|
Requires sme server to be acting as the dhcp server
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n %{name}-%{version}
|
||||||
|
|
||||||
|
%build
|
||||||
|
perl createlinks
|
||||||
|
|
||||||
|
%install
|
||||||
|
/bin/rm -rf $RPM_BUILD_ROOT
|
||||||
|
(cd root ; /usr/bin/find . -depth -print | /bin/cpio -dump $RPM_BUILD_ROOT)
|
||||||
|
/bin/rm -f %{name}-%{version}-filelist
|
||||||
|
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT > %{name}-%{version}-filelist
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
%files -f %{name}-%{version}-filelist
|
||||||
|
|
||||||
|
%defattr(-,root,root)
|
||||||
|
|
||||||
|
%pre
|
||||||
|
|
||||||
|
%preun
|
||||||
|
|
||||||
|
%post
|
||||||
|
|
||||||
|
%postun
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Sat Sep 07 2024 cvs2git.sh aka Brian Read <brianr@koozali.org> 2.2-4.sme
|
||||||
|
- Roll up patches and move to git repo [SME: 12338]
|
||||||
|
|
||||||
|
* Sat Sep 07 2024 BogusDateBot
|
||||||
|
- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
|
||||||
|
by assuming the date is correct and changing the weekday.
|
||||||
|
|
||||||
|
* Fri Jul 1 2022 Trevor Batley <trevor@batley.id.au> 2.2-3.sme
|
||||||
|
- consolidate patches etc. and replace tarball
|
||||||
|
- trigger update event on all save of workstation [SME 12085]
|
||||||
|
- move templates2expand and services2adjust into createlinks [SME 12086]
|
||||||
|
- move changelog in spec to end
|
||||||
|
|
||||||
|
* Tue May 10 2022 Trevor Batley <trevor@batley.id.au> 2.2-2.sme
|
||||||
|
- added missing migrate/00openRW fragment for thinslient DB [SME 11967]
|
||||||
|
|
||||||
|
* Thu Apr 28 2022 Trevor Batley <trevor@batley.id.au> 2.2-1.sme
|
||||||
|
- added /etc/dhcpd.thinclient include file for pxe clients
|
||||||
|
- remove core pxe components and add requirement for smeserver-pxe [SME: 11960]
|
||||||
|
- add options for different architectures [SME: 10821]
|
||||||
|
- change back to using / updating tftp [SME: 11939]
|
||||||
|
- fixed some dodgy db parameter processing
|
||||||
|
- rollup patches (archive.patch, tftpd.conf)
|
||||||
|
|
||||||
|
* Thu Oct 29 2020 Brian Read <brianr@bjsystems.co.uk> 2.1-4.sme
|
||||||
|
- Initial import to SME10 tree [SME: 11073]
|
||||||
|
|
||||||
|
* Mon Apr 25 2016 Trevor Batley <trevorbatley@users.sourceforge.net> 2.1-3
|
||||||
|
- Allow upload and extract of 'Distribution' archives for loading into /tftpboot [9481]
|
||||||
|
- Always set tftproot as /tftpboot as default [9441]
|
||||||
|
|
||||||
|
* Mon Apr 4 2016 Trevor Batley <trevorbatley@users.sourceforge.net> 2.1-2
|
||||||
|
- Run tftpd-conf when tftp server is set to Self and tftpd exists [9417]
|
||||||
|
- Also remove the services2adjust restart of tftpd, which was trying to do the same
|
||||||
|
|
||||||
|
* Tue Nov 12 2013 Daniel Berteaud <daniel@firewall-services.com> 2.1-1
|
||||||
|
- Rebuild for SME9
|
||||||
|
|
||||||
|
* Sun Apr 29 2007 Shad L. Lords <slords@mail.com>
|
||||||
|
- Clean up spec so package can be built by koji/plague
|
||||||
|
|
||||||
|
* Thu Dec 07 2006 Shad L. Lords <slords@mail.com>
|
||||||
|
- Update to new release naming. No functional changes.
|
||||||
|
- Make Packager generic
|
||||||
|
|
||||||
|
* Mon Jun 12 2006 Trevor Batley <trevor@batley.id.au> - 2.0-5
|
||||||
|
- Cater for missing tftpd parameter in configuration database
|
||||||
|
- Set dhcpd Bootp parameter in configuration database
|
||||||
|
|
||||||
|
* Tue Apr 4 2006 Trevor Batley <trevor@batley.id.au> - 2.0-4
|
||||||
|
- Got rid of superfluous 3 level version number and reverted to 2 levels
|
||||||
|
|
||||||
|
* Sat Apr 1 2006 Trevor Batley <trevor@batley.id.au> - 2.0.0-3
|
||||||
|
- Tidied up some of the references to pxe parameters in panel
|
||||||
|
- Changed panel to look for the tftpd{directory} parameter for populating tftproot
|
||||||
|
|
||||||
|
* Sun Mar 26 2006 Trevor Batley <trevor@batley.id.au> - 2.0.0-2
|
||||||
|
- Change update to tftp key in config database to tftpd to align with tftpd package from Daniel Warnet
|
||||||
|
|
||||||
|
* Sat Feb 11 2006 Trevor Batley <trevor@batley.id.au> - 2.0.0-1
|
||||||
|
- Amend to work with smeserver v7rc2 +>
|
||||||
|
+ rename pxeclients database thinclient
|
||||||
|
+ panel - remove hardcoded thinclient & hosts database paths
|
||||||
|
+ panel - remove references to dhcpd{DenyBootp} database property
|
||||||
|
+ templates - remove /etc/dhcpd.conf/25DenyBootp fragment
|
||||||
|
+ events - use services2update for conf-thinclient
|
||||||
|
+ actions - remove conf-thinclient script
|
||||||
|
+ spec - remove all coding in %pre tag
|
||||||
|
+ createlinks - only do panel (remove all other c**p)
|
||||||
|
|
||||||
|
* Thu Nov 11 2004 Trevor Batley <trevor@batley.id.au> - 1.2.0-5
|
||||||
|
- Fix error when changing distribution and NOT regenerating /etc/dhcpd.config
|
||||||
|
- Added option to allow changing the default filename to be executed (per distribution)
|
||||||
|
|
||||||
|
* Sat Apr 17 2004 Trevor Batley <trevor@batley.id.au> - 1.2.0-4
|
||||||
|
- Fix error when adding new Workstation and 'Default Distribution' set as 'None'
|
||||||
|
|
||||||
|
* Wed Apr 14 2004 Trevor Batley <trevor@batley.id.au> - 1.2.0-3
|
||||||
|
- Fix stupid error with use of Self for tftp server (template for /etc/dhcpd.conf/48NextServer)
|
||||||
|
|
||||||
|
* Wed Apr 14 2004 Trevor Batley <trevor@batley.id.au> - 1.2.0-2
|
||||||
|
- Multiple validation changes
|
||||||
|
- Add log file capture and display for rpm & signal-event handling
|
||||||
|
- Display error messages on Workstation & Distribution panels
|
||||||
|
- Added tick/cross and coloured Operation Status report
|
||||||
|
|
||||||
|
* Thu Apr 1 2004 Trevor Batley <trevor@batley.id.au> - 1.2.0-1
|
||||||
|
- Add functionality into panel to add/remove distributions via rpm (file on local workstation)
|
||||||
|
|
||||||
|
* Wed Mar 24 2004 Trevor Batley <trevor@batley.id.au>
|
||||||
|
- Removed postun action of navigation-conf-hidden and replaced with correct action of navigation-conf
|
||||||
|
|
||||||
|
* Fri Mar 19 2004 Trevor Batley <trevor@batley.id.au>
|
||||||
|
- Formatting changes to sub-panels within thinclient server-manager panel and addition of cancel button to workstation settings
|
||||||
|
|
||||||
|
* Thu Mar 18 2004 Trevor Batley <trevor@batley.id.au>
|
||||||
|
- Removed post action of navigation-conf-hidden and replaced with correct action of navigation-conf
|
||||||
|
|
||||||
|
* Thu Mar 18 2004 Trevor Batley <trevor@batley.id.au>
|
||||||
|
- Removed tftp components from this rpm and put them in smeserver-tftpd
|
||||||
|
- added requirement to use smeserver-tftpd and removed requirement for generic tftp
|
||||||
|
|
||||||
|
* Mon Mar 15 2004 Trevor Batley <trevor@batley.id.au>
|
||||||
|
- Fixed bug in mac address checking
|
||||||
|
- included call to navigation-conf-hidden in post install event
|
||||||
|
|
||||||
|
* Fri Mar 12 2004 Trevor Batley <trevor@batley.id.au>
|
||||||
|
- Revamped rpm build spec file and associated pre & post scripts etc.
|
||||||
|
|
||||||
|
* Sat Mar 6 2004 Trevor Batley <trevor@batley.id.au>
|
||||||
|
- Updated thinclient server-manager panel using suggestions from Darrell May & Gordon Rowell
|
||||||
|
|
||||||
|
* Wed Feb 4 2004 Trevor Batley <trevor@batley.id.au>
|
||||||
|
- Initial working (sort of) pxeboot server-manager panel
|
||||||
|
|
||||||
|
* Wed Feb 4 2004 Trevor Batley <trevor@batley.id.au>
|
||||||
|
- Add initial pxeboot server-manager panel
|
||||||
|
|
||||||
|
* Tue Feb 3 2004 Trevor Batley <trevor@batley.id.au>
|
||||||
|
- Fix problem with quoting around default tftpboot directory
|
||||||
|
|
||||||
|
* Sat Jan 31 2004 Trevor Batley <trevor@batley.id.au>
|
||||||
|
- Fix template problem with
|
||||||
|
|
||||||
|
* Sat Jan 24 2004 Trevor Batley <trevor@batley.id.au>
|
||||||
|
- Initial release
|
||||||
|
|
||||||
|
* Sat Jan 24 2004 Trevor Batley <trevor@batley.id.au>
|
||||||
|
- Initial release
|
||||||
|
|
Loading…
Reference in New Issue
Block a user