From bbf0820f236728c4f7c0bd8d1e019bf8139a2ded Mon Sep 17 00:00:00 2001 From: Mike Khiretskiy Date: Tue, 3 Feb 2015 15:44:30 +0300 Subject: [PATCH] =?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=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8=D0=BC?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D1=8C=20setup.py=20=D0=BE=D1=82=20=D0=BC?= =?UTF-8?q?=D0=BE=D0=B4=D1=83=D0=BB=D1=8F=20calculate-lib?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- setup.py | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 4b1663f..2c78b98 100755 --- a/setup.py +++ b/setup.py @@ -23,8 +23,49 @@ __version__ = "3.2.2" import os import stat from distutils.core import setup, Extension -from calculate.install_data import install_data +from distutils.command import install_data as module_install_data +from distutils.util import change_root, convert_path +class install_data(module_install_data.install_data): + def run (self): + self.mkpath(self.install_dir) + for f in self.data_files: + if isinstance(f, str): + # it's a simple file, so copy it + f = convert_path(f) + if self.warn_dir: + self.warn("setup script did not provide a directory for " + "'%s' -- installing right in '%s'" % + (f, self.install_dir)) + (out, _) = self.copy_file(f, self.install_dir) + self.outfiles.append(out) + else: + # it's a tuple with path to install to and a list of files + dir = convert_path(f[0]) + if not os.path.isabs(dir): + dir = os.path.join(self.install_dir, dir) + elif self.root: + dir = change_root(self.root, dir) + self.mkpath(dir) + + if f[1] == []: + # If there are no files listed, the user must be + # trying to create an empty directory, so add the + # directory to the list of output files. + self.outfiles.append(dir) + else: + # Copy files, adding them to the list of output files. + for data in f[1]: + # is's a simple filename without chmod + if isinstance(data,str): + chmod = None + else: + data, chmod = data + data = convert_path(data) + (out, _) = self.copy_file(data, dir) + if chmod and os.stat(out).st_mode != chmod: + os.chmod(out,chmod) + self.outfiles.append(out) data_files = [('/usr/share/calculate/xdm', [('data/cmd_login', 0755), 'data/functions',