Announcement: Be excellent to each other.


Caravel Forum : Caravel Boards : Development : DROD installation methods and utilities (There's more to life than a self-extracting exe)
New Topic New Poll Post Reply
Poster Message
jamie
Level: Smiter
Rank Points: 365
Registered: 04-15-2005
IP: Logged
icon DROD installation methods and utilities (0)  
Trick wrote (in topic 6647):
Anyway, jamie, the Loki installer has support for multiple architectures, so if you can do a FreeBSD build of the setup executable, we could put the Linux and FreeBSD executables in the same installer, and it'd install the right executable automagically. You like ?
Ooooh that would be handy. However, isn't the Loki installer itself an executable that is dependent on X11 (amongst other things?)

Ideally I'd want the FreeBSD installation to not require the Linux-compatibility layer installed... Otherwise it sorta defeats the object of a FreeBSD port! :lol

I'd actually been thinking of arranging something along those lines after I'd released the first beta (I have a number of different ideas relating to the installation part - mainly because I ultimately want to get something that will work smoothly in the FreeBSD ports section.)

Firstly, though, from what I can tell, you have the same core binary for the DROD demo as for the paid-for game... I.E. The demo includes the caravelnetinterface code (even though presumably it isn't used for anything in the demo)

I was wondering about a source distribution that (obviously) didn't have the caravelnet source code, but included the lib as a binary for Linux, FreeBSD etc., and the appropriate one would be installed in the 'drod lib' directory on installation, and dynamically loaded on DROD execution.

Whilst technically possible, you guys may be more concerned about this being easier to potentially reverse-engineer.

The FreeBSD ports system doesn't require source - some things are pure binary in there, so it doesn't really matter either way. I'm just thinking of various possibilities at the moment, and obviously don't want to cause any problems! (I feel that getting the demo of DROD into the freebsd ports system would be the best advert for FreeBSD DROD (and this can be done without allowing anyone else to distribute the installation files -- all the ports system needs is a 'template' consisting of where to download the file from, and whether the user needs to click an agreement etc. before proceeding with download... It's after all how things like opera are distributed in ports))

Yuck, a sentance with nested parenthasis!

Basically, what I'm asking is, will it be possible ("politically") to get a completely functional binary when a user compiles the main engine from source.

(Yeah, I know a user would have to download / install paid-for data files - I'm just talking about the core binary at the moment)

And if this makes no sense, see my sig :lol

[Edited by jamie at Local Time:06-10-2005 at 06:08 PM: Edit ?? You're imagining things!]

____________________________
#f3i2g# Disclaimer: I'm Welsh, left-handed, and stupid. #f3i2g#
06-10-2005 at 06:08 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
wmarkham
Level: Master Delver
Avatar
Rank Points: 125
Registered: 12-06-2004
IP: Logged
icon Re: DROD installation methods and utilities (0)  
On a related note, the OS X port currently does not use an installer at all. It relies on the existing code that copies all the data files to ~/.caravel/drod-2_0. There are a few downsides to this, though. Notably:

- If the user has multiple versions of the executable, (like 2.0.6 and 2.0.7) all of these will currently share the single directory.
- There is currently no point at which to insert a license agreement.
- Each user must either install the game (by running it) into one's own home directory, or else know how to create DataPath.txt so that it points to the appropriate system-wide location.
- Users do not necessarily know to look for ~/.caravel when removing the application. Indeed, the GUI for manipulating files is quite insistent on hiding ".caravel". (Which is fine; that's what the initial dot means, after all.) Such directories appear to be fairly common, but DROD's is larger than most.

On the plus side, though, this was very little work for me to implement, and it can potentially give the user a simple way to understand and change where the application binary and static data files are installed (just drag and drop the package wherever you want it).

I am currently planning on keeping this working in essentially the same manner, but making a few incremental improvements that should improve the issues noted above. I am wondering if anyone else has any thoughts on the matter. In particular, if someone with more Mac experience than I has insight into what should be expected by a Mac user, that would be great.

Weston

P.S.: Jamie, re. your sig., I have a friend (originally from Ireland) who claims that Welsh people are genetically incapable of playing Jazz. I just thought I'd pass that on.
06-10-2005 at 09:27 PM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
trick
Level: Legendary Smitemaster
Rank Points: 2580
Registered: 04-12-2003
IP: Logged
icon Re: DROD installation methods and utilities (0)  
jamie wrote:
Ooooh that would be handy. However, isn't the Loki installer itself an executable that is dependent on X11 (amongst other things?)
Yes, so you'd have to compile a FreeBSD version of the Loki installer as well, as I said (maybe that wasn't clear, sorry about that). You'd have to statically link most of the dependencies.
Ideally I'd want the FreeBSD installation to not require the Linux-compatibility layer installed... Otherwise it sorta defeats the object of a FreeBSD port! :lol
Yup :). Once/if we got a FreeBSD version of the Loki installer, it wouldn't require any Linux compatibility layer to run or install. When you start the installer, a system-independent (bourne-style) script uncompress it and run another system-independent script that figures out the architecture, and then launch the right installer. No system-dependent code is involved before that, just some calls from the script to standard unix tools to do the uncompressing and system detection.

Got to go now, but I'll reply to the rest of this later.

wmarkham wrote:
On a related note, the OS X port currently does not use an installer at all.
I'm pretty sure it's possible to use the Loki installer for Mac OS X as well (so we could in fact have one installer for Linux, FreeBSD and Mac OS X), but I'm not sure if that's really a good idea. It'd require a bunch of unix-y things, and wouldn't behave very Mac-like. (It wouldn't solve all of the problems you describe in any case, more about that later ..).

- Gerry
06-11-2005 at 01:51 PM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
jamie
Level: Smiter
Rank Points: 365
Registered: 04-15-2005
IP: Logged
icon Re: DROD installation methods and utilities (0)  
:) Thanks.

I've downloaded the Loki-installer source, so I'll have a look.

cheers!

And Weston, I certainly can't play jazz, so maybe it's right! :lol

[Edited by jamie at Local Time:06-11-2005 at 03:28 PM]

____________________________
#f3i2g# Disclaimer: I'm Welsh, left-handed, and stupid. #f3i2g#
06-11-2005 at 03:26 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
New Topic New Poll Post Reply
Caravel Forum : Caravel Boards : Development : DROD installation methods and utilities (There's more to life than a self-extracting exe)
Surf To:


Forum Rules:
Can I post a new topic? No
Can I reply? No
Can I read? Yes
HTML Enabled? No
UBBC Enabled? Yes
Words Filter Enable? No

Contact Us | CaravelGames.com

Powered by: tForum tForumHacks Edition b0.98.8
Originally created by Toan Huynh (Copyright © 2000)
Enhanced by the tForumHacks team and the Caravel team.