Non-root install of blastwave(opencsw) packages

I wanted to run Wireshark on Solaris10 where I don't have root privelege. Wireshark itself is on blastwave already.

Blastwave.org - An OpenSolaris Community Site
description Wireshark (was Ethereal) is a free network protocol analyzer
vendor url http://www.wireshark.org/

Good! But it has 35 dependencies. How can I extract those dynamic link libraries(\*.so files) under my home directory efficiently?

Here, a sh script which I wrote a year ago helps. It doesn't even use pkg-get or pkgutil. But..., my script is for downloading packages only. "\*.so.\*" files in the packages needs to be extracted somewhere.

I googled and I found a python code fragment to extract files from package and create bunch of symbolic links. So..., I thought if my sh script and this python code are combined, The whole process of downloading dependent packages and extracting to one's virtual root(~/csw) can be fully automated.

utils.py - release/pyutils - Code Search
for line in pkgmap:
 # Matching example:
 #1 s none lib/libglib-2.0.so=libglib-2.0.so.0.200.3
 try:
 (link, target) = re.compile('. . .\*? (.\*)=(.\*)').search(line).groups()
 link = link.replace("/opt/csw/", "") # This is for blastwave packages, since they don't use relative paths
  os.symlink(target, link)

This time, I didn't use this python. Instead I used bash one-liners which roughly looks like this:
for i in \*.pkg.gz
do
  gzcat $i | pkgtrans /dev/stdin . all
done
mkdir lib
mv CSW\*/root/opt/csw/X11/lib/lib\* CSW\*/root/opt/csw/lib/lib\* lib
cd lib
for i in \*
do
  ln -s $i $(echo $i | gnused 's/\\.[0-9]\\+\\.[0-9]\\+$//')
done

BTW, this search result got me interested. Why the heck does Mono have to deal with Solaris package? I thought Mono is .net framework for Linux. So, I checked project's home page and learned I was wrong!

Mono:Solaris - Mono
Mono supports Solaris on SPARC, x86 and x86-64 architectures.

Packages for Mono on Solaris/SPARC are available from our Download page.

Mono is also available as part of Nexenta (http://www.nexenta.com), the Debian-based OpenSolaris (http://www.opensolaris.org) distribution.

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

Search

Archives
« July 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
       
Today