[sword-devel] BibleTime Windows and Mac packages

Greg Hellings greg.hellings at gmail.com
Sat Apr 18 08:11:13 MST 2009


On Sat, Apr 18, 2009 at 6:34 AM, DM Smith <dmsmith at crosswire.org> wrote:
> Regarding Mac, here is my experience (pretending to be a typical Mac user):
> 1) The installer was a surprise. I did not expect a pkg installer but rather
> I expected to have an app wrapped in a dmg that I would drag to the location
> of my choice. This is what both Bible Desktop and Mac Sword have. This kind
> of installer is not at all typical for a Mac user. I see it for things like
> MacOffice, Adobe Photoshop, EA games and other stuff from very well known
> vendors. It makes me wonder whether I want to install at all as it gives
> away root access to my machine, making me suspicious of a Trojan. Though I
> know you guys and am not suspicious, I am curious as to what is being
> installed that requires root access.

Changing this should be as simple as a one-line change in
CMakeLists.txt.  I'll make that change and re-release very shortly.

> 2) The installer is English only. The typical "drag app to Applications"
> installer does not need translations and can be entirely graphical.

Noted. :)

> 3) The installer is incomplete (but you knew that).  Just a comment
> regarding the accepting of the license. While it is not present and you
> still have to click through, the GPL license does not have to be accepted by
> the user for the user to use the program. GPL programs are one where the
> user does not have to "agree" with the terms and the conditions of the GPL
> in order to use an application governed by it. The license page should be
> change to have a continue button or to continue when the user clicks "I
> don't agree". IIRC, there is a requirement to present the GPL to the user.
> Clicking on disagree closes the installer.

It's not present because the generator complained that it doesn't know
how to handle a file with no extension (it would only touch RTF, HTML
or TXT files), so I just removed the file dependency.  I'm surprised
it still generated the license page.  I suppose this issue will also
go away with a drag-n-drop.

> 4) If it weren't for Manfred's comment that it is in /usr, I wouldn't have
> found it at all. However, I cannot see or otherwise get to it in Finder at
> all. Seems like /usr is hidden from view in Finder. When I click on
> "Macintosh HD" in the Finder, I only see: Applications, Library, System and
> Users. I also looked using Spotlight and couldn't find it. I had to open
> Terminal to find it.

You are correct.  Much of the Unix/Linux folder structure is hidden.
You can make it visible by running a command with defautls from the
command line.  It has been a while since I did that, so I don't
remember the full string of the option that needs to be set, but
regardless, the app shouldn't be there.  It is, however, the default
installation location with CMake, and that's why CPack decided to
install it there by default without a user override option.

> 5) Having found it I have know idea how to run it. Since I can't get to it
> in Finder, I can't execute it. From terminal one cannot run an app as the
> app is nothing more than a folder. No normal Mac user will ever use the
> Terminal to do anything. Not being a normal Mac user, I finally moved it
> /Applications where it can be seen by Spotlight, my preferred way of
> launching programs, and by Finder.

You can use the method Manfred suggested or, since the .app is just a
folder, you can run it akin to
/usr/local/bin/bibletime.app/Contents/MacOS/bibletime from the command
line.  But that would be a-typical for users, so this testing gives
more useful feedback. :)

> 6) I then ran it via Spotlight (again my preferred method of starting
> programs). And it crashed.

As expected though not desired.

> 7) I want to do a clean uninstall, but I can't. I tried running the
> installer a second time, but it did not give me an option to uninstall. So,
> I went into terminal again and searched for all files and folders that had
> been modified in the last day. I had expected that the pkg installer had
> installed other stuff, but it was only bibletime.app. Whew! So I dragged it
> to the trash.
> Here is the crash report:
> Process:         bibletime [55969]
> Path:            /Applications/bibletime.app/Contents/MacOS/bibletime
> Identifier:      bibletime
> Version:         ??? (???)
> Code Type:       X86 (Native)
> Parent Process:  launchd [151]
> Date/Time:       2009-04-18 07:20:50.520 -0400
> OS Version:      Mac OS X 10.5.6 (9G55)
> Report Version:  6
> Exception Codes: 0x0000000000000002, 0x0000000000000000
> Crashed Thread:  0
> Dyld Error Message:
>  Library not loaded:
> /opt/local/Library/Frameworks/QtSvg.framework/Versions/4/QtSvg
>  Referenced from: /Applications/bibletime.app/Contents/MacOS/bibletime
>  Reason: image not found

