[crossfire] (Automated) Client Snapshot Releases

Lauwenmark Akkendrittae crossfire at ailesse.com
Sun Nov 30 05:06:10 CST 2008


Le samedi 29 novembre 2008, Kevin R. Bulgrien a écrit :
> Non-Linux builds are always hazards.
>
Not at all. They are only difficult because they require availability of each 
platform. Or, to formulate it differently: it is hard to build a 
Win32/FreeBSD/Solaris/OSX package without a working installation of 
Win32/FreeBSD/Solaris/OSX.

> AFAIK, releasing has little to do with breakage.
>
What I tried to explain was that it was not a good idea to make a release when 
you don't have the guarantee that it works at least good enough for common, 
daily use.

That's also why the ailesse daily builds were never advertised as "releases", 
but as "builds" - they don't meet the necessary quality checks of a stable 
release. Their only purpose is to allow non-programmers to test them and 
provide feedback. That's also why the Gridarta page on the Crossfire website 
says "No release yet", despite daily builds having been available for months.

In short: "experimental build != release" by far.

> The more serious breakage is due to incremental development 
> and a failure to release in a timely manner.  Frankly, I see this as a
> lesser issue than the failure to make current development available
>
The current development can easily be made available through a system of daily 
builds, again in the same fashion as Gridarta or JXClient, with the caveat 
that shipping packages for something else than Linux/x86(_64) may be made 
difficult due to lack of a proper testing infrastructure.

> Further, automated releases were only one possibility mentioned.  The other
> was for periodic release.  From what has been said in the past, it seems
> releases are not done because it is difficult.  The script makes it not
> difficult.
>
Frankly, I don't get what would make releases so difficult, from the strict 
package creation side of things. As I've said, generating proper packages 
from the SVN is not the difficult part of making a release, provided you have 
the matching environment available (Windows to create Win32 packages, OSX for 
the Mac ones, etc).

> > Given the time it would have taken to properly fix those issues - and I'm
> > actually not sure they could have been - and also given that another
> > client was already available as a daily package, daily packaging of the C
> > clients has been abandoned.
>
> Not everyone is satisfied with the current state of affairs, and one of
> these is trying to contribute something positive.
>
I simply exposed why the C client was not part of the public daily packaging 
process anymore. My explanation had nothing to do with being satisfied or not 
with a morale situation. 

> If there is something new released, and if someone cares about non-x86,
> they can deal with and contribute to build and packaging.
>
Not everybody is a developer, or is willing to invest time in learning the 
necessary techniques.

> If no one cares, 
> then... what good reason is there to care about such an ideological issue?
>
Just because nobody steps in to support a given environment doesn't mean 
nobody would be interested to see the game available on those.

Just as a side note, a reminder from the Wiki front page:

"Crossfire works on: 
- Linux
- Windows
- All *BSD‘s
- Mac OSX (Server and clients compile, in testing)"

So, if we advertise the game as supporting those platforms, then I consider it 
is our duty to ensure that the releases support them.
Note again that I'm considering "releases" here, not "builds".

> Besides, people should be able care less whether some niche group happens
> to like a different x86 client while the rest of the world explores the
> cross-platform nirvana demonstrated by the other client.
>
I don't think I ever mentioned any kind of "cross-platform nirvana" - JXClient 
has its own share of issues, some being related to portability. I don't think 
I denied you the right of enjoying another client, either.

My points were that IMHO:
(1) Package creation on an available platform was not a problem;
(2) Package creation on a not available platform was a problem;
(3) C code daily packages were not made public on ailesse due to (2).

Given that your scripting solution didn't seem to adress (2), I found 
important to underline the issues I encountered with the daily package 
generation process on ailesse.

Now, you can consider those issues as irrelevant - I've no problem with that. 
But then, it means that the new scripts will not make my task as a packager 
any simpler, making me wondering what purpose they'd then be supposed to 
fullfill.

> > The fact that the 2.x server itself is still a highly moving target, and
> > thus that a release would be very prematurate. To me, it seems that a
> > release, unless marked specifically as "alpha/beta", needs to be
> > relatively stable and finished.
>
> Firstly, this ignores the fact that the "2.x" client is still branch
> compatible many months after 2.x was created, and it has many enhancements
> that should be available to branch players.
>
Then make a 1.12 branch out of that code, and release it under a 1.12 version, 
with the added benefit of deprecating the client 1.11 branch, ending its 
support.

My comment was just about releasing the client code under the "2.x" code, and 
using trunk as the codebase instead of first making a stable branch out of 
it.

> In summary, though the arguments presented make it sound reasonable to
> dispense with the idea unattended builds, they do not seem to provide a
> reason to continue to leave a perfectly good client with improvements
> unreleased.
>
I've never commented against making a release of the current C client code. 
I've only commented against doing it as a "2.x client".

> The script is presented primarily because when I have lobbied for release
> previously, one of the reasons given was that it was so difficult to make
> a release. I aimed to remove the possibility of being given that reason 
> again.
>
Let's be clear on this: I do agree that it is difficult to make a proper 
release. But indeed, we obviously disagree on where the difficulty lies. You 
also seem to confuse the notions of "release" and "periodic snapshots". To 
me, both are quite different, and don't have the same quality requirements.

> At this point, to my knowledge, the branch clients have the same 
> instabilities as what is on trunk, but offer fewer options to players.
>
Then why not make a new branch release by taking a snapshot of the current 
trunk content, and number it 1.12 ? To that, I indeed agree.

> I did a lot of work on that client.  I'd like to see it getting put out
> there for people to use.  I think that's easy to understand, and do not
> see why it should be so quickly argued against.
>
No, I'm basically questioning the usefulness of the proposed scripts. In which 
way would they make my life as a packager easier ? So far, I'm unsure of the 
answer, so yes, I'm rather cold to the idea.

I'm also arguing against releasing anything under the 2.x version mark at this 
stage. Quoting myself again, "it seems that a release, unless marked 
specifically as "alpha/beta", needs to be relatively stable and finished.". 
Is 2.O stable and finished ? no - thus, don't make a 2.0 release. But again, 
I see nothing wrong in releasing the client as a member of the 1.x family, 
since this is what we have today, and that it works pretty well with the 
current servers in use.

-- 

Lauwenmark.
------------
"Drive defensively: buy a tank."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://mailman.metalforge.org/pipermail/crossfire/attachments/20081130/cfa50f93/attachment.pgp 


More information about the crossfire mailing list