From c14192ab987bb385fca636204af93a902337a06a Mon Sep 17 00:00:00 2001 From: Mike khiretskiy Date: Fri, 7 Feb 2014 14:32:19 +0400 Subject: [PATCH 1/3] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B5=20?= =?UTF-8?q?=D1=81=20=D0=B1=D0=B8=D1=82=D1=8B=D0=BC=D0=B8=20=D1=81=D0=B8?= =?UTF-8?q?=D0=BC=D0=BB=D0=B8=D0=BD=D0=BA=D0=B0=D0=BC=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit http://www.calculate-linux.ru/issues/637 --- install/variables/kernel.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/install/variables/kernel.py b/install/variables/kernel.py index 42ee87a..6fa1bd7 100644 --- a/install/variables/kernel.py +++ b/install/variables/kernel.py @@ -139,7 +139,9 @@ class KernelHelper: """Get files from "pathname" has "descr" in descriptions""" filelist = map(lambda x:path.join(pathname,x),os.listdir(pathname)) ftype = typeFile(magic=MAGIC_COMPRESS|MAGIC_SYMLINK).getMType - filesWithType = map(lambda x:(x,ftype(x)), filelist) + filesWithType = map(lambda x:(x,ftype(x)), + filter(path.exists, + filelist)) return filter(lambda x:descr in x[1],filesWithType) def getInitrd(self,arch,shortname,chroot,kernel,suffix="",notsuffix=""): From 61793dcc0af0f236d718cb23b7b6778595298044 Mon Sep 17 00:00:00 2001 From: Mike khiretskiy Date: Mon, 17 Feb 2014 09:27:53 +0400 Subject: [PATCH 2/3] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20htt?= =?UTF-8?q?p://www.calculate-linux.ru/boards/21/topics/25230?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправлена ошибка неправильного определения имени сетевой карты если udevadm предоставляет ID_NET_NAME_ONBOARD --- install/variables/net.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/install/variables/net.py b/install/variables/net.py index d8d22f6..e9e400d 100644 --- a/install/variables/net.py +++ b/install/variables/net.py @@ -107,11 +107,18 @@ class VariableOsInstallNetInterfacesOrig(NetHelper,ReadonlyVariable): return self.Get('os_install_net_interfaces') def getOrig(x): try: - nameParam = filter(lambda x:x.startswith("ID_NET_NAME_PATH="), - process("udevadm","test-builtin","net_id", - "/sys/class/net/%s"%x)) + nameParam = \ + map(lambda x:x.partition('=')[::2], + filter(lambda x:x.startswith("ID_NET_NAME_PATH=") or + x.startswith("ID_NET_NAME_ONBOARD="), + process("udevadm","test-builtin","net_id", + "/sys/class/net/%s"%x))) if nameParam: - return nameParam[0].partition('=')[2].strip() or x + sortOrder = {'ID_NET_NAME_PATH':0, + 'ID_NET_NAME_ONBOARD':1} + nameParam = sorted(nameParam, + key=lambda x:sortOrder.get(x[0],-1)) + return nameParam[-1][1].strip() or x except Exception as e: print str(e) return x From 2a76d0bb2f1272c63b4ee02a985be9c2d8e0e3b7 Mon Sep 17 00:00:00 2001 From: Mike khiretskiy Date: Mon, 3 Mar 2014 10:27:06 +0400 Subject: [PATCH 3/3] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8=20=D0=BE=20=D0=B7=D0=B2=D1=83=D0=BA=D0=BE=D0=B2?= =?UTF-8?q?=D1=8B=D1=85=20=D0=BA=D0=B0=D1=80=D1=82=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Информация получается напрямую из /proc/asound/cards --- install/variables/audio.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/install/variables/audio.py b/install/variables/audio.py index 0243ec3..5dc7a1c 100644 --- a/install/variables/audio.py +++ b/install/variables/audio.py @@ -33,13 +33,12 @@ class VariableOsAudioData(ReadonlyTableVariable): 'os_audio_name'] def get(self,hr=False): - alsaInfo = getProgPath('/usr/bin/alsa-info') - if not alsaInfo: + data = readFile('/proc/asound/cards') + cards = re.findall('^\s*(\d+).*\n\s+(\S.*) at .*$',data,re.M) + if cards: + return map(list, cards) + else: return [[]] - entry = re.compile('^Card hw:(\d+)\s*[^/]+/\'(.*?) at .*$') - return tuple(map(lambda x:x.groups(), - filter(None,map(entry.search, - process(alsaInfo,'--stdout',envdict=os.environ))))) setValue = Variable.setValue