[Scummvm-devel] Release 1.3.0 status -- 2010-04-24

Max Horn max at quendi.de
Tue May 24 13:01:04 CEST 2011


Hi Frantisek, all!

Am 24.05.2011 um 12:30 schrieb Frantisek Dufka:

> On 2.5.2011 15:18, Max Horn wrote:
>> I just noticed that for the maemo port, the patch in backends/platform/maemo is still for 1.1.0. There is a patch for 1.2 in there inside the 1.2.x branch, though. Bad :/
> 
> IMO the patch does not belong to trunk at all because it is a diff 
> generated against code in specific branch. In ideal case it should be 
> the last commit before tagging the release so that some last minute 
> commit (e.g. to SDL backend source) will not break it. For trunk there 
> is no stable code to make the patch against.

That's a really bad solution, though. It is (a) fragile (very easy to screw up), and (b) makes it very difficult to create testing builds based on the latest master branch. Of course, this also holds true for the patch approach to a degree. But with that, at least some version of the required code is in the repository, even if it is in an inconvenient. And possibly outdated form.

So, we should really put all effort into the *real* solution:

> The real solution would be getting rid of the patch altogether and have 
> real backend code committed (inherited from from SDL backend in this 
> case), not patch.

Exactly, let's finally do that :) ! It shouldn't be too hard. Looking at the patch from the 1.2.0 branch, this is what needs to be done

1) Create a proper maemo backend derived from the SDL backend. With the new modularization stuff, this should be fairly straight forward. A matter of a couple hours, I think. Plus testing, though.

2) in order to deal with the "debian" dir stuff: Just put the maemo debian dir inside backends/platform/maemo. Then, the code that prepares the release archive can just copy that directory to a more appropriate, if that is even necessary. Much better than relying on a patch, IMHO.

3) The configure script changes have luckily shrunk to only one change: libdir is being twiddled with:
-libdir='${exec_prefix}/lib'
+libdir='${exec_prefix}/lib/scummvm'
and later
-               DEFINES="$DEFINES -DPLUGIN_DIRECTORY=\\\"$libdir/scummvm\\\""
+               DEFINES="$DEFINES -DPLUGIN_DIRECTORY=\\\"$libdir\\\""
To be honest, I forgot what that was about, could you remind me? It seems like a "do nothing" change, unless somebody wants to use the --libdir option. Well, in that case, just do the same thing as the WebOS port, that is:

--- a/configure
+++ b/configure
@@ -2973,7 +2973,7 @@ case $_backend in
                # Add ../plugins as a path so plugins can be found when running from a .PND.
                DEFINES="$DEFINES -DPLUGIN_DIRECTORY=\\\"../plugins\\\""
                ;;
-       webos)
+       maemo | webos)
                # The WebOS app wants the plugins in the "lib" directory
                # without a scummvm sub directory.
                DEFINES="$DEFINES -DPLUGIN_DIRECTORY=\\\"$libdir\\\""

4) This leaves a bunch of engine changes. Not sure how current these are. They mostly tweak engine controls. This *is* problematic, but on the other hand, it touches code that changes much less frequently. So we could keep it in a patch. Or bite the bullet and just commit that part, although with big "FIXME" comments added to each modification, and a brief explanation why it's there.

Maybe this could also be solved using the keymapper, though I am not sure how well that works these days... But it *is* a problem that affects many more ports, and solving this "the right way" should be a high priority for us. Sadly, it's also a not-so-fun project ... :/


> 
> As for future of Maemo port overall, I see the current SDL based backend 
> suitable only for Maemo < 5. It works on Maemo5 too but IMO this 
> approach should slowly die with Maemo4/OS2008. So maybe making current 
> patch into real backend code is a wasted time.

Unless you plan to drop support for Maemo < 5 right away, *and* also know for sure that you'll have the time to write a completely new backend from scratch, I'd say it's definitely worth to spend the couple hours necessary to turn the patch into a proper backend :).



Cheers,
Max



More information about the Scummvm-devel mailing list