From 9d251e71f3f3024e166b2cb3c0a692089a3a8df8 Mon Sep 17 00:00:00 2001 From: asamoukin Date: Wed, 1 Oct 2008 14:16:32 +0000 Subject: [PATCH] git-svn-id: http://svn.calculate.ru/calculate2/calculate-lib/trunk@216 c91db197-33c1-4113-bf15-f8a5c547ca64 --- pym/cl_base.py | 84 +++++++++++++++++++++++++++-------------------- pym/cl_profile.py | 2 +- pym/cl_vars.py | 3 +- 3 files changed, 50 insertions(+), 39 deletions(-) diff --git a/pym/cl_base.py b/pym/cl_base.py index a59d93d..3a63fcd 100644 --- a/pym/cl_base.py +++ b/pym/cl_base.py @@ -419,7 +419,7 @@ class objValue(object): v_select=None # переменная для внутреннего использования (official) v_official=False - # печатаемое значение + # печатаемое значение v_printval=None # переменная заполнена? - ее значение можно в последствии # получить сразу из __value @@ -441,7 +441,7 @@ class objValue(object): def isPure(self): '''Переменная не установлена и не заполнялась''' return not (self.__wasSet or self.__alreadyFill) - + def SetOutdated(self): '''Устанавливает переменную в состояние устарела''' self.__alreadyFill = False @@ -502,13 +502,13 @@ class objValue(object): # тоже должны изменить если эта переменная изменится if self.getstack: self.__ichangethey = self.__ichangethey.union(self.getstack) - # если переменная не заполненная и не установленная - if (self.__dynamicValue or + # если переменная не заполненная и не установленная + if (self.__dynamicValue or not self.__alreadyFill) and not self.__wasSet: # устанавливаем флаг, что оно вычилсенно, для избежания # бесконечных рекурсий self.__alreadyFill = True - #помещаем себя в список переменных, которые вызывают get + #помещаем себя в список переменных, которые вызывают get self.getstack.add(self) # вызываем метод заполения переменной val = self.simpleget() @@ -808,6 +808,8 @@ class fillVars: value_setup_pass = self.Get('setup_pass') if value_setup_pass == 'builder': return '/mnt/builder' + elif value_setup_pass == 'install': + return "/mnt/install" else: return '/' @@ -956,7 +958,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" res=cls.__runos(cstr) if res: return res.strip() - + def get_setup_path_profinstall(self): profpath = '/usr/lib/calculate/calculate-server/profile' @@ -971,13 +973,16 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" def get_soft_samba_domain(self): return "CDS" + def get_soft_ldap_root(self): + return "calculate" + def get_soft_samba_netbios(self): return "PDC-CDS" - + def get_soft_ldap_base(self): return "dc=%s"%(self.Get('soft_ldap_root')) - def get_soft_ldap_services_dn(self): + def get_soft_ldap_sevices_dn(self): return "ou=%s,%s"\ %(self.Get('soft_ldap_sevices_dn_name'), self.Get('soft_ldap_base')) @@ -989,7 +994,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" return "proxyuser" def get_soft_ldap_bind(self): - return "cn=%s,%s"% (self.Get('soft_ldap_bindname'), + return "cn=%s,%s"% (self.Get('soft_ldap_bindname'), self.Get('soft_ldap_base')) def get_soft_ldap_bindpw(self): @@ -1002,11 +1007,11 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" def get_soft_ldap_admin_tmp(self): return "cn=ldaproot,%s"%self.Get('soft_ldap_base') - + def get_soft_ldap_adminpw_tmp(self): return cl_utils.genpassword().strip() - + def get_soft_ldap_adminpw_tmp_hash(self): return fillVars.gethashfrom_slappasswd(self.G_path, self.Get('soft_ldap_adminpw_tmp'), @@ -1019,6 +1024,11 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" return "cn=%s,%s"% (self.Get('soft_ldap_adminname'), self.Get('soft_ldap_base')) + def get_soft_ldap_adminpw_hash(self): + return fillVars.gethashfrom_slappasswd(self.G_path, + self.Get('soft_ldap_adminpw'), + self.Get('soft_ldap_hash_encrypt')) + def get_soft_ldap_adminpw(self): '''Заполнение переменной soft_ldap_adminpw постоянный пользователь root, прописываемый в базу при первой загрузке @@ -1040,7 +1050,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" def get_soft_ldap_admin_jabber(self): return "ou=Jabber,%s" % self.Get('soft_ldap_sevices_dn') - + def get_soft_ldap_admin_jabberpw(self): return cl_utils.genpassword().strip() @@ -1055,7 +1065,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" def get_soft_ldap_admin_unix(self): return "ou=Unix,%s" % self.Get('soft_ldap_sevices_dn') - + def get_soft_ldap_admin_unixpw(self): return cl_utils.genpassword().strip() @@ -1070,7 +1080,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" def get_soft_ldap_admin_samba(self): return "ou=Samba,%s" % self.Get('soft_ldap_sevices_dn') - + def get_soft_ldap_admin_sambapw(self): return cl_utils.genpassword().strip() @@ -1085,7 +1095,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" def get_soft_ldap_admin_mail(self): return "ou=Mail,%s" % self.Get('soft_ldap_sevices_dn') - + def get_soft_ldap_admin_mailpw(self): return cl_utils.genpassword().strip() @@ -1232,7 +1242,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" if route: self.Set('net_gw_dev', route[7]) return route[1] - + def get_net_gw_dev(self): '''Определить сетевой адаптер для шлюза''' route=self._runos("""%sroute -n | grep "^0.0.0.0" """%self.G_path) @@ -1243,11 +1253,11 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" @classmethod def common_netfunc(cls, value_net_gw,value_net_gw_dev): - ''' Общие действия выполняемые для заполнения - шлюз, локальные интерфейсы, локальные сети, настройки + ''' Общие действия выполняемые для заполнения + шлюз, локальные интерфейсы, локальные сети, настройки /etc/conf.d/net, сетевые устройства net_conf, net_hosts_allow, net_networks - + Входные параметры: value_net_gw значение переменной окружения net_gw value_net_gw_dev значение переменной окружения net_gw_dev @@ -1332,7 +1342,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" n_key = nets.keys() n_key.sort() return gateway_dhcp, n_key, networks, host_allow, netconf - + def get_net_conf(self): '''Получить конфигурацию сети''' gateway_dhcp, n_key, networks, host_allow, netconf= \ @@ -1388,7 +1398,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" value_sys_domain)) and\ sock.connect_ex(('nfs.%s' % value_sys_domain,2049))==0: return 'nfs.%s' % value_sys_domain - + @classmethod def commonproxyfunc(cls,value_cmd_exec_host, value_sys_domain): ret_net_proxy = None @@ -1422,11 +1432,11 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" self.Get('sys_domain')) self.Set('net_proxy', ret_net_proxy) return ret_net_proxy_port - + def get_net_proxy_url(self): '''Получить url прокси''' if self.Get('net_proxy') and self.Get('net_proxy_port'): - return "http://%s:%s" % (self.Get('net_proxy'), + return "http://%s:%s" % (self.Get('net_proxy'), self.Get('net_proxy_port')) def get_net_ntp(self): @@ -1494,7 +1504,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" return res_n[1] else: return 0 - + def get_sys_current_ver(self): '''Получить текущий sys_current_ver''' parone = fillVars.commonsplitissue() @@ -1549,7 +1559,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" g_load_num = int(g_load_num) except: return None - if g_load_num == 2: + if g_load_num == 2: if not os.path.exists("/dev/%s3"%g_load_dev): print _("Incorrect partition") sys.exit(0) @@ -1684,7 +1694,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" def get_boot_grub_map(self): '''Запонить переменную boot_grub_map''' value_boot_grub_setupdev, value_boot_grub_loaddev, grub_map = \ - fillVars.commongrubfunc(self.Get('setup_installdev'), + fillVars.commongrubfunc(self.Get('setup_installdev'), self.Get('sys_loaddev')) self.Set( "boot_grub_setupdev", value_boot_grub_setupdev) self.Set( "boot_grub_loaddev", value_boot_grub_loaddev ) @@ -1693,7 +1703,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" def get_boot_grub_setupdev(self): '''Запонить переменную boot_grub_map''' value_boot_grub_setupdev, value_boot_grub_loaddev, grub_map = \ - fillVars.commongrubfunc(self.Get('setup_installdev'), + fillVars.commongrubfunc(self.Get('setup_installdev'), self.Get('sys_loaddev')) self.Set( "boot_grub_loaddev", value_boot_grub_loaddev ) self.Set( "boot_grub_map", grub_map ) @@ -1702,7 +1712,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" def get_boot_grub_loaddev(self): '''Запонить переменную boot_grub_map''' value_boot_grub_setupdev, value_boot_grub_loaddev, grub_map = \ - fillVars.commongrubfunc(self.Get('setup_installdev'), + fillVars.commongrubfunc(self.Get('setup_installdev'), self.Get('sys_loaddev')) self.Set( "boot_grub_setupdev", value_boot_grub_setupdev) self.Set( "boot_grub_map", grub_map ) @@ -1810,7 +1820,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" return val else: return value - + def get_sys_swap_line(self): '''Заполнить переменную sys_swap_line''' return '/dev/%s\tnone\t\tswap\tsw\t\t\t0 0'%self.Get('sys_swap_dev') @@ -1888,7 +1898,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" self.Set('sys_path_mounts', "") self.Set('sys_mount_line', "") return "" - + def get_sys_path_mounts(self): '''Заполнить переменную sys_mount_dev, а также sys_path_mounts, sys_mount_line''' @@ -2017,10 +2027,6 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" def get_setup_path_tmp(self): '''Определить директорию временных файлов setup_path_tmp ''' return '/tmp/calculate' - - def get_setup_path_install(self): - '''Определить директорию установки setup_path_install ''' - return "/mnt/install" def get_setup_makeopts(self): '''Определить makeopts @@ -2052,7 +2058,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" self.Get('setup_march')) if os.path.exists(pkgpath): return pkgpath - + def get_cmd_run_emerge1(self): '''Команда emerge с указанием OVERLAY и MAKEOPTS cmd_run_emerge1 @@ -2065,7 +2071,7 @@ http://distro.ibiblio.org/pub/linux/distributions/gentoo" def get_cmd_run_emerge2(self): '''cmd_run_emerge''' return "" - + # от flGlobal #packages=(G_inst_path+"/builder/packages",\ #self.G_shr_path+"/builder/packages") @@ -2209,6 +2215,7 @@ class DataVars: файла модуля содержащего описание переменных''' if modname in self.__implist: return + self.__implist.append(modname) modname=self.__modlist[modname] # импортирем модуль с переменными окружения exec ("import %s" % (modname)) @@ -2408,6 +2415,11 @@ class DataVars: else: return False + def flServer(self, **args): + '''Заполнить конфигурацию переменных, для ldap''' + # заполнить переменные окружения алгоритмом по умолнанию + self.addVars("Server") + def flBuilder(self, **args): '''Заполнить конфигурацию переменных, для билдера''' self.Set('setup_pass','builder',True) diff --git a/pym/cl_profile.py b/pym/cl_profile.py index c72cef7..5fcdf8b 100644 --- a/pym/cl_profile.py +++ b/pym/cl_profile.py @@ -3447,4 +3447,4 @@ class procmail(objShare): """Объединяем конфигурации""" if isinstance(procmailObj, procmail): #print self.docObj.doc.toprettyxml() - self.docObj.joinDoc(procmailObj.doc) \ No newline at end of file + self.docObj.joinDoc(procmailObj.doc) diff --git a/pym/cl_vars.py b/pym/cl_vars.py index f9b6dd9..8a1e8ed 100644 --- a/pym/cl_vars.py +++ b/pym/cl_vars.py @@ -224,8 +224,7 @@ class Data: } #путь к директории точки монтирования для установки новой системы setup_path_install={'mode':"w", - 'type':('path','install'), - 'value':'/mnt/install'} + 'type':('path','install')} #путь к дистрибутивам setup_path_linuxpkg={'mode':"r", 'type':('path','install'),