summaryrefslogtreecommitdiff
path: root/keymanager
diff options
context:
space:
mode:
authorKali Kaneko <kali@leap.se>2015-07-22 16:03:50 -0400
committerKali Kaneko <kali@leap.se>2015-07-22 16:37:25 -0400
commitd700bf5774643b132d635ce744680ac3c3d7b2b4 (patch)
treebf19ef385b4a4f8283e0e1d7f16ea20f057926ec /keymanager
parent305d1b4eb65d664eabceadf2201241526172c3cb (diff)
[pkg] do not add leap deps in develop mode
it is the responsibility of the developer to install them now - Related: #7288
Diffstat (limited to 'keymanager')
-rw-r--r--keymanager/pkg/utils.py18
-rw-r--r--keymanager/setup.py18
2 files changed, 31 insertions, 5 deletions
diff --git a/keymanager/pkg/utils.py b/keymanager/pkg/utils.py
index dd3deaca..9c9211be 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 f554e09e..adca6e1f 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',