Child pages
  • Building VPanels
Skip to end of metadata
Go to start of metadata

These instructions currently assume you have a reasonable IPS build environment set up including sunstudio, java and ant and access to, and compiled, onnv sources if you're building a set of consolidations higher than version 136.

pfexec pkg install      \
data/docbook            \
developer/build/ant     \
developer/build/onbld   \
developer/debug/mdb     \
developer/object-file   \
library/java/java-gnome \
library/java/javahelp   \
system/zones/internal   \
text/gnu-grep
if [ ! -d /opt/onbld ]; then
    pfexec pkg install developer/build/onbld
fi

if [ $MACH = "i386" ]; then
    pfexec pkg install system/library/libvirt
fi

# Not needed when building on OI
if [ $BUILD > 136 ]; then
    cp /path/to/onnv/proto/root_$MACH/usr/include/ifaddrs.h \
        /usr/include/ifaddrs.h
fi

#hg clone ssh://anon@hg.opensolaris.org/hg/vpanels/source vpanels
hg clone http://hg.openindiana.org/vpanels vpanels
cd vpanels

# For OI hg update osol_148 etc
if [ $BUILD < 137 ]; then
    hg update osol_134
fi

PATH=/opt/SUNWspro/bin:/opt/onbld/bin:/usr/bin:/usr/sbin:/sbin:/usr/gnu/bin; export PATH
CODEMGR_WS=`pwd`;       export CODEMGR_WS
SRC=`pwd`/usr/src;      export SRC
ROOT=`pwd`/proto;       export ROOT
cd $SRC
make install

# For IPS
REPO=http://my.package.repo:12345/  # Unless you have a default on port 80
make publish
unset CODEMGR_WS SRC ROOT

You may only need to install a few of the IPS packages listed above.  For example, if you've built other consolidations in this same BE, you may only need to install: library/java/java-gnome library/java/javahelp .

To clone the source now, you need:

Clone the source
$ hg clone http://hg.openindiana.org/upstream/oracle/vpanels vpanels

Note that if you are using the original ld, you will need to correct three mapfiles: lib/libadr/common/mapfile-vers lib/libradproto/common/mapfile-vers cmd/rad/daemon/mapfile-vers .  Just remove the STUB_OBJECT and ASSERT keywords, along with their associated punctuation.

For the build in cmd/rad/daemon, you may need to modify cmd/rad/daemon/Makefile to compile the source files with -D_LARGEFILE64_SOURCE .  You will also need to modify rad_module.c to add these missing headers:

Missing headers
       #include    <fcntl.h>
       #include    <sys/types.h>
       #include    <sys/stat.h>

For the build in cmd/rad/mod/xport_unix, you will need to modify cmd/rad/daemon/rad_modapi.h to add this missing definition:

Missing definition
#define    RAD_TMPDIR    "/var/run/rad"

For the build in cmd/rad/mod/smf, you will need to add the static function scf_instance_is_complete() .  If you encounter an undefined symbol error for SCF_PROPERTY_COMPLETE, replace it with SCF_PROPERTY_ENABLED in the file cmd/rad/mod/smf/mod_smf.c .  You will likely have many undefined functions in cmd/rad/mod/smf/common.c .  Add dummy static functions to replace them.

For the build in cmd/rad/mod/time, you may encounter another undefined symbol SCF_INSTANCE_ENV in cmd/rad/mod/time/mod_time.c .  Just modify the functions that use this symbol to return this error code instead:

Error code
conerr_t err = ce_system;

For the build in cmd/rad/mod/usermgr, you will find a missing header nssec.h as well as many undefined symbols.  Just remove usermgr from the module list by editing cmd/rad/mod/Makefile .

To complete the build in doc/manpage, you will need to obtain docbook-xsl-1.75.2.tar.gz from sourceforge, and unpack it in /usr/share/sgml/docbook .  Then, modify /etc/xml/catalog to redirect docbook URLs to the newly-created directory.

To complete the build in pkg, you will need to copy libadr.so.1 from proto/usr/lib and install it manually like this:

Manual install
    /usr/lib/libadr.so -> libadr.so.1
    /usr/lib/libadr.so.1
  • No labels