From a02fa40ccd5c328c666928c547f977565ecd75c1 Mon Sep 17 00:00:00 2001 From: drebs Date: Wed, 27 Aug 2014 17:58:57 -0300 Subject: Do not depend on pysqlite2 (#2945). --- client/pkg/requirements.pip | 3 --- 1 file changed, 3 deletions(-) (limited to 'client/pkg') diff --git a/client/pkg/requirements.pip b/client/pkg/requirements.pip index ae8d2dac..33286e4c 100644 --- a/client/pkg/requirements.pip +++ b/client/pkg/requirements.pip @@ -20,6 +20,3 @@ leap.soledad.common>=0.3.8 # this is not strictly needed by us, but we need it # until u1db adds it to its release as a dep. oauth - -# pysqlite should not be a dep, see #2945 -pysqlite -- cgit v1.2.3 From 1d7e51aad9e3cd649d0921b533669fa24cbd7ab2 Mon Sep 17 00:00:00 2001 From: drebs Date: Tue, 7 Oct 2014 13:47:39 -0300 Subject: Bump version of dep on soledad.common. --- client/pkg/requirements.pip | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'client/pkg') diff --git a/client/pkg/requirements.pip b/client/pkg/requirements.pip index 33286e4c..c694182d 100644 --- a/client/pkg/requirements.pip +++ b/client/pkg/requirements.pip @@ -11,7 +11,7 @@ zope.proxy # leap deps # -leap.soledad.common>=0.3.8 +leap.soledad.common>=0.6.0 # # XXX things to fix yet: -- cgit v1.2.3 From 753784542944d12ed736f4c89bd24cb95cb2afbb Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Wed, 8 Oct 2014 02:00:46 +0200 Subject: remove taskthread dependency --- client/pkg/requirements.pip | 1 - 1 file changed, 1 deletion(-) (limited to 'client/pkg') diff --git a/client/pkg/requirements.pip b/client/pkg/requirements.pip index c694182d..61258f01 100644 --- a/client/pkg/requirements.pip +++ b/client/pkg/requirements.pip @@ -4,7 +4,6 @@ u1db scrypt pycryptopp cchardet -taskthread zope.proxy # -- cgit v1.2.3 From 4b78cf9da0874501fa123a02b53d7650e8dfcdf1 Mon Sep 17 00:00:00 2001 From: drebs Date: Thu, 19 Mar 2015 09:54:38 -0300 Subject: [fix] add/fix dependency on twisted Add dependency on twisted for Soledad Client. Also remove minimum twisted version for Soledad Server because debian stable currently distributes 12.0.0 and pypi currently distributes 15.0.0. Closes: #6797 --- client/pkg/requirements.pip | 1 + 1 file changed, 1 insertion(+) (limited to 'client/pkg') diff --git a/client/pkg/requirements.pip b/client/pkg/requirements.pip index 61258f01..33770adc 100644 --- a/client/pkg/requirements.pip +++ b/client/pkg/requirements.pip @@ -5,6 +5,7 @@ scrypt pycryptopp cchardet zope.proxy +twisted # # leap deps -- cgit v1.2.3 From 74dec41c1d99ae8d4a4a79a7cb0d5c3c9f40cbae Mon Sep 17 00:00:00 2001 From: drebs Date: Thu, 19 Mar 2015 10:57:54 -0300 Subject: [fix] add explicit dependency on leap.common In the past, we wanted dependency on leap.common to be optional, but now because of the explicit use of the config path prefix and signaling, we want to enforce dependency on leap.common. --- client/pkg/requirements.pip | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'client/pkg') diff --git a/client/pkg/requirements.pip b/client/pkg/requirements.pip index 33770adc..e00ab961 100644 --- a/client/pkg/requirements.pip +++ b/client/pkg/requirements.pip @@ -7,16 +7,11 @@ cchardet zope.proxy twisted -# -# leap deps -# - +# leap deps -- bump me! +leap.common leap.soledad.common>=0.6.0 -# -# XXX things to fix yet: -# - -# this is not strictly needed by us, but we need it -# until u1db adds it to its release as a dep. +# XXX -- fix me! +# oauth is not strictly needed by us, but we need it until u1db adds it to its +# release as a dep. oauth -- cgit v1.2.3 From 72af2ac4cc2252883f358af85c0921e11ccf7f80 Mon Sep 17 00:00:00 2001 From: drebs Date: Mon, 1 Jun 2015 14:46:10 -0300 Subject: [pkg] bump dependency versions --- client/pkg/requirements.pip | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'client/pkg') diff --git a/client/pkg/requirements.pip b/client/pkg/requirements.pip index e00ab961..9fffdbe3 100644 --- a/client/pkg/requirements.pip +++ b/client/pkg/requirements.pip @@ -1,4 +1,4 @@ -pysqlcipher +pysqlcipher>2.6.3 simplejson u1db scrypt @@ -8,8 +8,8 @@ zope.proxy twisted # leap deps -- bump me! -leap.common -leap.soledad.common>=0.6.0 +leap.common>=0.4 +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 -- cgit v1.2.3 From 79ea2afaf246c519245949ab4479b64d83790e60 Mon Sep 17 00:00:00 2001 From: drebs Date: Mon, 1 Jun 2015 16:13:52 -0300 Subject: [pkg] bump dependency versions --- client/pkg/requirements.pip | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'client/pkg') diff --git a/client/pkg/requirements.pip b/client/pkg/requirements.pip index e00ab961..70f5b3ba 100644 --- a/client/pkg/requirements.pip +++ b/client/pkg/requirements.pip @@ -8,8 +8,8 @@ zope.proxy twisted # leap deps -- bump me! -leap.common -leap.soledad.common>=0.6.0 +leap.common>=0.4.0 +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 -- cgit v1.2.3 From cdba9fdd232eb195b46b15a8622cde8ab2889960 Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Fri, 10 Jul 2015 15:25:12 -0300 Subject: [pkg] bump dependencies bump leap.common min required version, new change needed 'collect_plugins'. --- client/pkg/requirements.pip | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'client/pkg') diff --git a/client/pkg/requirements.pip b/client/pkg/requirements.pip index 26f7c979..570cd09e 100644 --- a/client/pkg/requirements.pip +++ b/client/pkg/requirements.pip @@ -8,7 +8,7 @@ zope.proxy twisted # leap deps -- bump me! -leap.common>=0.4.0 +leap.common>=0.4.1 leap.soledad.common>=0.6.5 # XXX -- fix me! -- cgit v1.2.3 From 82c8989ddbcc57befca806495b7040efd0cb0d4e Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Wed, 22 Jul 2015 12:36:41 -0400 Subject: [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 --- client/pkg/requirements-leap.pip | 2 ++ client/pkg/requirements.pip | 4 ---- client/pkg/utils.py | 24 +++++++++++++++++++----- 3 files changed, 21 insertions(+), 9 deletions(-) create mode 100644 client/pkg/requirements-leap.pip (limited to 'client/pkg') 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 . - """ 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)) -- cgit v1.2.3 From fa42397e13c5d7a70ceb961153d39e10a0d4c8f9 Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Mon, 27 Jul 2015 22:17:47 -0400 Subject: [pkg] add script to install base requirements - update pip - install base reqs, with insecure flags for dirspec and u1db --- client/pkg/pip_install_requirements.sh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100755 client/pkg/pip_install_requirements.sh (limited to 'client/pkg') diff --git a/client/pkg/pip_install_requirements.sh b/client/pkg/pip_install_requirements.sh new file mode 100755 index 00000000..71adebc7 --- /dev/null +++ b/client/pkg/pip_install_requirements.sh @@ -0,0 +1,6 @@ +#!/bin/sh +# Update pip and install LEAP base requirements. +# For convenience, u1db and dirspec are allowed with insecure flags enabled. +# Use at your own risk. +pip install -U pip +pip install --allow-external u1db --allow-unverified u1db --allow-external dirspec --allow-unverified dirspec -r pkg/requirements.pip -- cgit v1.2.3 From 8682cf28de1e8e685729dbdc941c7d1cda783e9d Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Tue, 28 Jul 2015 09:59:41 -0400 Subject: [tests] add pep8 to requirements-testing --- client/pkg/requirements-testing.pip | 1 + 1 file changed, 1 insertion(+) create mode 100644 client/pkg/requirements-testing.pip (limited to 'client/pkg') diff --git a/client/pkg/requirements-testing.pip b/client/pkg/requirements-testing.pip new file mode 100644 index 00000000..94ab6e8e --- /dev/null +++ b/client/pkg/requirements-testing.pip @@ -0,0 +1 @@ +pep8 -- cgit v1.2.3 From 52c2f7258416fcd54e9aeb50656830b55d653630 Mon Sep 17 00:00:00 2001 From: Bruno Wagner Date: Wed, 29 Jul 2015 14:11:48 -0300 Subject: [feat] Added requirements-latest pip file With this, you can setup soledad for using locally and running the tests with the latest head in a simpler way --- client/pkg/requirements-latest.pip | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 client/pkg/requirements-latest.pip (limited to 'client/pkg') diff --git a/client/pkg/requirements-latest.pip b/client/pkg/requirements-latest.pip new file mode 100644 index 00000000..0edfbca0 --- /dev/null +++ b/client/pkg/requirements-latest.pip @@ -0,0 +1,8 @@ +--index-url https://pypi.python.org/simple/ + +--allow-external u1db --allow-unverified u1db +--allow-external dirspec --allow-unverified dirspec + +-e 'git+https://github.com/pixelated-project/leap_pycommon.git#egg=leap.common' +-e '../common' +-e . -- cgit v1.2.3 From c8fcfb452392af6b54e36a4bd0788f7b412fdc5c Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Wed, 29 Jul 2015 16:21:33 -0300 Subject: [bug] specify develop branch when using -e requirements-latest.pip will try to clone and install. Since it is meant to be latest, I added a small change to specify the branch 'develop'. --- client/pkg/requirements-latest.pip | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'client/pkg') diff --git a/client/pkg/requirements-latest.pip b/client/pkg/requirements-latest.pip index 0edfbca0..a629aa57 100644 --- a/client/pkg/requirements-latest.pip +++ b/client/pkg/requirements-latest.pip @@ -3,6 +3,6 @@ --allow-external u1db --allow-unverified u1db --allow-external dirspec --allow-unverified dirspec --e 'git+https://github.com/pixelated-project/leap_pycommon.git#egg=leap.common' +-e 'git+https://github.com/pixelated-project/leap_pycommon.git@develop#egg=leap.common' -e '../common' -e . -- cgit v1.2.3 From 0d8455007283fba00fa1747a30974de12fbe251c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Fri, 31 Jul 2015 08:57:57 +0200 Subject: [feat] use wheels to install dependencies generate_wheels uses $WHEELHOUSE to generate and store the wheels for requirements.pip and requirements-testing.pip (if it exists). pip_install_requirements.sh installs requirements.pip from them if possible (if not, then it fetches them from pypi) or, if passed the --testing flag, it installs requirements-testing.pip. Related: #7327 --- client/pkg/generate_wheels.sh | 13 +++++++ client/pkg/pip_install_requirements.sh | 71 ++++++++++++++++++++++++++++++++-- 2 files changed, 80 insertions(+), 4 deletions(-) create mode 100755 client/pkg/generate_wheels.sh (limited to 'client/pkg') diff --git a/client/pkg/generate_wheels.sh b/client/pkg/generate_wheels.sh new file mode 100755 index 00000000..e29c327e --- /dev/null +++ b/client/pkg/generate_wheels.sh @@ -0,0 +1,13 @@ +#!/bin/sh +# Generate wheels for dependencies +# Use at your own risk. + +if [ "$WHEELHOUSE" = "" ]; then + WHEELHOUSE=$HOME/wheelhouse +fi + +pip wheel --wheel-dir $WHEELHOUSE pip +pip wheel --wheel-dir $WHEELHOUSE --allow-external u1db --allow-unverified u1db --allow-external dirspec --allow-unverified dirspec -r pkg/requirements.pip +if [ -f pkg/requirements-testing.pip ]; then + pip wheel --wheel-dir $WHEELHOUSE -r pkg/requirements-testing.pip +fi diff --git a/client/pkg/pip_install_requirements.sh b/client/pkg/pip_install_requirements.sh index 71adebc7..c9dc3198 100755 --- a/client/pkg/pip_install_requirements.sh +++ b/client/pkg/pip_install_requirements.sh @@ -1,6 +1,69 @@ #!/bin/sh -# Update pip and install LEAP base requirements. -# For convenience, u1db and dirspec are allowed with insecure flags enabled. +# Update pip and install LEAP base/testing requirements. +# For convenience, $insecure_packages are allowed with insecure flags enabled. # Use at your own risk. -pip install -U pip -pip install --allow-external u1db --allow-unverified u1db --allow-external dirspec --allow-unverified dirspec -r pkg/requirements.pip +# See $usage for help + +insecure_packages="u1db dirspec" + +return_wheelhouse() { + if [ "$WHEELHOUSE" = "" ]; then + WHEELHOUSE=$HOME/wheelhouse + fi + + if [ ! -d "$WHEELHOUSE" ]; then + mkdir $WHEELHOUSE + fi + + echo "$WHEELHOUSE" +} + +show_help() { + usage="Usage: $0 [--testing]\n --testing\tInstall dependencies from requirements-testing.pip\n +\t\tOtherwise, it will install requirements.pip" + echo $usage + + exit 1 +} + +process_arguments() { + testing=false + while [ "$#" -gt 0 ]; do + # From http://stackoverflow.com/a/31443098 + case "$1" in + --help) show_help;; + --testing) testing=true; shift 1;; + + -h) show_help;; + -*) echo "unknown option: $1" >&2; exit 1;; + esac + done +} + +return_insecure_flags() { + for insecure_package in $insecure_packages; do + flags="$flags --allow-external $insecure_package --allow-unverified $insecure_package" + done + + echo $flags +} + +return_packages() { + if $testing ; then + packages="-r pkg/requirements-testing.pip" + else + packages="-r pkg/requirements.pip" + fi + + echo $packages +} + +process_arguments $@ +wheelhouse=`return_wheelhouse` +install_options="-U --find-links=$wheelhouse" +insecure_flags=`return_insecure_flags` +packages=`return_packages` + +pip install -U wheel +pip install $install_options pip +pip install $install_options $insecure_flags $packages -- cgit v1.2.3 From cb92f58a141f410739ae6460b7eb8aaf2daa3c65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Thu, 6 Aug 2015 08:45:42 +0200 Subject: [feat] WHEELHOUSE can be a url + --use-leap-wheels --use-leap-wheels sets --trusted-host (remove it when we have a proper cert) and WHEELHOUSE to https://ftp.lizard.leap.se Until we get ftp.lizard cname, use lizard as the wheels server. - Related: #7339 --- client/pkg/pip_install_requirements.sh | 51 ++++++++++++++++++++++------------ 1 file changed, 33 insertions(+), 18 deletions(-) (limited to 'client/pkg') diff --git a/client/pkg/pip_install_requirements.sh b/client/pkg/pip_install_requirements.sh index c9dc3198..d0479365 100755 --- a/client/pkg/pip_install_requirements.sh +++ b/client/pkg/pip_install_requirements.sh @@ -1,27 +1,17 @@ -#!/bin/sh +#!/bin/bash # Update pip and install LEAP base/testing requirements. # For convenience, $insecure_packages are allowed with insecure flags enabled. # Use at your own risk. # See $usage for help insecure_packages="u1db dirspec" - -return_wheelhouse() { - if [ "$WHEELHOUSE" = "" ]; then - WHEELHOUSE=$HOME/wheelhouse - fi - - if [ ! -d "$WHEELHOUSE" ]; then - mkdir $WHEELHOUSE - fi - - echo "$WHEELHOUSE" -} +leap_wheelhouse=https://lizard.leap.se/wheels show_help() { - usage="Usage: $0 [--testing]\n --testing\tInstall dependencies from requirements-testing.pip\n -\t\tOtherwise, it will install requirements.pip" - echo $usage + usage="Usage: $0 [--testing] [--use-leap-wheels]\n --testing\t\tInstall dependencies from requirements-testing.pip\n +\t\t\tOtherwise, it will install requirements.pip\n +--use-leap-wheels\tUse wheels from leap.se" + echo -e $usage exit 1 } @@ -33,6 +23,7 @@ process_arguments() { case "$1" in --help) show_help;; --testing) testing=true; shift 1;; + --use-leap-wheels) use_leap_wheels=true; shift 1;; -h) show_help;; -*) echo "unknown option: $1" >&2; exit 1;; @@ -40,6 +31,31 @@ process_arguments() { done } +return_wheelhouse() { + if $use_leap_wheels ; then + WHEELHOUSE=$leap_wheelhouse + elif [ "$WHEELHOUSE" = "" ]; then + WHEELHOUSE=$HOME/wheelhouse + fi + + # Tested with bash and zsh + if [[ $WHEELHOUSE != http* && ! -d "$WHEELHOUSE" ]]; then + mkdir $WHEELHOUSE + fi + + echo "$WHEELHOUSE" +} + +return_install_options() { + wheelhouse=`return_wheelhouse` + install_options="-U --find-links=$wheelhouse" + if $use_leap_wheels ; then + install_options="$install_options --trusted-host lizard.leap.se" + fi + + echo $install_options +} + return_insecure_flags() { for insecure_package in $insecure_packages; do flags="$flags --allow-external $insecure_package --allow-unverified $insecure_package" @@ -59,8 +75,7 @@ return_packages() { } process_arguments $@ -wheelhouse=`return_wheelhouse` -install_options="-U --find-links=$wheelhouse" +install_options=`return_install_options` insecure_flags=`return_insecure_flags` packages=`return_packages` -- cgit v1.2.3 From 6f3bbe60c5c8875698cc5424baf7aa26ae786770 Mon Sep 17 00:00:00 2001 From: drebs Date: Mon, 24 Aug 2015 14:38:14 -0300 Subject: [refactor] remove simplejson dep on client --- client/pkg/requirements.pip | 1 - 1 file changed, 1 deletion(-) (limited to 'client/pkg') diff --git a/client/pkg/requirements.pip b/client/pkg/requirements.pip index b676b67c..f29d5c74 100644 --- a/client/pkg/requirements.pip +++ b/client/pkg/requirements.pip @@ -1,5 +1,4 @@ pysqlcipher>2.6.3 -simplejson u1db scrypt pycryptopp -- cgit v1.2.3