-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix/install requirements #1
Conversation
* Add set of commands for getting oonib up and running, with a safe version of pip, in a virtualenv.
* Change commands to explicitly require Python2.7, because we can guarantee that version works.
storm>=0.19 | ||
transaction>=1.3.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
transaction, txtorcon, and probably the zope.* packages are required by oonib
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I added transaction back in. It doesn't seem to be imported or used anywhere though -- is there something strange going on with that package?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And you're correct, we need zope.component: https://travis-ci.org/isislovecruft/ooni-backend/jobs/6485396
I've added the three zope modules back into requirements.txt.
* travis-lint reports: (oonib)∃!isisⒶwintermute:~/code/torproject/ooni-backend ∴ travis-lint Hooray, /home/isis/code/torproject/ooni-backend/.travis.yml seems to be solid! (oonib)∃!isisⒶwintermute:~/code/torproject/ooni-backend ∴ date Fri Apr 19 23:06:31 UTC 2013
* Change pip's package index command to be in the requirements.txt file.
We're not going to be able to support Python3.x for this without a bit of work, I think: https://travis-ci.org/isislovecruft/ooni-backend/jobs/6485395 ( cyclone dependency has old |
Where is |
And we need openssl: https://travis-ci.org/isislovecruft/ooni-backend/jobs/6485817 |
* (oonib)∃!isisⒶwintermute:~/code/torproject/ooni-backend ∴ date Sun Apr 21 03:18:17 UTC 2013 (oonib)∃!isisⒶwintermute:~/code/torproject/ooni-backend ∴ travis-lint Hooray, /home/isis/code/torproject/ooni-backend/.travis.yml seems to be solid!
…nts.travis". * (oonib)∃!isisⒶwintermute:~/code/torproject/ooni-backend ∴ date Sun Apr 21 03:29:49 UTC 2013 (oonib)∃!isisⒶwintermute:~/code/torproject/ooni-backend ∴ travis-lint Hooray, /home/isis/code/torproject/ooni-backend/.travis.yml seems to be solid!
* Fixed bugs due to several log functions attempting to use "config.advanced.debug" and "config.basic.logfile". These are both located under the config.main section. * Add LICENSE header and encoding specification to log.py. (Yes, we need these.) * Add log.warn() function back in.
* txtorcon will handle finding the tor binary for us.
* ∃!isisⒶwintermute:~/code/torproject/ooni-backend ∴ date Sun Apr 21 07:25:24 UTC 2013 ∃!isisⒶwintermute:~/code/torproject/ooni-backend ∴ travis-lint Hooray, /home/isis/code/torproject/ooni-backend/.travis.yml seems to be solid!
* travis-lint checks out okay: (oonib)∃!isisⒶwintermute:~/code/torproject/ooni-backend ∴ date Sun Apr 21 07:55:19 UTC 2013 (oonib)∃!isisⒶwintermute:~/code/torproject/ooni-backend ∴ travis-lint Hooray, /home/isis/code/torproject/ooni-backend/.travis.yml seems to be solid!
Awww yeah. Best commit message evar. :D chhhhshssshsh |
bump. this is ready for merge. could someone please pretty please with cherries on top review it? |
@@ -0,0 +1,25 @@ | |||
## we do not want to override the PI URI for TravisCI: | |||
#-i https://pypi.python.org/packages |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These lines which are commented out are because I discovered that pip-1.3.0 does not actually use SSL all of the time like it claims it does. What it does do is go to https://pypi.python.org/simple/ and select the package name, and then crawl all the links from the package's page, HTTPS or otherwise. So, for PyYAML, it would do go to https://pypi.python.org/simple/PyYAML/ where it sees:
PyYAML-3.10.win32-py3.0.exePyYAML-3.10.tar.gz
PyYAML-3.10.zip
3.08 home_page
3.08 download_url
3.09 home_page
3.09 download_url
3.05 home_page
3.05 download_url
3.06 home_page
3.06 download_url
3.04 home_page
3.04 download_url
3.03 home_page
3.03 download_url
3.01 home_page
Instead, if we force pip to use https://pypi.python.org/packages/source/ as its package index, it will use SSL, all the time. However, we cannot simply use pip's options pip --no-index --index-url https://pypi.python.org/packages/source
to do this, because then it tries to get everything from there, making it break on Windows and making it break when the packages source is elsewhere (like on the homepage of whatever project). Not to mention that specifying urls like this is subject to change without notice, and so we would have to deal with this shit breaking nonstop.
Therefore, these links are commented out. They might be useful, and they took me a while to find and confirm that they work, so I left them in. But we should just use pip-1.3.0 the normal way, and wait patiently while they slowly upgrade all their links to use SSL, which it appears they are doing.
Thanks for this. Merged! |
peer locator: save reported peers to file
These commits fix a broken requirements.txt file (it produced the following reproduceable error):
The above error was due to
requirements.txt
containing the lines:The
#egg=
at the end should be#egg=scapy
instead.I have also updated
README.md
with a set of commands for getting ooni-backend installed on a system, including updating pip to a version (>=1.3.0) which includes the recent patches to force HTTPS for packages downloads and refuse installation if there is a hashsum mismatch. The commands also include installation and setup of virtualenv and virtualenvwrapper, creation of a virtualenv for ooni-backend, and lastly, the installation of ooni-backend without sudo inside the virtualenv.