Creating Packages for KallistiOS

If you have any questions on programming, this is the place to ask them, whether you're a newbie or an experienced programmer. Discussion on programming in general is also welcome. We will help you with programming homework, but we will not do your work for you! Any porting requests must be made in Developmental Ideas.
Post Reply
Senk
DCEmu Crazy Poster
DCEmu Crazy Poster
Posts: 33
Joined: Wed Apr 04, 2012 1:58 pm
Location: Virginia
Contact:

Creating Packages for KallistiOS

Post by Senk » Mon Jun 18, 2012 7:11 pm

So, this topic is MOSTLY going to be about creating Linux packages for KallistiOS, but I wanted to ask a quick question beforehand. I was looking at the most recent update to the repository and saw that three days ago dcload was removed. Was there a reason for that? Are there plans to bring it back? I'm lucky to have saved my copy of dcload (and the source code) on a backup, but... isn't it necessary to have dcload to send binaries to the Dreamcast?

More on topic, I wanted to ask someone (maybe BlueCrab) what the possibility of creating a package for KallistiOS would be. Or, more to the point, if others are allowed to do so. I can see it being a lot easier using a package to install a version of KallistiOS instead of having to go through a lot of frustrating steps to ensure all of the dependencies are met manually. I just installed a fresh version of ArchLinux over my last copy (I had screwed it up a bit too much) and have got XMonad working quite well. I was hoping to try my hand at a package for ArchLinux, if for nothing else than for personal use. Of course, I'd love to share my results with others so KallistiOS could thrive a bit more. I'm sure if there were common packages available for the SDK, we'd have at least a few more developers writing software for it.

I'm not saying that this would be maintained, mind you. It would be a set of packages representing a "working" version of KallistiOS and be left at that.

What do you guys think? Worth a shot? Too much effort? Not allowed?
User avatar
BlueCrab
The Crabby Overlord
The Crabby Overlord
Posts: 5249
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Contact:

Re: Creating Packages for KallistiOS

Post by BlueCrab » Mon Jun 18, 2012 7:51 pm

Note what it says in the README that was left behind in the dcload directory (and similarly what's in the lone file in the kos directory in the SVN). Nothing's been removed, its just been moved away from SVN to Git.

I don't recommend that anyone "pre-package" KOS itself until there is a formal release again. Its kinda silly, considering you'd be pre-packaging a work-in-progress version that may be between two very large changesets. I won't stop you from doing it (there's really no way for me to do so, even if I wanted to), but I recommend highly against it.

That said, there are no "dependencies" for KOS itself other than a working compiler toolchain (which implies some host tools like make and such). GCC itself has a few dependencies (GMP, MPFR, and MPC), all of which are noted quite plainly on the GCC website (and of course, having a host version of GCC is required to compile GCC). Once you have those dependencies, dc-chain (which is included with KOS) takes care of the rest of the work.

I've never been a fan of pre-built toolchains, as I find they generally take up way too much bandwidth to host and will break unless everyone has the same exact setup as you do (which they likely won't have on Linux or BSD or whatnot). As stated before, I won't stop you from doing such a thing if you really want to, but I would generally find it a bit of a pain myself. Plus, if you're going to do such a thing, are you willing to maintain it afterwards when things change? People tend to get frustrated when they start with a pre-built toolchain and want to update it, but have no idea how without someone giving them a new pre-built toolchain. This is the exact complaint about things like the Dreamcast Dev ISO that tends to frustrate new Dreamcast people so much that they give up when nobody knows how to help them with their issues with it.

I don't want to necessarily talk you out of making such a thing, I just wanted to bring forth some issues you'd face along the way, and point out why I'd probably never make such a thing myself.
Post Reply