ooo-build r12972 - in trunk: . bin doc
- From: michael svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r12972 - in trunk: . bin doc
- Date: Thu, 26 Jun 2008 15:07:14 +0000 (UTC)
Author: michael
Date: Thu Jun 26 15:07:14 2008
New Revision: 12972
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12972&view=rev
Log:
2008-06-26 Michael Meeks <michael meeks novell com>
* bin/src-pack2, doc/split.txt: new src packing script & some
more ramblings.
Added:
trunk/bin/src-pack2 (contents, props changed)
Modified:
trunk/ChangeLog
trunk/bin/src-pack
trunk/doc/split.txt
Modified: trunk/bin/src-pack
==============================================================================
--- trunk/bin/src-pack (original)
+++ trunk/bin/src-pack Thu Jun 26 15:07:14 2008
@@ -82,7 +82,9 @@
rm -Rf $src/sdk_oo || exit 1;
echo "Packing system pieces ...";
+echo "tar $tar_opts -f $dest/$src-system.tar.bz2 $system_dirs";
tar $tar_opts -f $dest/$src-system.tar.bz2 $system_dirs || exit 1;
+echo "Cleaning system pieces...";
rm -Rf $system_dirs || exit 1;
# This saves only 1.5Mb
Added: trunk/bin/src-pack2
==============================================================================
--- (empty file)
+++ trunk/bin/src-pack2 Thu Jun 26 15:07:14 2008
@@ -0,0 +1,183 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+# Towards a more modular build ...
+
+my $tar_opts='cj';
+
+my $src;
+my $dest;
+
+sub print_help_and_exit()
+{
+ print "src-package: <src-directory-name> [<destination-directory>]\n";
+ print " the src will be un-packed into several archives\n";
+ print " prefixed by the last path element\n";
+ exit 0;
+}
+
+sub slurp_dir_to_hash($)
+{
+ my $src = shift;
+ my %entries;
+
+ opendir my $dirh, "$src" || die "Can't open $src: $!";
+ while (my $entry = readdir ($dirh)) {
+ $entries{$entry} = 1;
+ }
+ closedir ($dirh);
+ return \%entries;
+}
+
+sub verify_module_map($$)
+{
+ my $src = shift;
+ my $module_map = shift;
+
+ my $modules = slurp_dir_to_hash ($src);
+
+ print "Verifying module map ...";
+
+ for my $section (keys %{$module_map}) {
+ for my $module (@{$module_map->{$section}}) {
+ if (!defined $modules->{$module}) {
+ die "Error: section '$section' contains non-existent module '$module'\n";
+ }
+ delete $modules->{$module};
+ }
+ }
+ my @left_over = keys %{$modules};
+ if (@left_over) {
+ die "Modules not included in any section: @left_over";
+ }
+ print " done\n";
+}
+
+for my $arg (@ARGV) {
+ if ($arg eq "--help" || $arg eq '-h') {
+ print_help_and_exit();
+ } elsif (!defined $src) {
+ $src = $arg;
+ } elsif (!defined $dest) {
+ $dest = $arg;
+ } else {
+ die "Too many arguments '$arg'";
+ }
+}
+
+if (!defined $src) {
+ print_help_and_exit();
+}
+$dest = '.' if (!defined $dest);
+
+my %module_map = (
+ 'ure' => [ 'bridges', 'cli_ure', 'codemaker', 'cppu', 'cppuhelper',
+ 'cpputools', 'idlc', 'io', 'javaunohelper', 'jurt', 'jut',
+ 'jvmaccess', 'jvmfwk', 'offapi', 'offuh', 'pyuno', 'rdbmaker',
+ 'registry', 'remotebridges', 'ridljar', 'sal', 'salhelper',
+ 'stoc', 'store', 'udkapi', 'unoil', 'ure', 'xml2cmp' ],
+ 'sdk' => [ 'autodoc', 'cosv', 'odk', 'sdk_oo', 'udm', 'unodevtools' ],
+ 'base' => [ 'dbaccess', 'reportdesign' ],
+ 'calc' => [ 'sc', 'scaddins', 'chart2' ],
+ 'l10n' => [ 'extras', 'helpcontent2', 'readlicense_oo' ],
+ 'writer' => [ 'sw', 'starmath' ],
+ 'impress' => [ 'sd', 'animations', 'slideshow' ],
+ 'artwork' => [ 'default_images', 'external_images', 'ooo_custom_images' ],
+ 'filters' => [ 'binfilter', 'filter', 'hwpfilter', 'unoxml',
+ 'writerfilter', 'writerperfect', 'xmerge' ],
+ 'testing' => [ 'qadevOOo', 'smoketestoo_native', 'testshl2', 'testtools' ],
+ 'bootstrap' => [ 'config_office', 'dmake', 'instsetoo_native', 'scp2',
+ 'solenv', 'soltools', 'stlport' ],
+ 'libs-gui' => [ 'basebmp', 'basegfx', 'canvas', 'comphelper', 'cppcanvas',
+ 'dtrans', 'goodies', 'i18npool', 'i18nutil', 'o3tl',
+ 'padmin', 'psprint', 'psprint_config', 'regexp', 'rsc',
+ 'sax', 'sot', 'svtools', 'toolkit', 'tools', 'transex3',
+ 'ucbhelper', 'unotools', 'vcl', 'vos' ],
+ 'libs-core' => [ 'avmedia', 'basic', 'configmgr', 'connectivity',
+ 'desktop', 'embeddedobj', 'eventattacher', 'fileaccess',
+ 'fpicker', 'framework', 'idl', 'linguistic',
+ 'officecfg', 'oovbaapi', 'sandbox', 'scripting',
+ 'sfx2', 'shell', 'sj2', 'so3', 'svx', 'sysui',
+ 'ucb', 'uui', 'xmlhelp', 'xmloff', 'xmlscript',
+ 'XmlSearch' ],
+ 'libs-contrib' => [ 'afms', 'agg', 'beanshell', 'berkeleydb', 'bitstream_vera_fonts',
+ 'boost', 'curl', 'dictionaries', 'epm', 'expat', 'external',
+ 'fondu', 'freetype', 'hsqldb', 'icu', 'jfreereport', 'jpeg',
+ 'libegg', 'libtextcat', 'libwpd', 'libxml2', 'libxmlsec',
+ 'libxslt', 'moz', 'msfontextract', 'nas', 'neon', 'np_sdk',
+ 'portaudio', 'python', 'rhino', 'sane', 'sndfile', 'twain',
+ 'unixODBC', 'vigra', 'xalan', 'xt', 'x11_extensions', 'zlib' ],
+ 'extensions' => [ 'accessibility', 'automation', 'basctl', 'bean',
+ 'crashrep', 'embedserv', 'extensions', 'forms',
+ 'javainstaller2', 'lingucomponent', 'MathMLDTD',
+ 'package', 'setup_native', 'UnoControls', 'wizards',
+ 'xmlsecurity' ],
+ 'postprocess' => [ 'postprocess' ]
+);
+
+verify_module_map ($src, \%module_map);
+
+for my $a (keys %module_map) {
+ print "module '$a' =>";
+ for my $b (@{$module_map{$a}}) {
+ print " $b";
+ }
+ print "\n";
+}
+
+#,
+#echo "packing source in $src to directory $dest";,
+#,
+#if test ! -f "$src/vcl/source/gdi/outdev.cxx"; then,
+# echo "Doesn't look like an OO.o source tree";,
+# exit 1;,
+#fi,
+#,
+#system_dirs="$src/python $src/bitstream_vera_fonts $src/freetype $src/jpeg";
+#system_dirs="$system_dirs $src/dictionaries $src/libxml2 $src/zlib $src/moz";
+#system_dirs="$system_dirs $src/curl $src/neon ";
+#
+## future system bits:
+#incomplete_modules="$src/curl $src/expat $src/icu $src/libxmlsec $src/neon";
+#incomplete_modules="$incomplete_modules $src/msfontextract $src/regexp $src/rhino ";
+#incomplete_modules="$incomplete_modules $src/sablot $src/sane $src/stlport $src/twain";
+#incomplete_modules="$incomplete_modules $src/unixODBC $src/x11_extensions $src/boost";
+#
+## FIXME - remove svdbt.dll with an unclear license; it looks unused anyway; http://www.openoffice.org/issues/show_bug.cgi?id=80408
+#rm -f $src/sfx2/util/svdbt.dll
+#
+#echo "Packing binfilter ...";
+#tar $tar_opts -f $dest/$src-binfilter.tar.bz2 $src/binfilter || exit 1;
+#rm -Rf $src/binfilter || exit 1;
+#
+#echo "Packing sdk_oo ...";
+#tar $tar_opts -f $dest/$src-sdk_oo.tar.bz2 $src/sdk_oo || exit 1;
+#rm -Rf $src/sdk_oo || exit 1;
+#
+#echo "Packing system pieces ...";
+#tar $tar_opts -f $dest/$src-system.tar.bz2 $system_dirs || exit 1;
+#rm -Rf $system_dirs || exit 1;
+#
+## This saves only 1.5Mb
+##
+## echo "Packing win32 bits ...";
+## tar $tar_opts -f $dest/$src-win32.tar.bz2 $win32_dirs || exit 1;
+## rm -Rf $win32_dirs || exit 1;
+#
+#echo "Packing i18n bits ...";
+#find $src -name localize.sdf > localize.lst || exit 1;
+#find $src/extras/source/templates -type f | grep -v 'CVS' | grep -v 'delzip' | grep -v 'makefile.mk' | grep -v '/de' | grep -v '/en-US' >> localize.lst || exit 1;
+#tar $tar_opts -f $dest/$src-lang.tar.bz2 --files-from=localize.lst || exit 1;
+#cat localize.lst | xargs rm -Rf || exit 1
+#rm localize.lst
+#
+#echo "Packing core source ...";
+#tar $tar_opts -f $dest/$src-core.tar.bz2 $src || exit 1;
+#rm -Rf $src
+#
+#echo "Generating md5 sums ...";
+#for suffix in binfilter sdk_oo system lang core; do # win32 cvs
+# md5sum $dest/$src-$suffix.tar.bz2 > $dest/$src-$suffix.tar.bz2.md5 || exit 1;
+#done
+
Modified: trunk/doc/split.txt
==============================================================================
--- trunk/doc/split.txt (original)
+++ trunk/doc/split.txt Thu Jun 26 15:07:14 2008
@@ -1,3 +1,75 @@
+TODO:
+ + split the source, as per kendy's instructions.
+ + split postprocess into it's own bit.
+
+Build splitting notes:
+
+ + we need the same environment, and we need to link against a
+ given path instead of the solver.
+ + so for 'sw' we need:
+ + isolate it.
+ + get include files out - into separate place.
+ + do we need IDL ?
+
+ + we can use "src-pack" to do the build explosion.
+
+ + sw-dev300-m19/
+ -
+ + lib-dev300-m19/
+ + needs a symlink to itself 'unxlngi6.pro' or somesuch
+ - bits we need from the solver:
+ + bits we need from solenv/
+ - can we include LinuxIntelEnv.Set.sh in here ?
+ + how much does that hard-code the cwd ?
+ + bin: svidl, transex3, makedepend
+ + libraries from:
+ + /opt/OOInstall/basis3.0/program
+
+
+
+ + We need LinuxIntelEnv.Set.sh ...
+ + source it & clobber bits ...
+
+* Major tasks:
+ + incremental pieces:
+ + hack bits out of scp2 as we go:
+ + #ifndef EXTERNAL_SW
+ + #endif // etc.
+
+ + install static libraries too [somewhere] ?
+ + basically we want 'deliver' really ...
+ + can we create a boot-strapping OO.o without
+ much pain otherwise: just bastardize make_installer.pl ?
+ + how much does it do that is really useful ?
+ + building component registry / rdbs (?)
+ + need to do that on rpm install anyway ?
+ + do it in one big rpm at the end ?
+ + have file-install lists per module (d.lst) ... (?)
+ + tag files "devel" vs. "non-devel"
+ + or have some black-list in a 'deliver' script ?
+
+ + possible deliver heuristics:
+ + all libraries -> installed system
+ + attempt to register each of them in registry.rdb
+ + [ what RPM file contains that rdb ? ]
+ + can we not do that at the end ?
+ + meta 'OpenOffice' package that
+ does registration.
+ + make make_installer run against the
+ final system
+ + all uiconfig* -> install
+ + all layout*.zip -> install
+ + have a path mapping:
+ + from solver -> inst image.
+
+
+ + split the scp2 - move it into each module ... [!?] ...
+ + Can we bootstrap from 'deliver' !?
+ + *or* - add tags to the scp - annotating where it comes from ?
+ + or run the make_installer in a minimal way that
+ just installs what is there ;-)
+ + [ we would need to accelerate that script ... ]
+
Source splitting notes:
icu 8236k
@@ -21,3 +93,86 @@
dictionaries: 11858k
libxml: 2995k
zlib: 260k
+
+
+ @echo -n $(SHL1LINKER) $(SHL1LINKFLAGS) $(LINKFLAGSSHL) -L$(PRJ)$/$(ROUT)$/lib $(SOLARLIB) -o $@ \
+
+cannot find -luno_cppuhelpergcc3
+ + we need symlinks for:
+ + /opt/OOInstall/ure/lib/libuno_cppuhelpergcc3.so.3 -> .so [etc.]
+ + a -devel RPM for this.
+
+ + *or* ... something else (?)
+ + just whack the symlinks in ure/lib itself ... (?)
+
+ for a in *.so.*; do ln -s $a `echo $a | sed 's/\.[0-9]*$//'`; done
+
+Common pieces we need in the "finish up" phase:
+ + icon: ilst files
+ + res: files [ translations ]
+
+TODO:
+ + check for pre-requisite packages when we configure.
+
+
+ + create a shell-script to clobber the bits we want
+ + make configure do that clobbering ?
+ + create a dummy Makefile to wrap the beastie.
+ + get on with it ;-)
+
+
+ + Translation [! -urgh- ]
+ + ideas
+ + duplicate all makefile.mk's into a separate lang-package
+ + duplicate all .src files [etc.] into there
+ + FIXME: if we patch things; what then ?
+ + we need to be the canonical 'master' really.
+ + include translation tools in there [ self contained ]
+ +
+
+ + Allow parallel translation builds
+
+ + insert dummy translation rules into the makefiles
+ for writer etc. just 'touch' the files.
+ + [ or? ]
+
+ + Translation is spread all over the code
+ + => we need two modes
+ + "compile mode" and "translate mode"
+ + do these exist already ?
+
+ + or do we cheat ?
+ + just whack the translation files into the -devel package ?
+ + and copy from that (?)
+
+
+Resolved:
+ + copy the translations into a known place in the -devel package and
+ collate them later into the main OO.o binary.
+ + allows developer to add new strings easily etc.
+ + adding new / individual translations perhaps a big
+ pain though.
+ + same for ilst files [etc.]
+ + hack this into 'deliver'
+ + build the 'solver' much in the same way.
+ + just minus the installable files.
+
+
+ + sort out the ooo-build wrapper ...
+ + urgh;
+ + make 'sw' build standalone nicely ...
+ + fix the wrapper later ?
+
+ + 'postprocess' ...
+
+Kendy's take:
+ + http://www.mail-archive.com/dev%40tools.openoffice.org/msg00786.html
+
+
+for a in ../HEAD/src/dev300-m19*.tar.bz2; do tar -xjf $a; done
+
+
+FIXME:
+ + do we wrap all the bits with ooo-build ?
+ + can we adapt it's behavior based on what we see in src/ ? :-)
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]