diff options
author | Kali Kaneko <kali@leap.se> | 2015-07-22 16:03:50 -0400 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2015-07-22 16:37:25 -0400 |
commit | d700bf5774643b132d635ce744680ac3c3d7b2b4 (patch) | |
tree | bf19ef385b4a4f8283e0e1d7f16ea20f057926ec | |
parent | 305d1b4eb65d664eabceadf2201241526172c3cb (diff) |
[pkg] do not add leap deps in develop mode
it is the responsibility of the developer to install them now
- Related: #7288
-rw-r--r-- | keymanager/pkg/utils.py | 18 | ||||
-rw-r--r-- | keymanager/setup.py | 18 |
2 files changed, 31 insertions, 5 deletions
diff --git a/keymanager/pkg/utils.py b/keymanager/pkg/utils.py index dd3deac..9c9211b 100644 --- a/keymanager/pkg/utils.py +++ b/keymanager/pkg/utils.py @@ -14,16 +14,30 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. - """ Utils to help in the setup process """ - import os import re import sys +def is_develop_mode(): + """ + Returns True if we're calling the setup script using the argument for + setuptools development mode. + + This avoids messing up with dependency pinning and order, the + responsibility of installing the leap dependencies is left to the + developer. + """ + args = sys.argv + devflags = "setup.py", "develop" + if (args[0], args[1]) == devflags: + return True + return False + + def get_reqs_from_files(reqfiles): """ Returns the contents of the top requirement file listed as a diff --git a/keymanager/setup.py b/keymanager/setup.py index f554e09..adca6e1 100644 --- a/keymanager/setup.py +++ b/keymanager/setup.py @@ -107,9 +107,21 @@ cmdclass["freeze_debianver"] = freeze_debianver # XXX add ref to docs -requirements = ( - utils.parse_requirements() + - utils.parse_requirements(reqfiles=["pkg/requirements-leap.pip"])) +requirements = utils.parse_requirements() + +if utils.is_develop_mode(): + print + print ("[WARNING] Skipping leap-specific dependencies " + "because development mode is detected.") + print ("[WARNING] You can install " + "the latest published versions with " + "'pip install -r pkg/requirements-leap.pip'") + print ("[WARNING] Or you can instead do 'python setup.py develop' " + "from the parent folder of each one of them.") + print +else: + requirements += utils.parse_requirements( + reqfiles=["pkg/requirements-leap.pip"]) setup( name='leap.keymanager', |