[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-users] [PATCH] Compatability between eggs and chicken releases:

From: Alaric Snell-Pym
Subject: [Chicken-users] [PATCH] Compatability between eggs and chicken releases: a report on progress, and a patch!
Date: Tue, 11 Oct 2011 23:05:55 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20110617 Thunderbird/3.1.11

Hash: SHA1

As some of you may recall, some time ago I grumbled about the rather
hodgepodge state of eggs still running on older versions of chicken -
despite the likes of 4.5.0 being widely deployed by package managers. My
main fear is that prospective Chicken users will install chicken from
their local package manager, try and install eggs, and be presented with
errors, which won't do wonders for their faith in Chicken.

At the time, I proposed that people who make changes to the chicken core
and then document them should note "Added in version ..." to the
documentation near to new features, as appropriate, to make it easier
for developers to notice when they are using bleeding-edge features and
to decide if it's essential for their code; and that I run a clone of
salmonella on an old version of Chicken to assess the level of support
of old eggs.

After a bit of debate on IRC, we decided that I should go for 4.5.0 as
it's still widely packaged. I'm still trying to get my 4.5.0/NetBSD-i386
chicken chroot to actuall complete a salmonella run, as it keeps
segfaulting :-) However, Mario has pulled one off on Linux without any
trouble, so it may be a NetBSD issue:

It shows a lot of broken eggs, several of which can be attributed to the
sendfile egg, which is known to not work on 4.5.0; there's been
discussion on IRC about how to make it more backwards-compatible, which
I think is great news.

I will continue to press on with getting my salmonella setup going. I am
hoping that we will end up with a network of salmonellas producing
reports for different chicken versions on different platforms (requiring
some manual effort from salmonella farmers to install needed packages in
their chroots, or to mark eggs for skipping on their platform, to remove
spurious failures from the reports), and submitting their reports to a
central location where they can be merged, allowing developers of an
egg, or potential users of an egg, to quickly see what platforms it
currently works on.

However, there's an open question of how important particular
platform/chicken versions are. Should a developer see that their egg
won't work on 4.1.0/AIX-PowerPC, and that it'd be a lot of work to fix,
they may well be justified in saying "Well, if a 4.1.0/AIX user
complains, I'll ask them to help me to fix it" and leaving it at that.
But they might be more concerned about failures on 4.7.0/Linux-x86_64.

To help guide this decision, I have a proposed patch to chicken-install
(well, setup-download.scm, to be precise) which makes it send the
Chicken version and platform string to henrietta whenever it requests an
egg, so we can mine the logs and find out how important different
targets are. The existing code sends the Chicken version, but no more
than that, in the user-agent string, which is a start; but it would be
nice to know "software-type" (eg, linux) and "machine-type" (eg, x86-64)
as well.

It'll take a few years for this to become widespread enough to be
statistically useful, of course, but the sooner we start, the better.

The user-agent strings it generates look like:

chicken-install linux x86-64

Rather than the previous:

chicken-install 4.5.0

I hope nobody considers that an unacceptable violation of user's
privacy... The user-agent already has the chicken version currently
anyway, which is a start. As I forgot to set up log rotation, the
henrietta on kitten-technologies has 1.7GiB of entries, and yields the
following statistics:

Disturbingly, my biggest customer is a spider :-(

But it looks like the league table of chicken versions used to install
eggs is:

4.6.0 - 2338
4.5.0 - 1961
4.7.0 - 1336
4.2.0 - 1033
4.3.0 - 687
4.4.0 - 657
4.0.0 - 627
4.6.3 - 525
4.6.5 - 517
4.6.0rc1 - 335

If anything, it looks like 4.2.0 is an important version to think about,
too! The logfile goes back to about April 2009, though - I should
probably work out the user agents by month to see what the trends are
and to not be swayed by the state of affairs a year ago.


- --
Alaric Snell-Pym
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla -


Attachment: 0001-Make-chicken-install-submit-Chicken-version-machine-.patch
Description: Text Data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]