ooo-build r13270 - in trunk: . bin/piece doc



Author: michael
Date: Thu Jul 17 11:56:08 2008
New Revision: 13270
URL: http://svn.gnome.org/viewvc/ooo-build?rev=13270&view=rev

Log:
2008-07-17  Michael Meeks  <michael meeks novell com>

        * bin/piece/install-bootstrap: copy instsetoo_native
        into the solver during bootstrap.

        * doc/split.txt: write some fairly readable notes.



Modified:
   trunk/ChangeLog
   trunk/bin/piece/install-bootstrap
   trunk/doc/split.txt

Modified: trunk/bin/piece/install-bootstrap
==============================================================================
--- trunk/bin/piece/install-bootstrap	(original)
+++ trunk/bin/piece/install-bootstrap	Thu Jul 17 11:56:08 2008
@@ -1,7 +1,12 @@
 # install bash script - invoked from package-ooo
 
+# environment
 cp -R $OOBUILDDIR/*.[sS]et.sh $DEST
 
+# openoffice lst
+cp -R $OOBUILDDIR/instsetoo_native $DEST
+
+# ooo-build
 mkdir -p $OOINSTDIR/ooo-build/bin
 mkdir -p $OOINSTDIR/ooo-build/patches
 cp -R $TOOLSDIR/bin/* $OOINSTDIR/ooo-build/bin

Modified: trunk/doc/split.txt
==============================================================================
--- trunk/doc/split.txt	(original)
+++ trunk/doc/split.txt	Thu Jul 17 11:56:08 2008
@@ -1,7 +1,87 @@
+Michael's initial split notes:
+
+* Requirements:
+	+ split building is not mandatory
+		+ we still require straight-through builds for Win32 eg.
+	+ the split is broadly based on Kendy's layout here:
+		+ http://www.mail-archive.com/dev%40tools.openoffice.org/msg00786.html
+	+ we want to share as much as possible between distros,
+	  and shrink down-stream packagers's tweaks.
+	+ neither Debian nor RPM distros need accurate file lists,
+	  that is if we can split the package installation ourselves,
+	  we can just use wildcard patterns.
+
+* Implementation
+	+ the source is split by ooo-build/bin/src-pack2
+
+	+ you need to autogen ooo-build with --with-split
+
+	+ we first configure the 'bootstrap' package (--with-piece)
+	  - with all the dependencies we require, and generate the
+	  LinuxIntelEnv.Set.sh that we will use for all subsequent builds.
+		+ this is lame: we could re-generate this per module of
+		  course - but it requires work and waste.
+
+	+ bootstrap installs all the patches, solenv, dmake etc. into
+	  /usr/lib/ooo-3/
+		solenv/
+		ooo-build/
+		solver/
+
+	+ we apply patches from ooo-build/patches/dev300 with --pieces -
+	  this only applies fragments for top-level directories that exist
+	  (using bin/sloppypatch.pl)
+
+	+ we then build each subsequent module with bin/piece/build-generic
+	  and install-generic, having setup some pointers to /usr/lib/ooo-3/
+		+ build-generic works by patching 'build.pl' to add a new
+		  --subdirs option: "build this lot & work out deps yourself"
+
+	+ before we build we do targetted clobbering of critical paths
+	  and environment variables in bin/piece/sys-setup - this overrides
+	  a number of key paths and includes to allow building from the
+	  system.
+
+	+ as we build, we try to build from two solvers: that inside the
+	  local package build tree, and also that installed in the system.
+	  We could avoid this by splitting the build into each top-level
+	  package, but this would give us too much fragmentation.
+
+		+ Having two solvers causes some interesting problems:
+		+ in particular the 'SOLARVER' (and co.) solver links now
+		  point to the system: /usr/lib/ooo-3/solver
+		+ unfortunately - many parts of the build, don't understand
+		  that a file generated inside that module will not be in
+		  the system solver, but in the local solver.
+			+ the piece-* patch set fixes these places.
+
+	+ To build you need to build things in this order:
+
+		+ bootstrap, ( ure | libs_extern | artwork ),
+		  libs_gui, libs_core, components, l10n,
+		  ( impress | filters | base | writer | calc )
+
+		+ [ test building components / l10n in parallel ]
+
+	+ sample .spec files are in scratch/split/ooo3_*.spec
+
 TODO:
-	+ split the source, as per kendy's instructions.
-	+ perhaps go bottom-up first !? ...
-	+ split postprocess into it's own bit.
+	+ we install all the artwork into the system:
+		+ yet really it would be far better to install just
+		the .zip archives, and work from them
+		[ perhaps with a manifest for tools to grok ? ]
+		+ then we could drop the rsc2 patch to not check
+		  for icons' existence.
+
+	+ drop a 'Makefile' from the system in each top-level as
+	  we unpack it, that will do all the build goodness (?)
+
+	+ the piece-* patches need re-factoring, adding common env.
+	  variables to be re-used everywhere & moved up-stream, eg.
+	  URESOLARBINDIR instead of SOLARBINDIR etc.
+
+
+--- older notes ---
 
 Build splitting notes:
 
@@ -12,25 +92,8 @@
 		+ 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:
@@ -71,33 +134,6 @@
 		  just installs what is there ;-)
 		+ [ we would need to accelerate that script ... ]
 
-Source splitting notes:
-
-icu		8236k
-stlport:	4704k
-libxmlsec:	1925k
-rhino:		1185k
-nas:		1165k
-curl:		805k
-neon:		601k
-regexp:		444k
-sablot:		372k
-expat:		236k
-berkeleydb:     209k
-msfontextract:	196k
-unixODBC: 	180k
-twain:		148k
-x11_extensions: 92k
-
-
-moz:		36009k
-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.]
@@ -112,11 +148,6 @@
 	+ 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 ;-)
@@ -158,7 +189,6 @@
 		+ 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 ...
@@ -166,18 +196,10 @@
 
 	+ '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/ ? :-)
-
-
 + configure.in:
 	+ added "--with-split" ...
         --with-installed-ooo-dirname=%ooo_home: ooo_home => "ooo-2.0"
@@ -187,10 +209,6 @@
 	+ whack the solver in: /usr/lib/ooo-2.0/solver/
 		+ prune down the things that are simply not used ...
 
-
-* OODESTDIR ... (?)
-	+ use it to test ?
-
 * ooo-build: how much hassle do we need ?
 	+ add a "--with-devel-path" and default to /usr/lib/ooo-2.0/solver
 
@@ -201,16 +219,6 @@
 		- will set all the options (?)
 		- [ in the #1st analysis at least ;-]
 
-	+ do we even need ooo-build ?
-		+ yes for patching [sadly]
-		+ so ... 
-
-	+ switch to /usr/lib/ooo-3 instead ...
-	+ 
-
-	+ copy all our patches into the solver ?
-		+ and apply.pl (?) ... ;-)
-
 
 ** FIXME:
 	+ we need our 'build logic' split up and used in lots of
@@ -220,35 +228,6 @@
 		+ can we create a set of scripts: one per piece,
 		  and just run them in sequence ?
 
-** FIXME:
-	+ just install the whole solver into /usr/lib/... ?
-		+ use that as the -devel RPM ?
-		+ delete junk out of it ?
-			+ remove duplicates (somehow)
-			+ install earlier ?
-
-TODO:
-	+ make 'build.pl' efficient
-		+ create a pseudo-module (somehow)
-		+ work with that.
-		+ make it deliver as it goes (?)
-	+ symlink solver/lib -> /usr/lib/ooo-3/program
-		+ [ how do we do the multi-layer-ness ? ]
-			[ different symlink for the ure build ? ]
-		+ ensure the real RPMs actually have -something-
-		  in them :-)
-
-
-Build order:
-	+ bootstrap
-	+ ure | libs_extern
-	+ libs_gui
-	+ libs_core
-	+ components | artwork
-	+ l10n
-	+ impress | filters | base | writer | calc
-
-
 build.pl:
 	+ from 'BuildAll' ? - goodness starts (?)
 		=> GetParentDeps () ...
@@ -258,56 +237,7 @@
 		-> FindIdepPrj
 	+ all comes from the build hash ...
 	+ build_multiprocessing
-
-
-VCL bits:
-
-Making: ../../unxlngi6.pro/bin/vclzh-CN.res
-Making: ../../unxlngi6.pro/bin/vclzh-TW.res
-Making: ../../unxlngi6.pro/bin/vclzu.res
-using rsc multi-res feature
-rsc -presponse @/tmp/mkMnJcdx > /dev/null
-
-f268: Error: The image(s) <check checkwin checkos2 checkmac checkunx
-checkmono radio radiowin radioos2 radiomac radiounx radiomono msgbox
-pin splhpin splvpin splharw splvarw scrmsk scrbmp closedoc closedochc
-mainapp_48_8 mainapp_48_8 odt_48_8 ott_48_8 ods_48_8 ots_48_8 odg_48_8
-otg_48_8 odp_48_8 otp_48_8 odp_48_8 odm_48_8 oth_48_8 mainapp_48_8
-odb_48_8 odf_48_8 mainapp_48_8 mainapp_48_8 printeradmin_48_8
-mainapp_32_8 mainapp_32_8 odt_32_8 ott_32_8 ods_32_8 ots_32_8 odg_32_8
-otg_32_8 odp_32_8 otp_32_8 odp_32_8 odm_32_8 oth_32_8 mainapp_32_8
-odb_32_8 odf_32_8 mainapp_32_8 mainapp_32_8 printeradmin_32_8
-mainapp_16_8 mainapp_16_8 odt_16_8 ott_16_8 ods_16_8 ots_16_8 odg_16_8
-otg_16_8 odp_16_8 otp_16_8 odp_16_8 odm_16_8 oth_16_8 mainapp_16_8
-odb_16_8 odf_16_8 mainapp_16_8 mainapp_16_8 printeradmin_16_8
-mainapp_32 mainapp_32 lx03251 lx03255 lx03250 lx03254 lx03246 lx03252
-lx03249 lx03253 lx03241 lx03248 lx03139 lx03128 lx03245 lx03247
-lx03242 lx03216 printeradmin_32 mainapp_16 mainapp_16 sx03251 sx03255
-sx03250 sx03254 sx03246 sx03252 sx03249 sx03253 sx03241 sx03248
-sx03139 sx03128 sx03245 sx03247 sx03242 sx03216 printeradmin_16
-mainapp_32_h mainapp_32_h lxh03251 lxh03255 lxh03250 lxh03254 lxh03246
-lxh03252 lxh03249 lxh03253 lxh03241 lxh03248 lxh03139 lxh03128
-lxh03245 lxh03247 lxh03242 lxh03216 printeradmin_32_h mainapp_16_h
-mainapp_16_h sxh03251 sxh03255 sxh03250 sxh03254 sxh03246 sxh03252
-sxh03249 sxh03253 sxh03241 sxh03248 sxh03139 sxh03128 sxh03245
-sxh03247 sxh03242 sxh03216 printeradmin_16_h> could not be found.
-
-Terminating compiler
-dmake:  Error code 1, while making '../../unxlngi6.pro/misc/rsc_vcl'
-
-ERROR: Error 65280 occurred while making /home/usr/src/packages/BUILD/dev300-m21-libs_gui/vcl/source/src
-
-
-/bin/ls | tr '\n' ':'
-
-
-[ PYUNO -> depends on 'tools' !? ...
-  testshl2 -> from 'sal' ;-) ]
-	+ hmm ...
-
   
-SOLARBINDIR - check for it in bootstrap/URE etc. & re-vector it from the bottom up ?
-
 Questions:
 	+ should we try a different approach
 	+ "solver" is the system 'solver'
@@ -334,3 +264,4 @@
 * Debian: doesn't need file lists ...
 * RPM doesn't really need file-lists either 
 
+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]