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.

Reply via email to