On Jan 14, 2009, at 11:35 AM, Stephen Hahn wrote:

>> Question:
>> - What would be the best/fastest method to get package updates and
>> other packages from the release repository to this server with  
>> limited
>> network access assuming that another server (not necessarily
>> opensolaris) could be swung or proxied to connect to the release
>> repository?

<snip>

>  If an HTTP proxy is not available, you need to wait for the next
>  media product, which is a single-build snapshot of a repository as a
>  collection of DVD images.  We haven't started building these
>  automatically yet, but it's on the list of things to do.  You can  
> then
>  run a depot inside the organization's private network, after copying
>  the DVDs' contents to a filesystem.

it looks like you've got the tools out there to accomplish this, and  
while it's a little behaviorally challenged - this seems to almost  
work .. (thanks for the reply - i meant to follow up on this but  
thought it might be rude to reply to my own question with my own  
answer .. :P)

1) download the pkg toolkit from 
http://wikis.sun.com/display/IpsBestPractices/Downloads 
  .. (in the following examples - i'm running on mac os x)

2) unpack the zip files, make some links, add stuff to your path .. eg:
# unzip pkg-toolkit-2.0.0-darwin-universal.zip
# mkdir repo ; cd repo ; unzip ../repo-2.0.0.-darwin-universal.zip
# cd ../pkg-toolkit-2.0.0-darwin-universal/bin
# ln -s ../pkg/bin/pkgrecv .
# ln -s ../pkg/bin/pkgsend .
# ln -s ../pkg/bin/pkg.depotd .
# export PATH=$PATH:`pwd`
# cd ../..

3) grab the latest release catalog from pkg.opensolaris.org
# pkgrecv -s http://pkg.opensolaris.org -n | sort > catalog

4) find the package you want and pull it down .. eg:
# pkgrecv -s http://pkg.opensolaris.org pkg:/ 
SUNWemlxs at 0.5.11,5.11-0.101:20081119T220043Z

5) start a local repository .. (note this only seems to start when  
*no* network is connected .. works fine after it's started though)
# pkg.depotd -p 31337

6) send package to the repository (this gets a little ugly)
# pkgsend -s http://localhost:31337 open pkg:/ 
SUNWemlxs at 0.5.11,5.11-0.101:20081119T220043Z
# export PKG_TRANS_ID=1231971680_pkg%3A%2FSUNWemlxs 
%400.5.11%2C5.11-0.101%3A20090114T222120Z
# pkgsend -s http://localhost:31337 include -d SUNWemlxs SUNWemlxs/ 
manifest
# pkgsend -s http://localhost:31337 close

Now i've got what appears to be a working depot that i can then cross- 
over connect to the standalone OpenSolaris server .. I can set the  
authority and connect to the CherryPy server implementation and see  
this package in the local catalog .. yea!

** However ** when I go to install packages off the server it seems  
that the chash functions aren't getting computed properly as i get a  
failure somewhere in the action manifest (*sigh*) .. I suspect there's  
an issue with the SHA1 python library somewhere (openssl sha1 on the  
files give me the correct values though) and that this would work  
correctly if I ran off an opensolaris image .. but that kind of  
defeats the purpose of attempting to make a swing-able cross platform  
installer on a common laptop platform .. now - i do notice that if I  
import SVR4 packages off a CD (provided they're not 7za compressed)  
into the depot that this seems to be installable without an issue - so  
i suspect there's an issue with creating the manifest with pkgrecv  
that might be causing an issue ..

---
.je

oh - and yes - i know i can run OpenSolaris in a VM, or do the AI  
thing in a VM and go that route - just looking for some improvements  
to the cross-platform toolkits is all ..


Reply via email to