VestaBuild

The Vesta developers page.

Where to download the installer binaries.

Currently latest binaries are not public available. Inside Sun infrastructure they could be find here.

How to remove existing Sun Studio packages

If you already have Sun Studio 12 installed on your PC it could cause problems, because it is not allowed to have two Solaris packages with one name and version simultaneously. You could use next script to remove ALL existing Sun Studio packages on your PC·

For Solaris:

pkginfo -x  | grep SPRO | sed s/' '.*// | while read f; do yes | pkgrm $f; done

For Linux:

rpm -qa | grep ^sun | xargs rpm -e --nodeps

How to build the project from sources

The Vesta project is named as 'ssinstaller' in the NetBeans Mercurial repository at http://hg.netbeans.org/main/contrib. It uses NBI engine as the base. To download and build the Sun Studio installer you should go throw next steps (assume that initially you are in the empty INIT_PATH directory.):

0. Check the software which is needed to build installer.

  • JDK version 1.5 or later
  • Ant version 1.6.5 or later
  • Mercurial 0.9.4? (only to download sources)
  • Access to the NetBeans and other bits during build process.
  • Solaris 10(9 not tested) or Linux (not tested)

1. Get the sources of Vesta & NBI engine.

> hg clone http://hg.netbeans.org/main
> cd main
> hg clone http://hg.netbeans.org/main/contrib

2. Update properties (if needed). All local properties are collected in build-private.sh, you could update it or you could copy build-private.sh in INIT_PATH directory and set all changed properties there. In the case if you update build-private.sh in the reposiotory, please check that it is not in the commit. Here is description of most significant of them:

# The network properties. Please set correct proxy server and vrsion of NB bits to install. 
BUILD_NUMBER=200802181203
ANT_OPTS="-Xmx1024m -Dhttp.proxyHost=webcache.norway.sun.com -Dhttp.proxyPort=8080 "
NB_BUILDS_HOST=http://bits.nbextras.org/download/trunk/nightly/2008-02-18_13-01-22/zip/moduleclusters

# The local properties. Set where to create result bundles
NB_HOME=`cd ../../../..; pwd`
OUTPUT_DIR="$NB_HOME/dist_new"
CACHE_DIR=$NB_HOME/ssinstaller/infra/build/cache

# The java which is used.
JDK_HOME=/usr/java

3. Go to the main/contrib/ssinstaller/infra subdirectory and run build.sh script.

4. Find appropriate script (linux, solaris-sparc, solaris-x86) in the result directory (OUTPUT_DIR). To correctly install any native package you should have 'root' privileges.

How to change packages to install.

Not ready

How to create RPM and SVR packages by yourself.

Creating RPM packages

For example, we want to distribute our Java application as RPM. Let the application sources be a Netbeans project. Here are some steps that should be completed to do that.

1. First of all RPM building environment should be correctly setup. To create user-specific building environment we should create some directories and redefine one macro (note that /home/user is a path to your home directory).

$ mkdir -p ~/ws/rpmbuild/{RPMS,SRPMS,SPECS,SOURCES,BUILD}
$ echo '%_topdir /home/user/ws/rpmbuild' > ~/.rpmmacros
  Also RPM building tools should be installed. For example, in openSUSE 10.3 package named build.rpm need to be installed.

2. Second thing to do is to create spec-file for our RPM. Spec-file describes contents of RPM, its metadata, additional installation and uninstillation scripts. It's like a program according to which RPM should be build. Here is spec-file for creating RMP from Netbeans project.

Name: SampleJavaDesktopApplication
Version: 1.0
Release: 0
Summary: Basic Java Desktop Application Example
Group: Java/Application
License: GPL
BuildArch: i386
BuildRoot: /var/tmp/%{name}-buildroot
PreReq: jre >= 1.5.0

%description
A simple java desktop application based on Swing Application Framework

%prep
%define project_root /home/user/ws/projects/SampleDesktopApplication
%define install_dir /usr/local/test/sample
rm -r %{project_root}/dist

%build
ant -f %{project_root}/build.xml jar
cd %{project_root}/dist
find . -type f > /var/tmp/%{name}-files-list
sed "s#^.#%{install_dir}#" /var/tmp/%{name}-files-list > tmp
mv -f tmp /var/tmp/%{name}-files-list

%install
mkdir -p $RPM_BUILD_ROOT%{install_dir}
cp -R %{project_root}/dist/* $RPM_BUILD_ROOT%{install_dir}
  
%files -f /var/tmp/%{name}-files-list
%defattr(-,root,root)

%clean
rm -rf $RPM_BUILD_ROOT
rm /var/tmp/%{name}-files-list

%post
cat > ~/Desktop/sample.desktop <<DESKTOPENTRY
[DesktopEntry]
Encoding=UTF-8
Name=Java Desktop Application
Exec=java -jar "%{install_dir}/SampleDesktopApplication.jar"
Icon=%{install_dir}/resources/icon.png
Categories=Java;
Version=1.0
StartupNotify=true
Type=Application
Terminal=0
DESKTOPENTRY 

%postun
rm ~/Desktop/sample.desktop

%changelog
* Wed Mar 12 2008 Igor Nikiforov
  - Sample Netbeans project to RPM build spec-file

The first block of spec-file contains package metadata, such as package name, description and so on. Note that PreReq field “tells” package manager that Java Runtime Environment (version 1.5.0 or above) have to be installed before our package. Section %description contains some textual information about package contents. In %prep section we define two variables: the location of Netbeans project, which contains sources (project_root) and directory where project bits should be installed to during package installation (install_dir). During %build section execution project sources are compiled and list of files to be installed generated (relative to package installation directory). This files list needs to be passed to %files section. In %install section building root directory is prepared for package building, and after building %clear section is executed. Script in %post section is executed after package is installed. In our case it's creat desktop shortcut to our program. This shortcut will be removed during package uninstillation, as we can see from %postun section. At last %changelog section describes packages versions and changes.

3. After our spec-file is prepared we can build package by executing following command

$rpmbuild -ba our-spec-file.spec

Newly created package will appear in ~/ws/rpmbuild/RPMS/your_arch directory.

After the package is created you can install it executing

$rmp -i YourPackage.rpm

and uninstall executing

$rmp -e YourPackageName


Follow links to get some additional information

Creating SVR (Solaris) packages

The solaris package consist of 2 components:

1. Populated data

2. Files with description of this data.


There are 2 general files with descriptions: pkginfo which contain a set of properties and prototype which contains a list of files in the package with attributes.

The pkginfo could be easily created by any text editor. The special command pkgproto exists and could be used ot create prototype file. After this all files could be packed in package with command pkgmk.

The example (have 3 params: name, source directory, destination file):

if [$#Ne3 ] 
then
    echo "Use `basename $0` name src dst."
    exit -1;
fi

echo "PKG=$1
NAME=The package.
ARCH=i386
VERSION=1.0
CATEGORY=system
BASEDIR=/tmp" > pkginfo

echo "i pkginfo" > prototype
pkgproto $2 >> prototype

pkgmk -r / -o -d $3
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo