summaryrefslogtreecommitdiff
path: root/client/pkg
diff options
context:
space:
mode:
authorKali Kaneko <kali@leap.se>2015-07-22 12:36:41 -0400
committerKali Kaneko <kali@leap.se>2015-07-22 16:40:24 -0400
commit82c8989ddbcc57befca806495b7040efd0cb0d4e (patch)
tree07d9d59bda1b461ee4ed2857bc4d022449770c08 /client/pkg
parent8074dcfff4bf2304d581efe8a01174a2dd1288eb (diff)
[pkg] separate leap requirements
this is part of a process to make the setup of the development mode less troublesome. from now on, setting up a virtualenv in pure development mode will be as easy as telling pip to just install the external dependencies:: pip install -r pkg/requirements.pip and traversing all the leap repos for the needed leap dependencies doing:: python setup.py develop - Related: #7288
Diffstat (limited to 'client/pkg')
-rw-r--r--client/pkg/requirements-leap.pip2
-rw-r--r--client/pkg/requirements.pip4
-rw-r--r--client/pkg/utils.py24
3 files changed, 21 insertions, 9 deletions
diff --git a/client/pkg/requirements-leap.pip b/client/pkg/requirements-leap.pip
new file mode 100644
index 00000000..c5fbcd5f
--- /dev/null
+++ b/client/pkg/requirements-leap.pip
@@ -0,0 +1,2 @@
+leap.common>=0.4.1
+leap.soledad.common>=0.6.5
diff --git a/client/pkg/requirements.pip b/client/pkg/requirements.pip
index 570cd09e..b676b67c 100644
--- a/client/pkg/requirements.pip
+++ b/client/pkg/requirements.pip
@@ -7,10 +7,6 @@ cchardet
zope.proxy
twisted
-# leap deps -- bump me!
-leap.common>=0.4.1
-leap.soledad.common>=0.6.5
-
# XXX -- fix me!
# oauth is not strictly needed by us, but we need it until u1db adds it to its
# release as a dep.
diff --git a/client/pkg/utils.py b/client/pkg/utils.py
index deace14b..e4253549 100644
--- a/client/pkg/utils.py
+++ b/client/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
@@ -58,9 +72,9 @@ def parse_requirements(reqfiles=['requirements.txt',
if re.match(r'\s*-e\s+', line):
pass
# do not try to do anything with externals on vcs
- #requirements.append(re.sub(r'\s*-e\s+.*#egg=(.*)$', r'\1',
- #line))
- # http://foo.bar/baz/foobar/zipball/master#egg=foobar
+ # requirements.append(re.sub(r'\s*-e\s+.*#egg=(.*)$', r'\1',
+ # line))
+ # http://foo.bar/baz/foobar/zipball/master#egg=foobar
elif re.match(r'\s*https?:', line):
requirements.append(re.sub(r'\s*https?:.*#egg=(.*)$', r'\1',
line))