at 16.09-beta 1.6 kB view raw
1From ebe7b90100a3d960f53fdc9409d2d89eaa61bf11 Mon Sep 17 00:00:00 2001 2From: Thomas Perl <m@thp.io> 3Date: Tue, 28 Jun 2016 18:15:51 +0200 4Subject: [PATCH] Check current directory and use os.path.relpath (Fixes #73) 5 6--- 7 setup.py | 11 ++++++++--- 8 1 file changed, 8 insertions(+), 3 deletions(-) 9 10diff --git a/setup.py b/setup.py 11index 947a7c8..45405cd 100644 12--- a/setup.py 13+++ b/setup.py 14@@ -7,10 +7,15 @@ 15 16 import os 17 import re 18+import sys 19 20 PACKAGE_NAME = 'urlwatch' 21 DEPENDENCIES = ['minidb', 'PyYAML', 'requests'] 22-HERE = os.path.dirname(__file__) 23+HERE = os.path.abspath(os.path.dirname(__file__)) 24+ 25+if os.path.normpath(os.getcwd()) != os.path.normpath(HERE): 26+ print('You must run {} inside {} (cwd={})'.format(os.path.basename(__file__), HERE, os.getcwd())) 27+ sys.exit(1) 28 29 # Assumptions: 30 # 1. Package name equals main script file name (and only one script) 31@@ -29,9 +34,9 @@ 32 33 m['scripts'] = [os.path.join(HERE, PACKAGE_NAME)] 34 m['package_dir'] = {'': os.path.join(HERE, 'lib')} 35-m['packages'] = ['.'.join(dirname[len(HERE)+1:].split(os.sep)[1:]) 36+m['packages'] = ['.'.join(os.path.relpath(dirname, HERE).split(os.sep)[1:]) 37 for dirname, _, files in os.walk(os.path.join(HERE, 'lib')) if '__init__.py' in files] 38-m['data_files'] = [(dirname[len(HERE)+1:], [os.path.join(dirname[len(HERE)+1:], fn) for fn in files]) 39+m['data_files'] = [(os.path.relpath(dirname, HERE), [os.path.join(os.path.relpath(dirname, HERE), fn) for fn in files]) 40 for dirname, _, files in os.walk(os.path.join(HERE, 'share')) if files] 41 m['install_requires'] = DEPENDENCIES 42