EnvironmentSetup/OpenBSD

Back to EnvironmentSetup



For the record, we created page containing the build issues (click me) we met.

Goals
Port OOo4Kids on OpenBSD

Mandatory (information received from #openbsd channel) :


 * Read http://www.openbsd.org/porting.html
 * use ports from the beginning
 * provide a tarball of the sources
 * (add other important requirements)
 * Current work in progress : Makefile OpenBSD

making the port for OpenBSD


getting port
 see anoncvs for a list of CVSROOT servers. In /usr: cvs -d  co -P ports 
 * -P :Prune (remove) directories that are empty after being updated.(one that is void of revision-controlled files)
 * -d :CVS_root_directory.Overrides the setting of the CVSROOT environment variable.
 * important :The port tree is developed against -current; that means you need a -current base system and a check out of the -current port tree. we don't support a -current port tree on a release or -stable base system. (quoted from ports tutorial page 8)

preparing your source files (if needed)


check you sources
check that your program is compilable on OpenBSD (here OOo4Kids), with the last available version, and correct any possible problems.

clean your source
Clean your source file from any svn/compiled files: dmake clean find ./OOo4Kids/ -name ".svn" -exec rm -rf {} \;         //be sure to check what you will delete "rm -ri" before anything. 

compress your files
 tar -cvHzf OOo4kids-.tar.gz 

Export your tar.gz file
an ftp or alike, must be available (people might want to get the source file for compilation purpose or development)  

preparing "port"
See Port in preparation.</ul> </ul>

Building OOo4kids from source code


Prerequisites
 as "su -" (root with "-" option): pkg_add -Ui openoffice pkg_add -Ui subversion pkg_add -Ui gmake pkg_add -Ui gtar pkg_add -Ui p5-Archive-Zip pkg_add -Ui zip pkg_add -Ui unzip
 * option "-Ui" : the "-U" option Update dependencies, the "-i" is in case of ambiguities.

some of these package might be needed: pkg_add -Ui python pkg_add -Ui bison pkg_add -Ui curl pkg_add -Ui cups pkg_add -Ui ccache pkg_add -Ui gcc pkg_add -Ui g++ pkg_add -Ui gperf pkg_add -Ui gtk+2 pkg_add -Ui gstreamer pkg_add -Ui libwpd pkg_add -Ui libxslt pkg_add -Ui gconf2

I'm working on simplifying which are needed. </ul>

Getting sources
  svn co -r1100 svn://svn.adullact.net/svnroot/ooo4kids1/trunk OOo4Kids 

Révision 1100 of OOo4Kids trunk is known to build correctly on OpenBSD, including the pre-installed version

</ul>

Configure
 The current configure command line is :

FIXME : cups workaround : ln -s /usr/local/include/cups /usr/include/cups

Please, DO NOT USE --with-system-stdlibs option !!!

IMPORTANT : in --with-lang option, you can replace fr with you locale. Available locales are : ar, de, es, fi, fr, it, nb, nl, pt, sl, ru, uk, zh-CN and zh-TW (en-US is default, means always built).

./configure --with-lang="en-US ${LANGS}" \ --with-OOo4Kids \ --enable-dbus \ --enable-cups  \ --disable-gnome-vfs \ --with-OOo4Kids \ --disable-gtk \ --with-system-python \ --with-system-libxml \ --with-system-curl \ --with-system-zlib \ --with-system-expat \ --with-system-neon \ --with-system-db \ --with-system-boost \ --with-system-libwpd \ --with-system-openssl \ --with-system-redland \ --with-epm=internal \ --with-system-icu \ --with-alloc=system

</ul>

Bootstrap
./bootstrap

Set the build environment
source OpenBSDEnv.set.sh

classical machine
in OOo4kids/ - dmake

multi-cores machine
If your machine is powerfull enough, you can think to use parallel build. e.g. on i7@920 + 6GB or tri-channel RAM + SSD, a cool command could be :

cd instsetoo_native

build --all -P6 -- -P6 -- -P6 -- -P6

At the end, everything is in instsetoo_native.



</ul>