I see from the link provided later in this thread, that I need to do
much more intriguing things than just copy Frameworks to the app
bundle.  I'll see if CMake or CPack handle that automatically.  If
not, I'll have to add a set of custom commands.

> My /opt is empty. As my machine is not a development machine, just a vanilla
> user's machine, I'll probably won't install anything in /opt. That /opt is
> there is an artifact from a long time ago, when I did.

It is, however, the root of all my development.  Apparently on Mac,
when you link against a framework, the binary keeps exact track of
where the Frameworks are.  The path you see listed is where MacPorts
has installed my qt4 libraries.

> I suggest that you install QT inside the bundle, if at all possible. And
> that you create a simple dmg drag and drop installer and not a pkg
> installer.

Qt is already inside of the bundle.  Alas, it is just not installed
there correctly.  The link provided to Qt mac deployment should get me
off on a much better foot for a later release.

I might get it out today, but I have lots of errands today and leave
in the early AM for a flight to Washington DC for a job interview, so
I might not get all the issues with the Mac and Windows versions
hammered out until I return from that.

Thanks for the feedback to you and Martin and the others on this
thread, it helps immensely!


> Hope this helps,
>        DM
> On Apr 18, 2009, at 3:03 AM, Eeli Kaikkonen wrote:
>> I forward this from bt-devel because some people here might be interested
>> on Windows and Mac binaries (see 2) and 3) below) of BibleTime.
>> -------- Original Message --------
>> Subject: [bt-devel] CPack and other patches
>> Date: Sat, 18 Apr 2009 00:17:14 -0500
>> From: Greg Hellings <greg.hellings at gmail.com>
>> Reply-To: BibleTime development <bt-devel at crosswire.org>
>> To: BibleTime development <bt-devel at crosswire.org>
>> On http://www.crosswire.org/~ghellings/bibletime you should be able
>> now to find the following files:
>> 1) Bt-with-Qt4.5.zip - a file which consists of all my BibleTime build
>> directories from Windows.  You can unzip it into, e.g.,
>> C:\Bt-with-Qt4.5 (where I had it), run CMake across the bibletime-svn
>> and bibletime-build directories, then open Bibletime\Bibletime.sln and
>> things should build for you.  YMMV, but I'll try to help out as much
>> as possible.  You'll need your own build of Qt in order for this to
>> work.  Please let me know of problems you have, including if I'm
>> breaking GPL/LGPL licenses with it, but I think all the sources for
>> everything but Qt are included.  You'll still need to set a few
>> environment variables before running CMake: QTDIR needs to point to
>> the root of the Qt build you're using and BOOST_ROOT to the base of
>> the boost_1_38_0\ directory under this unpackaged folder.
>> 2) bibletime-2.0.0alpha3-win32.exe - an installer, built with CPack,
>> that should install everything needed for users of BibleTime on
>> Windows.  Again, YMMV, but I've actually tested it, this time, on my
>> XP virtual machine and everything installs and runs.  I'm not able to
>> get the SVG files running on XP, but there is a QtSvg4.dll and
>> QtSvgd4.dll in the 4.5.0 build -- getting those linked in properly (I
>> modified CMakeLists.txt to link in the SVG libraries, but I they don't
>> seem to be used) might solve our issue of that display.
>> 3) bibletime-2.0.0alpha3-Darwin.dmg - an installer I built, also with
>> CPack, as a first attempt at getting the system to operate as it is
>> supposed to.  If someone with a non-development Mac could test it out
>> and give feedback, it'd be great to help me in figuring out exactly
>> what libraries are needed in the install pack.
>> 4) CMake.diff -- a patch file that makes all the above possible.  It
>> includes the patches that make this possible and I've tested them on
>> both Windows and Macintosh.
>> Any feedback from others?  We can certainly extend the CPack material
>> to cover other package systems.  It'd be nice to hear if I'm chasing
>> shadows or if this is a good direction for me to pursue.  I got no
>> feedback on the patch I posted here yesterday that dealt with all the
>> issues except for the CPack.  The patch in there now includes the one
>> from yesterday with a few fixes.
>> --Greg
>> --Greg
>> _______________________________________________
>> bt-devel mailing list
>> bt-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/bt-devel
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page

More information about the sword-devel mailing list