Mac build and Help app

David Reiser <[email protected]> Wed, 16 Feb 2005 17:17:08 -0500
Newsgroups gmane.comp.db.rekall.devel
Message-ID <[email protected]>
On Feb 11, 2005, at 2:17 PM, Mike Richardson wrote:

> On Thursday 10 February 2005 00:37, David Reiser wrote:
>> [snip my original...]
>
> You'll get better milage from the current CVS, I've been doing quite a 
> lot of
> Mac build stuff lately (but bear in mind this is still not a "real" 
> build so
> the patches above may still be needed)

I retrieved source for this pass on 2/15 (the Rekall splash screen said 
2/16, however)
>
> *
> Get the CVS code
>
> *
> Link (or copy) the settings file and make any changes you need
> 	ln -s scons/settings.mac settings
>
> *
> Configure
> 	make config
>
> *
> Build
> 	make

Still needed my mod to account for dylib install names relative to app 
executable directory
>
> *
> (Pretend) install
> 	DESTDIR=`pwd`/. make install
>

I'm probably showing my Mac heritage, but I'm installing in 
/Applications via:
setenv DESTDIR /Applications
and letting rkBuilder do the destDir  is DESTDIR = '/' swap
then make install

> This now "installs" to a subdir called "Rekall.app" with stuff named
> appropriately.
>
> *
> Run rkMacPak.py
> 	PYTHONPATH=scons python scons/rkMacPak.py
>

I had to mess with rkMacPak.py to handle my choice of installation 
directory being more-or-less unrelated to the source directory

> *
> Run Rekall
> 	/Users/mike/...../Rekall.app/Contents/MacOS/Rekall

This works (with my prior mods to the dylib naming issues). At this 
point all you need to launch the app is to double click on the 
Rekall.app icon (which, thanks to the wonders of Apple logic, only says 
'Rekall' under it...)

>
> If all has gone to plan (9?) then the manual will be there (menu 
> Help/Rekall
> Manual) To check:

Does nothing from within Rekall. If I 'Show Package Contents' on 
Rekall.app and dig down to where RekallManual.app lives, and double 
click that icon, I get the silly Aqua shadow-icon-zoom effect (I don't 
know what Apple calls it) and then nothing more.

> *
> There should be a directory
> 	Rekall.app/Contents/Resources/Data/manual

This directory exists and appears to be fully populated.

>
> This contains a bunch of .html and .png files, plus a file called
> 'rekall.xml' (its the contents of the doc/rekall/manual.tgz file)
>
> *
> Inside Rekall.app should be a subdirectory 'Helpers/RekallManual.app' 
> which
> contains the help viewer as Mac package format (the rkMacPak.py script
> contains the code to assemble this).

The app is there. Is it really supposed to be there, or should it be 
Rekall.app/Contents/Helpers/etc rather than Rekall.app/Helpers/etc? I 
haven't ever built any Mac bundles, so I could be way off base on this 
one. If I move the manual.app folder and then try to trigger help from 
within Rekall, I get an alert, titled "Mailwasher Pro" having the 
message "Help process failed to start".

Before remembering to run rkMacPak.py, trying to run RekallManual 
directly launched a terminal window with the output:
FTHelp: cwd   = /Users/dbr          (i.e., my home directory, the 
parent to the source directory)
    helpdir   =  (null)
    helpkey = (null)
    helpport = 0

>
> The manual is processed directly from the DocBook-XML files used to 
> build the
> KDE manual, so plus-or-minus some formatting, it should be the same.
> Actually, I think this is more usable that the KDE manual system 
> (which is
> not good at large manuals) so its going to be in the Linux and Windows
> versions as well.
>
>
> Let me know how this goes
> Regards
> Mike

Looks like I'm digging a hole with my insistence on decoupling the 
source and install locations. OTOH, I'm always going to want to 
compartmentalize source in preference to trying to drag the final app 
out of the source tree after building. The default prefix /usr/local 
isn't even visible in the Finder. Possibly the default prefix for Macs 
ought to be '/Applications' but that has a few perils of its own.