Opened 11 years ago
Closed 11 years ago
#8861 closed defect (fixed)
sagenb-0.8.p1.spkg: broken dependencies, requires internet conn. to build
Reported by: | GeorgSWeber | Owned by: | GeorgSWeber |
---|---|---|---|
Priority: | blocker | Milestone: | sage-4.4.2 |
Component: | build | Keywords: | |
Cc: | was, timdumol | Merged in: | sage-4.4.2.alpha0 |
Authors: | Tim Dumol | Reviewers: | Minh Van Nguyen, Georg S. Weber |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
This was first noted by John Cremona. On a computer that is not connected to the internet, the build fails:
Processing sagenb-0.8-py2.6.egg removing '/home/john/sage-4.4.1.rc0/local/lib/python2.6/site-packages/sagenb-0.8-py2.6.egg' (and everything under it) creating /home/john/sage-4.4.1.rc0/local/lib/python2.6/site-packages/sagenb-0.8-py2.6.egg Extracting sagenb-0.8-py2.6.egg to /home/john/sage-4.4.1.rc0/local/lib/python2.6/site-packages sagenb 0.8 is already the active version in easy-install.pth Installing jmol script to /home/john/sage-4.4.1.rc0/local/bin Installing sage3d script to /home/john/sage-4.4.1.rc0/local/bin Installed /home/john/sage-4.4.1.rc0/local/lib/python2.6/site-packages/sagenb-0.8-py2.6.egg Processing dependencies for sagenb==0.8 Searching for mechanize<0.2dev Reading http://pypi.python.org/simple/mechanize/ Download error: [Errno -2] Name or service not known -- Some packages may not be found! Reading http://pypi.python.org/simple/mechanize/ ...
On a computer with internet connection, one finds in the install.log:
Processing dependencies for zope.testbrowser==3.8.1 Searching for mechanize<0.2dev Reading http://pypi.python.org/simple/mechanize/ Reading http://wwwsearch.sourceforge.net/mechanize/ Best match: mechanize 0.1.11 Downloading http://wwwsearch.sourceforge.net/mechanize/src/mechanize-0.1.11.tar.gz Processing mechanize-0.1.11.tar.gz Running mechanize-0.1.11/setup.py -q bdist_egg --dist-dir /tmp/easy_install-XXPn64/mechanize-0.1.11/egg-dist-tmp-fxjRAP no previously-included directories found matching 'docs-in-progress' Removing mechanize 0.2.0 from easy-install.pth file Adding mechanize 0.1.11 to easy-install.pth file ...
So the solution seems to be pretty easy:
Make a new sagenb-0.8.p2.spkg, by throwing out "mechanize-0.2.0.tar.gz" under /src/, adding back the old "mechanize-0.1.11.zip", and finally adjusting the corresponding line 6 in the spkg-install file.
Apply this spkg:
Change History (11)
comment:1 Changed 11 years ago by
- Description modified (diff)
- Summary changed from sagenb-0.8.p0.spkg: broken dependencies, requires internet conn. to build to sagenb-0.8.p1.spkg: broken dependencies, requires internet conn. to build
comment:2 follow-up: ↓ 3 Changed 11 years ago by
- Milestone changed from sage-4.4.1 to sage-4.4.2
- Status changed from new to needs_work
I just couldn't resist and did exactly that, the spkg is here:
http://sage.math.washington.edu/home/weberg/spkg/sagenb-0.8.p2.spkg
I note this still as "needs work" for three reasons: 1. My own test is not done yet --- one needs to do it on a computer *without* internet connection (I'll do overnight and report tomorrow).
2. The sagenb spkg inexplicably misses the required hg repository (to able to monitor changes in spkg-install for example).
3. In the file SPKG.txt, adding a note about testing on a computer without internet connection seems appropriate.
comment:3 in reply to: ↑ 2 Changed 11 years ago by
- Status changed from needs_work to needs_review
Thanks for the quick work!
Replying to GeorgSWeber:
I just couldn't resist and did exactly that, the spkg is here:
http://sage.math.washington.edu/home/weberg/spkg/sagenb-0.8.p2.spkg
I note this still as "needs work" for three reasons: 1. My own test is not done yet --- one needs to do it on a computer *without* internet connection (I'll do overnight and report tomorrow).
2. The sagenb spkg inexplicably misses the required hg repository (to able to monitor changes in spkg-install for example).
The sagenb spkg is automatically generated by src/sagenb/spkg-dist, therefore the hg repository is actually in src/sagenb.
3. In the file SPKG.txt, adding a note about testing on a computer without internet connection seems appropriate.
Done.
I've posted the version with the changes in the hg repo here: http://sage.math.washington.edu/home/timdumol/sagenb-0.8.p2.spkg
comment:4 Changed 11 years ago by
- Status changed from needs_review to needs_work
I goofed it. I r-eadded "mechanize.0.1.11.zip", and in the file spkg-install, changed the version number in the corresponding line. But then, the line 6 reads "easy_install mechanize-0.1.11.tar.gz". Since there is now ...tar.gz, but "only" a ...zip, the install blows up exactly as before, if there is not internet connection.
I changed the line to end with ...zip instead, and everything went fine (on a MacIntel? with OS X 10.4.11), even all doctests pass!
But since that computer has no internet connection, I wasn't able to upload that yet.
Tim, your version of the spkg also still suffers from this flaw, so I fear this ticket is back to "needs_work" again.
comment:5 Changed 11 years ago by
- Status changed from needs_work to needs_review
I checked the spkg I posted, and I don't see any problem.
timdumol@tim-pc sagenb-0.8]$ ls src/ sagenb/ zope.i18nmessageid-3.5.2.zip ClientForm-0.2.10.tar.gz zope.interface-3.6.1.tar.gz mechanize-0.1.11.tar.gz zope.schema-3.6.3.zip pytz-2010h.zip zope.testbrowser-3.8.1.tar.gz zope.event-3.5.0-1.tar.gz
comment:6 Changed 11 years ago by
And the contents of spkg-install:
cd src easy_install pytz-2010h.zip easy_install zope.i18nmessageid-3.5.2.zip easy_install zope.event-3.5.0-1.tar.gz easy_install ClientForm-0.2.10.tar.gz easy_install mechanize-0.1.11.tar.gz easy_install zope.interface-3.6.1.tar.gz easy_install zope.schema-3.6.3.zip easy_install zope.testbrowser-3.8.1.tar.gz cd sagenb python setup.py install
comment:7 Changed 11 years ago by
- Description modified (diff)
- Reviewers set to Minh Van Nguyen
A trivial point. When uncompressed, Tim's updated spkg has this name:
[mvngu@sage sagenb]$ ls sagenb-0.7.2.spkg sagenb-0.7.5.1.spkg sagenb-0.7.5.2.spkg sagenb-0.8.p2.spkg [mvngu@sage sagenb]$ tar -jxf sagenb-0.8.p2.spkg [mvngu@sage sagenb]$ ls sagenb-0.7.2.spkg sagenb-0.7.5.2.spkg sagenb-0.8.p2.spkg sagenb-0.7.5.1.spkg sagenb-0.8
Notice the directory name sagenb-0.8
. It should be sagenb-0.8.p2
. An updated package with directory name conforming to the Developer's Guide is available at
http://sage.math.washington.edu/home/mvngu/spkg/standard/sagenb/sagenb-0.8.p2.spkg
This is essentially Tim's spkg, but I changed the name as per above instructions, prior to tar gzip2 compressing the updated spkg.
comment:8 Changed 11 years ago by
Tim, Minh, you both are right, of course!
comment:9 Changed 11 years ago by
- Reviewers changed from Minh Van Nguyen to Minh Van Nguyen, Georg S. Weber
- Status changed from needs_review to positive_review
OK, using the (slightly altered) version that Minh posted from Tim's p2 spkg, I found out the following:
- this spkg solves the original problem, i.e. does not need an internet connection to build (I tested this "on top" of a full sage-4.4.1 build, forcing sagenb to be rebuilt)
- all sagenb doctests still pass
- the notebook starts up and passes some smoke tests
- the mercurial repository is clean, and the spkg is based upon the previous version 0.8.p1 (i.e. the last patch applied by Mike Hansen for some t2 issue IIRC should be still in)
- the changes made look sane (esp. about "== 0.1.11" w.r.t. the mechanize version)
- the one reviewer comment about testing has been incorporated into the SPKG.txt
I now understand the sagenb spkg better, i.e. that the file "spkg-install" is being generated, and that the dependencies under src/ are being downloaded during a standard generation of some new version of this spkg. So the discrepancy that crept in my goofed attempt just cannot occur this way. What I disliked, is that this did lead also to the following updates of certain dependencies in between sagenb-0.8.p1.spkg and sagenb-0.8.p2.spkg:
- zope.event-3.4.1.tar.gz --> zope.event-3.5.0-1.tar.gz
- zope.i18nmessageid-3.5.1.tar.gz --> zope.i18nmessageid-3.5.2.zip
- zope.interface-3.5.3.tar.gz --> zope.interface-3.6.1.tar.gz
- zope.schema-3.6.1.tar.gz --> zope.schema-3.6.3.zip
Personally, in the light of my other findings and tests above, I do not consider this as critical, assuming that sagenb does not use any "bleeding edge" functionality of the above four zope packages, that would be affected by these updates. If somebody thinks I'm wrong here, then please feel free to switch the status back to "needs_work".
comment:10 Changed 11 years ago by
Zope very rarely makes backward incompatible changes to its API (afaik), so I think it's reasonably safe to update automatically. Any problems will be spotted during testing, anyways. Otherwise, we can change the dependencies to '==' instead of '>='.
comment:11 Changed 11 years ago by
- Merged in set to sage-4.4.2.alpha0
- Resolution set to fixed
- Status changed from positive_review to closed
(corrected numbering of the package cited)