diff --git a/install b/install index ac99db5..e3eaeda 100755 --- a/install +++ b/install @@ -14,6 +14,18 @@ def makedirs(dirname): if not os.path.exists(dirname): os.makedirs(dirname) +def get_platform(): + name = sys.platform + if name.startswith('darwin'): + name = 'darwin64' + elif name.startswith('linux'): + import platform + if platform.architecture()[0] == '64bit': + name = 'linux64' + else: + name = 'linux32' + return name + class Install(Thread): base_url = 'http://downloads.openmedialibrary.com/' @@ -98,18 +110,20 @@ class Install(Thread): release = self.get_release() self.status['release'] = release print("Installing Open Media Library:") + platform = get_platform() for module in sorted(release['modules']): - self.status['installing'] = module - self.status['progress'] = 0 - self.status['size'] = 0 - package_tar = release['modules'][module]['name'] - url = self.url(package_tar) - package_tar = os.path.join(target, package_tar) - self.download(url, package_tar) - tar = tarfile.open(package_tar) - tar.extractall() - tar.close() - os.unlink(package_tar) + if release['modules'][module].get('platform', platform) == platform: + self.status['installing'] = module + self.status['progress'] = 0 + self.status['size'] = 0 + package_tar = release['modules'][module]['name'] + url = self.url(package_tar) + package_tar = os.path.join(target, package_tar) + self.download(url, package_tar) + tar = tarfile.open(package_tar) + tar.extractall() + tar.close() + os.unlink(package_tar) os.symlink('openmedialibrary/ctl', 'ctl') self.status['progress'] = 0 self.status['installing'] = 'setup'