Autopackage build HOWTO
-----------------------

Autopackage build instructions.

Autopackage is a distribution independent packaging system for x86 linux. Information and downloads are available at [1]. The AbiWord source tree as of version 2.3 is prepared for building autopackage. Unless things are broken this should work well.

(1) Download and install the autopackage developer tools. I'd recommend to get the stable CVS branch because this makes updating very easy.

(2) Get the AbiWord sources. Recommended is to get them from CVS as described at [2]. In addition to the modules mentioned on this page you need to get "abiword-plugins". If you want to build an official package you need to get the right CVS tag. This usually looks similar to "release-2-3-3". Versions prior to 2.3.3 do not include any plugins in the autopackage.

(3) Check AbiWord's dependencies. Check that you have everything in place to build AbiWord with GNOME support. Also make sure you have the development packages for enchant [3] and gucharmap [4] installed because these are optional. 

(4) Make sure you have the dependencies for the following plugins in place: 
	* Grammar: 	link-grammar (get it from AbiWord's CVS or released tarballs)
	* Wordperfect: 	libwpd (http://libwpd.sourceforge.net)
	* Charts: 	libgoffice (get if from GNOME CVS or released tarballs)
	* OpenDocument:	libgsf must be recent enough (GNOME CVS or tarballs)
	* Equations: 	abimathview (GNOME CVS or tarballs)
So these plugins will be built and shipped with the autopackage.

(5) Make AbiWord's skeleton files available to autopackage. Simply put: 
	cp abi/src/pkg/linux/apkg/\@* /usr/share/autopackage/skeletons/
	(adapt paths to your setup)

(6) If you are working with a CVS version and have a fresh checkout of "abiword-plugins" you need to cd into that directory and run ./nextgen.sh (that's the ./autogen.sh equivalent for plugins).

(7) You need to build the autopackage out of the source tree. this means you have to create and "abi-build" peer directory at the save level as "abi" and "abiword-plugins". Go into "abi-build" and issue "../abi/configure"

(8) There seems to be a problem with applications built against a recent gnome stack (with glib >= 2.6). Therefore our reference build box runs Fedora Core 3. The chats and OpenDocument plugins however depends on recent libxml/libgsf/gtk+/libgoffice, so the prefix of an up to date build environment can be specified in the environment variable ABI_PLUGIN_ABIGOCHART_ENV. If that variable is not set these two plugins won't be built. For details please look at abiword-gnome.apspec.in

(9) Build the autopackage by running 
	makeinstaller src/pkg/linux/apkg/abiword-gnome.apspec

(10) After the build finished successfully you'll have the autopackage in your current directory. If you want to ship it make sure you test it on machines that don't have the autopackage developer tools installed before doing so.

If you have any questions please get in touch via AbiWord's developer mailing list or IRC channel.

[1] http://www.autopackage.org
[2] http://www.abisource.com/developers/download.phtml#cvs
[3] http://www.abisource.com/projects/enchant/
[4] http://gucharmap.sourceforge.net/


TODO: 
- Describe how to build the dependencies' autopackages like link-grammar, enchant


Robert Staudinger <robsta@stereolyzer.net>
July 10, 2005
