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