Index: debian/univention-client-boot-pxe.univention-baseconfig =================================================================== --- debian/univention-client-boot-pxe.univention-baseconfig (Revision 26111) +++ debian/univention-client-boot-pxe.univention-baseconfig (Revision 26112) @@ -8,9 +8,16 @@ Variables: pxe/loglevel Variables: pxe/append Variables: pxe/nfsroot +Variables: pxe/thinclient/flash/server Type: module Module: clientbootpxe.py +Variables: pxe/vga +Variables: pxe/quiet Variables: pxe/nameserver -Variables: pxe/quiet +Variables: pxe/ldapserver +Variables: pxe/ldapport Variables: pxe/loglevel +Variables: pxe/append +Variables: pxe/nfsroot +Variables: pxe/thinclient/flash/server Index: debian/postinst =================================================================== --- debian/postinst (Revision 26111) +++ debian/postinst (Revision 26112) @@ -3,7 +3,7 @@ # Univention Client Boot PXE # postinst script # -# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Univention GmbH +# Copyright (C) 2001-2011 Univention GmbH # # http://www.univention.de/ # Index: debian/prerm =================================================================== --- debian/prerm (Revision 26111) +++ debian/prerm (Revision 26112) @@ -3,7 +3,7 @@ # Univention Client Boot PXE # prerm script # -# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Univention GmbH +# Copyright (C) 2001-2011 Univention GmbH # # http://www.univention.de/ # Index: debian/changelog =================================================================== --- debian/changelog (Revision 26111) +++ debian/changelog (Revision 26112) @@ -1,3 +1,22 @@ +univention-client-boot-pxe (6.1.2-1) unstable; urgency=low + + * merged changes from customer scope Ticket: #2011041210005499 + + -- Felix Botner Mon, 15 Aug 2011 16:19:27 +0200 + +univention-client-boot-pxe (6.1.1-1) unstable; urgency=low + + * fixed templates/modules/clientbootpxe.py Ticket #2011030710000906 + + -- Felix Botner Mon, 11 Apr 2011 10:21:38 +0200 + +univention-client-boot-pxe (6.1.0-1) unstable; urgency=low + + * added pxe/thinclient/flash/server + * update tc configs for all pxe vars Ticket #2011030710000906 + + -- Felix Botner Mon, 11 Apr 2011 08:54:42 +0200 + univention-client-boot-pxe (4.0.0-1) unstable; urgency=low * Bump version for UCS TCS 3.1 (Bug #20041) Index: debian/copyright =================================================================== --- debian/copyright (Revision 26111) +++ debian/copyright (Revision 26112) @@ -1,4 +1,4 @@ -Copyright 2001,2002,2003,2004,2005,2006,2007 by +Copyright 2001-2011 by Univention GmbH http://www.univention.de/ Index: debian/rules =================================================================== --- debian/rules (Revision 26111) +++ debian/rules (Revision 26112) @@ -3,7 +3,7 @@ # Univention Client Boot PXE # rules file for the debian package # -# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Univention GmbH +# Copyright (C) 2001-2011 Univention GmbH # # http://www.univention.de/ # Index: clientbootpxe.py =================================================================== --- clientbootpxe.py (Revision 26111) +++ clientbootpxe.py (Revision 26112) @@ -4,7 +4,7 @@ # Univention Client Boot PXE # Univention Listener Module # -# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Univention GmbH +# Copyright (C) 2001-2011 Univention GmbH # # http://www.univention.de/ # Index: conffiles/clientbootpxe.py =================================================================== --- conffiles/clientbootpxe.py (Revision 26111) +++ conffiles/clientbootpxe.py (Revision 26112) @@ -1,9 +1,9 @@ # -*- coding: utf-8 -*- # # Univention Client Boot PXE -# baseconfig/listener module: update nameserver for PXE clients +# baseconfig/listener module: update config for PXE clients # -# Copyright (C) 2004, 2005, 2006, 2007 Univention GmbH +# Copyright (C) 2004-2011 Univention GmbH # # http://www.univention.de/ # @@ -33,53 +33,115 @@ from fileinput import * from glob import glob -var = 'pxe/nameserver' pattern = '/var/lib/univention-client-boot/pxelinux.cfg/*' -def update_nameserver(line, nameserver): - line = line.strip('\n') - if 'DNSSERVER=' in line: - sp = line.split(' ') - line = '' - for element in sp: - if element.startswith('DNSSERVER='): - element = 'DNSSERVER=%s' % nameserver - if line == '': - line = element - else: - line = '%s %s' % (line, element) - return line - else: - return line +def update_nameserver (line, changes): + if type(changes.get('pxe/nameserver')) == type(()): + old, new = changes.get('pxe/nameserver', (False, False)) + if not old == new: + line = re.sub("(^| )DNSSERVER=[^ ]+($| )", " ", line) + if new: + line = line.rstrip() + line = line + " DNSSERVER=%s" % new + + return line -def update_loglevel(line, loglevel): - line = line.strip('\n') - if 'APPEND root=' in line: - line = re.sub(" loglevel=\d+", "", line) - if loglevel: - line = line + " loglevel=%s" % loglevel +def update_loglevel (line, changes): + if type(changes.get('pxe/loglevel')) == type(()): + old, new = changes.get('pxe/loglevel', (False, False)) + if not old == new: + line = re.sub("(^| )loglevel=[^ ]+($| )", " ", line) + if new: + line = line.rstrip() + line = line + " loglevel=%s" % new return line -def update_quiet(line, quiet): - line = line.strip('\n') - if 'APPEND root=' in line: - if ' quiet' in line: - if not quiet: - line = line.replace(" quiet", "") - if not ' quiet' in line: - if quiet: +def update_quiet (line, changes): + if type(changes.get('pxe/quit')) == type(()): + old, new = changes.get('pxe/quiet', (False, False)) + if not old == new: + line = re.sub("(^| )quiet($| )", " ", line) + if new and new.lower() in ['yes', 'true', '1']: + line = line.rstrip() line = line + " quiet" return line +def update_vga (line, changes): + if type(changes.get('pxe/vga')) == type(()): + old, new = changes.get('pxe/vga', (False, False)) + if not old == new: + line = re.sub("(^| )vga=[^ ]+($| )", " ", line) + if new: + line = line.rstrip() + line = line + " vga=%s" % new + return line + +def update_ldap_port (line, changes): + if type(changes.get('pxe/ldapport')) == type(()): + old, new = changes.get('pxe/ldapport', (False, False)) + if not old == new: + line = re.sub("(^| )ldapPort=[^ ]+($| )", " ", line) + if new: + line = line.rstrip() + line = line + " ldapPort=%s" % new + return line + +def update_flash_server (line, changes): + if type(changes.get('pxe/thinclient/flash/server')) == type(()): + old, new = changes.get('pxe/thinclient/flash/server', (False, False)) + if not old == new: + line = re.sub("(^| )flashServer=[^ ]+($| )", " ", line) + if new: + line = line.rstrip() + line = line + " flashServer=%s" % new + return line + +def update_nfs_root (line, changes): + if type(changes.get('pxe/nfsroot')) == type(()): + old, new = changes.get('pxe/nfsroot', (False, False)) + if not old == new: + line = re.sub("(^| )nfsroot=[^:]+:/var/lib/univention-client-root($| )", " ", line) + if new: + line = line.rstrip() + line = line + " nfsroot=%s:/var/lib/univention-client-root" % new + return line + +def update_ldapserver (line, changes): + if type(changes.get('pxe/ldapserver')) == type(()): + old, new = changes.get('pxe/ldapserver', (False, False)) + if not old == new: + # old syntax ldapServer=10.200.1.1 + line = re.sub('(^| )ldapServer=[^" ]+($| )', " ", line) + # new syntax ldapServer="10.200.1.1" + line = re.sub('(^| )ldapServer="[^"]+"($| )', " ", line) + if new: + line = line.rstrip() + line = line + ' ldapServer="%s"' % new + return line + +def update_append(line, changes): + if type(changes.get('pxe/append')) == type(()): + old, new = changes.get('pxe/append', ("", "")) + if not old == new: + line = re.sub('(^| )%s($| )' % old, " ", line) + if new: + line = line.rstrip() + line = line + ' %s' % new + return line + + def handler(baseConfig, changes): - nameserver = baseConfig.get(var) - quiet = False - if baseConfig.get('pxe/quiet', "False").lower() in ['yes', 'true', '1']: - quiet = True - loglevel = baseConfig.get('pxe/loglevel', False) + for line in input(glob(pattern), inplace = True): - if nameserver: - line = update_nameserver(line, nameserver) - line = update_quiet(line, quiet) - line = update_loglevel(line, loglevel) + line = line.strip('\n') + if 'APPEND root=' in line: + line = update_nameserver(line, changes) + line = update_loglevel(line, changes) + line = update_quiet(line, changes) + line = update_vga(line, changes) + line = update_ldap_port(line, changes) + line = update_flash_server(line, changes) + line = update_nfs_root(line, changes) + line = update_ldapserver(line, changes) + line = update_append(line, changes) print line Index: conffiles/etc/univention/client-boot-pxe/pxeconfig =================================================================== --- conffiles/etc/univention/client-boot-pxe/pxeconfig (Revision 26111) +++ conffiles/etc/univention/client-boot-pxe/pxeconfig (Revision 26112) @@ -24,9 +24,11 @@ if baseConfig.get('pxe/quiet', "False").lower() in ['yes', 'true', '1']: line += 'quiet ' if 'pxe/ldapserver' in baseConfig.keys(): - line += 'ldapServer=%s ' % baseConfig['pxe/ldapserver'] + line += 'ldapServer="%s" ' % baseConfig['pxe/ldapserver'] if 'pxe/ldapport' in baseConfig.keys(): line += 'ldapPort=%s ' % baseConfig['pxe/ldapport'] +if 'pxe/thinclient/flash/server' in baseConfig.keys(): + line += 'flashServer=%s ' % baseConfig['pxe/thinclient/flash/server'] if 'pxe/append' in baseConfig.keys(): line += '%s ' % baseConfig['pxe/append'] if baseConfig.get('pxe/loglevel', False): Index: 91univention-client-boot-pxe.inst =================================================================== --- 91univention-client-boot-pxe.inst (Revision 26111) +++ 91univention-client-boot-pxe.inst (Revision 26112) @@ -3,7 +3,7 @@ # Univention Client Boot PXE # join script for the client boot PXE debian package # -# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Univention GmbH +# Copyright (C) 2001-2011 Univention GmbH # # http://www.univention.de/ # Eigenschaftsänderungen: . ___________________________________________________________________ Gelöscht: svn:mergeinfo