OK, performed the following on a disconnected laptop running openSuSE 11.3 (sorry SLES is at work... and I am having a Guinness :) ) I highly recommend drinking a Guinness.
mkdir -p ~/dev/downloads ~/dev/bin ~/dev/lib/python2.6/site-packages ~/dev/projects/TracProjectName export PYTHONPATH=$HOME/dev/lib/python2.6/site-packages cd ~/dev/downloads curl -O http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.6.tar.gz . curl -O http://ftp.edgewall.com/pub/genshi/Genshi-0.6.tar.gz . curl -O http://ftp.edgewall.com/pub/trac/Trac-0.12.2.tar.gz . <NETWORK DISCONNECTED AT THIS POINT> for i in *.tar.gz; do tar -xf $i; done cd virtualenv-1.6 python ./setup.py install --prefix=$HOME/dev ~/dev/bin/virtualenv ~/dev . ~/dev/bin/activate cd ~/dev/downloads/Genshi-0.6 python ./setup.py install cd ~/dev/downloads/Trac-0.12.2 python ./setup.py install I wrote those commands as I performed them, no modifications what so ever. Once completed, you can copy the contents of ~/dev/lib/python2.6/site-packages/* to where ever your site-packages is located on the SLES machine. (Obviously, python versions need to match, make changes where you need them) You will also need to copy the ~/dev/bin/trac* to some system path. I used /usr/bin Also I noticed ~/dev/lib/python2.6/site-packages/setuptools.pth already mentioned a system path. I ended up just using the exact line mentioned in that file and duplicated it in my actual /usr/lib/python2.6/site-packages/setuptools.pth file. For your information: (dev)user@triton:~/>lsb_realse -a LSB Version: n/a Distributor ID: SUSE LINUX Description: openSUSE 11.3 (x86_64) Release: 11.3 Codename: n/a Anyways, once I had the virtual environment setup I performed the following: (exclude pth to not destroy any other egg you have installed) sudo rsync -av --exclude '*.pth' ~/dev/lib/python2.6/site-packages/* /usr/lib/python2.6/site-packages/ sudo chown -R root:root /usr/lib/python2.6/site-packages sudo cp ~/dev/bin/trac* /usr/bin/ Edit the following file and add the Trac/Genshi egg: sudo vi /usr/lib/python2.6/site-packages/easy-install.pth #added the following: ./Trac-0.12.2-py2.6.egg ./Genshi-0.7dev_r1150-py2.6.egg Edit the following file and made sure setuptools egg was correct: sudo vi /usr/lib/python2.6/site-packages/setuptools.pth # added the following (I actually had an older egg listed (as mentioned above), but I noticed I just in-inadvertently upgraded... so I modified it: ./setuptools-0.6c12dev_r85381-py2.6.egg Once this was all complete... I was able to create a new directory of my chooseing, and perform a: trac-admin /some/path/trac initenv tracd --port 8000 /some/path/trac-project Firefox http://localhost:8000/trac > success. (you'll obviously want something different! (apache) I just like to use tracd as proof of concept) I really hope this helps! Though, I thank you regardless, as I learned a few things along the way. Jason On Tue, Apr 19, 2011 at 5:11 PM, Jason Miller <m.jason.mil...@gmail.com>wrote: > Well, if no outbound connections are allowed, I suppose one option would be > to build Trac the way you want it on a different machine. Then rsync the > data over. > > Namely the only item that you should have to rsync is the site-packages > folder. Then 'maybe' modify the easy-install.pth file (located inside > site-packages), if something got installed in a strange 'out-of-directory' > path. > > Your right in assuming that svn-checkouts/tarball-src downloads of each > requirement, should have resulted in a successful local install with out a > network connection. > If that doesn't work, then you may have to extract the setuptools.egg, and > hand-modify egg locations (if easy-install.pth modifications isn't enough). > > I'll have to attempt one and let you know if I was successful in a local > install, then transfer to another machine. Be right back! > > Jason > > On Tue, Apr 19, 2011 at 8:09 AM, Voelker, Bernhard < > bernhard.voel...@siemens-enterprise.com> wrote: > >> Hi Jason, >> >> thanks for the hints. However, as long as the installer tries to connect >> to the internet, >> it will cowardly fail: the machine is actually a virtual machine (SLES) in >> the DMZ of a corporate >> network. It's not permitted to make any new connections into the internet, >> also a proxy >> is missing. The only connection permitted is *from* the internet to a >> small set of TCP ports >> of that host. >> >> As babel is not strictly required, and as I manually installed genshi, I >> was expecting the >> "off-line" installation to succeed. >> >> BTW: >> `python ./setup.py --help` does that same as `... install`: >> >> $ lsof -p 19738 >> COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME >> python 19738 ecs cwd DIR 253,1 4096 2146487 >> /user/ecs/berny/depot/trac-0.12.2 >> python 19738 ecs rtd DIR 8,3 4096 2 / >> python 19738 ecs txt REG 8,5 5320 208996 /usr/bin/python2.4 >> ... >> python 19738 ecs 0u CHR 136,3 5 /dev/pts/3 >> python 19738 ecs 1u CHR 136,3 5 /dev/pts/3 >> python 19738 ecs 2u CHR 136,3 5 /dev/pts/3 >> python 19738 ecs 3u IPv4 43469727 TCP >> ecs.siemens-enterprise.com:33262->pypi.python.org:http (SYN_SENT) >> ... --help doesn't print the usage. >> Also --verbose doesn't make a difference. >> >> Thanks for your help. >> >> Have a nice day, >> Berny >> >> >> >> >> ------------------------------ >> *From:* trac-users@googlegroups.com [mailto:trac-users@googlegroups.com] >> *On Behalf Of *Jason Miller >> *Sent:* Tuesday, April 19, 2011 3:16 PM >> *To:* trac-users@googlegroups.com >> *Subject:* Re: [Trac] setup behind firewall >> >> Out bound connections are made across the HTTP and HTTPS >> protocol. Not sure as to why your DMZ would be blocking that. >> In fact, a DMZ 'should' be firewall free. >> >> Not that this 'should' matter, but have you prepended the 'python' >> interpreter before your commands? : python ./setup.py install >> >> Still... what happens when you manually svn co >> http://<some svn repo> from the same machine? >> >> Does the DMZ employ a proxy maybe? >> >> What happens when you use: easy_install babel (I noticed >> you havn't installed babel yet, might as well try through easy_install) >> >> Is this an appliance specific machine with a custom linux flavor >> installed on it? (not exactly a PC, but a product designed to do >> something else like one of these ugly things: >> http://www.landesk.com/docs/manuals/590694501B_screen.pdf) >> I know I have had my fair share of getting one of those working the >> way "WE" wanted. And installing Trac on it, would definitely qualify. >> >> does: dig edgewall.org return the correct IP address of 88.198.140.129? >> >> Odd bud, and being in the DMZ makes it odder still. You should have no >> firewall/connectivity issues at all. And as for a verbose option yes: >> python ./setup.py --verbose >> FYI, you can see the whole list by doing the following in your <product> >> location: >> >> python ./setup.py --help >> >> Good luck, let us know what happens! >> >> Jason >> >> >> On Tue, Apr 19, 2011 at 3:09 AM, Voelker, Bernhard < >> bernhard.voel...@siemens-enterprise.com> wrote: >> >>> Hi *, >>> >>> I have problems installing 0.12.2 behind a firewall (in a DMZ). >>> I have installed setuptools and genshi and added them to the PYTHONPATH: >>> >>> $ >>> PYTHONPATH=$PYTHONPATH:/user/ecs/opt/setuptools-0.6c11/lib/python2.4/site-packages >>> $ >>> PYTHONPATH=$PYTHONPATH:/user/ecs/opt/genshi-0.6/lib64/python2.4/site-packages >>> >>> The setuptools fail (after the firewall timeout) here: >>> >>> $ ./setup.py install --prefix=/user/ecs/opt/trac-0.12.2 >>> Download error: (97, 'Address family not supported by protocol') -- Some >>> packages may not be found! >>> Couldn't find index page for 'Genshi' (maybe misspelled?) >>> Download error: (97, 'Address family not supported by protocol') -- Some >>> packages may not be found! >>> No local packages or download links found for Genshi>=0.6 >>> Traceback (most recent call last): >>> File "./setup.py", line 110, in ? >>> entry_points = """ >>> File "/usr/lib64/python2.4/distutils/core.py", line 110, in setup >>> _setup_distribution = dist = klass(attrs) >>> File >>> "/user/ecs/opt/setuptools-0.6c11/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/setuptools/dist.py", >>> line 260, in __init__ >>> self.fetch_build_eggs(attrs.pop('setup_requires')) >>> File >>> "/user/ecs/opt/setuptools-0.6c11/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/setuptools/dist.py", >>> line 283, in fetch_build_eggs >>> for dist in working_set.resolve( >>> File >>> "/user/ecs/opt/setuptools-0.6c11/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/pkg_resources.py", >>> line 563, in resolve >>> dist = best[req.key] = env.best_match(req, self, installer) >>> File >>> "/user/ecs/opt/setuptools-0.6c11/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/pkg_resources.py", >>> line 799, in best_match >>> return self.obtain(req, installer) # try and download/install >>> File >>> "/user/ecs/opt/setuptools-0.6c11/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/pkg_resources.py", >>> line 811, in obtain >>> return installer(requirement) >>> File >>> "/user/ecs/opt/setuptools-0.6c11/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/setuptools/dist.py", >>> line 327, in fetch_build_egg >>> return cmd.easy_install(req) >>> File >>> "/user/ecs/opt/setuptools-0.6c11/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/setuptools/command/easy_install.py", >>> line 434, in easy_install >>> self.local_index >>> File >>> "/user/ecs/opt/setuptools-0.6c11/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/setuptools/package_index.py", >>> line 475, in fetch_distribution >>> return dist.clone(location=self.download(dist.location, tmpdir)) >>> AttributeError: 'NoneType' object has no attribute 'clone' >>> >>> Before I installed Genshi, it said that it tries to download Genshi, >>> but now it sits waiting for the firewall timeout - I don't have a >>> clue what it's trying to do at this point. Is there something like >>> "--verbose"? >>> >>> Any ideas? >>> >>> Have a nice day, >>> Berny >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Trac Users" group. >>> To post to this group, send email to trac-users@googlegroups.com. >>> To unsubscribe from this group, send email to >>> trac-users+unsubscr...@googlegroups.com. >>> For more options, visit this group at >>> http://groups.google.com/group/trac-users?hl=en. >>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Trac Users" group. >> To post to this group, send email to trac-users@googlegroups.com. >> To unsubscribe from this group, send email to >> trac-users+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/trac-users?hl=en. >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Trac Users" group. >> To post to this group, send email to trac-users@googlegroups.com. >> To unsubscribe from this group, send email to >> trac-users+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/trac-users?hl=en. >> > > -- You received this message because you are subscribed to the Google Groups "Trac Users" group. To post to this group, send email to trac-users@googlegroups.com. To unsubscribe from this group, send email to trac-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/trac-users?hl=en.