Porting large numbers of programs to RISC OS introduces many new problems – most notably, how to keep them all up to date. In this drobe.co.uk article I discuss the development of an autobuilder for RISC OS ports, and encourage people to contribute to it.
Great approach and great article. I want to suggest that you take a look at the GoboLinux builder. It may be good to combine efforts with them. Some reason are:
1. GoboLinux depends, as do you, on letting standard GNU tools do all the heavy lifting. If a project uses standard build methods then everything will just work.
2. GoboLinux already installs the built software into a directory structure very different from a typical Linux distribution. This means you should be able to specify your RISC OS targets as arguments or configuration settings and have you software arrive in the RISC OS-esque location.
3. All the magic with their build system happens in Python. It is portable.
4. Finally, GoboLinux *does not* automatically publish. Your system does. This would be a great feature that you could add to a combined system. If you were to work with GoboLinux it would be a boost to your project and their project.
Overall, your efforts look great.
I have looked briefly at the documentation on it, and whilst somewhat interesting in philosophy, as I expected, is a long way from what is required for RISC OS.
I can’t see any tangible benefits from moving to a another system when the existing one already does most of what we need, and can be updated easily to do the rest.
But let me also answer some of your points:
1. Yes, the GNU tools do _most_ of the heavy lifting for my system, but cross compiling considerably increases the complexity of any build system – something that “Compile” doesn’t seem to know anything about. That the system works so well at times often amazes me (even though I developed it) – part of the reason is that there is considerable support from extra scripts to allow configure et al to work properly. Much of our tool chain (presently) isn’t even GNU.
2. RISC OS software isn’t targeted for any specific location – that’s not how RISC OS software works. It’s up to the user to drag and drop the software out of the archive to “install” it (or in future, for a RISC OS package manager to decide where it goes).
3. Python is a good choice, but bash is also very portable, and that is what my system is written in.
4. The automatic publishing is simply a copying of the zip to my webspace (on the same machine) – I wouldn’t get too excited about it.
If I were seriously looking at moving to another system, it’d be OpenEmbedded. Its aims are much much closer to those required for RISC OS – it’s very much aimed at cross built systems, and supports varied target and host systems as well as a few thousand packages; plus the benefit of having worked on it significantly last year. It’s also written in Python, and has clean solutions for a number of problems that my system doesn’t even attempt to tackle presently.
“RISC OS software isn’t targeted for any specific location – that’s not how RISC OS software works. It’s up to the user to drag and drop the software out of the archive to “install” it (or in future, for a RISC OS package manager to decide where it goes).”
I don’t believe that Compile has to target /Programs. I believe one can install to and location. I think it just so happens that Compile installs too. Am I wrong about that?
This looks like a very interesting platform. Reminds me of the Amiga and Atari ST era.
Are there still new software being actively being developed for this platform ?