Bug#609047: update on CCL packaging status (resent)

2013-09-12 Thread Faré
Dear Faheem,

>>> But just to play devil's advocate, it is possible to have multiple
>>> versions of ASDF installed simultaneously, right?
>>
>> Depends what you mean by "installed", but I'll take it that you mean (a)
>> each installed implementation's precompiled asdf FASL. (b) the source-only
>> code installation (NO precompiled FASL) from the cl-asdf package, to be
>> compiled in each user's personal FASL cache with whatever implementation he
>> uses (if any).
>
>> These are different enough things that I wouldn't call them "multiple
>> versions of ASDF installed simultaneously". And the magic of ASDF 3 is that
>> you, the debian packager, need not do any magic about it anymore, like in
>> the bad old days of ASDF 1.
>
> Sorry if I was unclear. I meant multiple cl-asdf Debian packages installed
> simultaneously, corresponding to different ASDF versions. I.e. option (b).
>
You don't get it. The current, working, solution is to have *both*
(a) one precompiled copy of ASDF with *each* implementation, and
(b) optionally, *one* installed source copy of ASDF from package cl-asdf.

This is a WORKING solution. Please don't change that until and unless
you can propose another solution that actually works —
and you understand enough of the problem that you can argue why it works,
and why it assuages all existing concerns.


> Here I am imagining a world where CL implementations don't have their own
> private copy of ASDF.
>
Is it even possible?
We *need* a precompiled ASDF in each implementation's binary package, anyway.
And each implementation's upstream source package comes with an approved and
tested version of ASDF known to work with it.

Is what you really mean is that you believe you can improve on things by
introducing a tight coupling between implementations and asdf, by replacing
each implementation's source copy of asdf by the version from cl-asdf,
at package build time? This sounds awfully complex, for precious little gain,
and great problems introduced by this new coupling.

> If I understand you correctly, (a) corresponds the case where the
> implementations do have their private implementation.
>
Wrong. It's not an either/or. It's an and.
Each implementation MUST provide a precompiled asdf
for use with (require ...) and this CANNOT be done via package cl-asdf,
only via each implementation's binary package.

>>> And is it common (or is there even an actual known case) of an
>>> implementation depending on a patched ASDF? Or even being very
>>> sensitive to the particular ASDF version?
>>>
>> It is common for an implementation to depend on a recent enough ASDF,
>> whether patched or not. The ASDF maintainer (previously, me) is
>> usually quick enough to merge patches upstream, though ASDF release
>> can lag a month (or sometimes two) after such patch merge.
>
> I've read the second sentence several times, but I don't get it. "Merge
> patches upstream" implies there is a downstream. Are there multiple forks of
> ASDF? Do the implementations develop/modify ASDF themselves? I got the
> impression they just take some released version of ASDF and stick it in,
> often only after been told by an ASDF maintainer.
>
Each implementation's copy of ASDF is conceptually a fork,
and used to actually be, in the dark days of ASDF 1;
in those days, there wasn't even a good common versioning system,
and each implementation had patches over
some unspecified CVS release of the official ASDF.
Since the days of ASDF 2, the official ASDF maintainers (i.e. me)
has been responsive enough about merging implementation-specific patches
that implementations don't bother actively forking ASDF,
but instead send their patches that get immediately integrated (or
improved upon).
Therefore, most implementations at most time include
some stable release of ASDF (e.g. 3.0.2);
at times, however, some implementations eager to release
despite an incompatibility discovered in the upstream ASDF
have shipped with a development version of ASDF
(e.g. hypothetically, 3.0.2.5, still from the official version control),
or worse, a locally patched version of ASDF
(e.g. hypothetically, 3.0.2.2 plus some patch).


>> Are you packaging from trunk or from the latest CCL release?
>> I personally prefer trunk, but I can totally see a case for the release
>> branch.
>
> The latest CCL release. I don't think Debian cares, but it seems the
> more natural thing to do. If it ever actually hits Debian, and enough
> people want trunk instead, I could switch to trunk.
>
I don't have a strong opinion.

>> Actually, this is an issue since CCL 1.6, that will hopefully be fixed in
>> trunk soon — see http://trac.clozure.com/ccl/ticket/
>
>> So, please make sure you pre-compile ASDF as part of your installation of
>> the CCL.
>
> Ok, but I'll need instructions on how to do this.
>
cd $CCL_DEFAULT_DIRECTORY
./lx86cl64 --no-init --eval '(progn (compile-file "tools/asdf") (quit))'

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Laziness

Bug#609047: update on CCL packaging status (resent)

2013-09-11 Thread Faheem Mitha


On Wed, 11 Sep 2013, Faré wrote:


On Wed, Sep 11, 2013 at 2:03 PM, Faheem Mitha  wrote:


But just to play devil's advocate, it is possible to have multiple 
versions of ASDF installed simultaneously, right?


Depends what you mean by "installed", but I'll take it that you mean (a) 
each installed implementation's precompiled asdf FASL. (b) the 
source-only code installation (NO precompiled FASL) from the cl-asdf 
package, to be compiled in each user's personal FASL cache with whatever 
implementation he uses (if any).


These are different enough things that I wouldn't call them "multiple 
versions of ASDF installed simultaneously". And the magic of ASDF 3 is 
that you, the debian packager, need not do any magic about it anymore, 
like in the bad old days of ASDF 1.


Sorry if I was unclear. I meant multiple cl-asdf Debian packages installed 
simultaneously, corresponding to different ASDF versions. I.e. option (b).


Here I am imagining a world where CL implementations don't have their own 
private copy of ASDF.


If I understand you correctly, (a) corresponds the case where the 
implementations do have their private implementation.



And is it common (or is there even an actual known case) of an
implementation depending on a patched ASDF? Or even being very
sensitive to the particular ASDF version?


It is common for an implementation to depend on a recent enough ASDF,
whether patched or not. The ASDF maintainer (previously, me) is
usually quick enough to merge patches upstream, though ASDF release
can lag a month (or sometimes two) after such patch merge.


I've read the second sentence several times, but I don't get it. "Merge 
patches upstream" implies there is a downstream. Are there multiple forks 
of ASDF? Do the implementations develop/modify ASDF themselves? I got the 
impression they just take some released version of ASDF and stick it in, 
often only after been told by an ASDF maintainer.


Ok. I don't personally care, but if the ftp masters object (assuming 
that the CCL package actually gets to the point of being reviewed by 
them), then is it Ok if I point them to you?



Of course.


Great, thanks.

BTW, the current status as you can see on the 609047 bug thread, is 
that the ccl-ffigen package, which is used to build the interface 
databases for CCL, was rejected by the ftpmasters as it was a copy of 
GCC, or something. This happened in April, but I only just got around 
to writing a response. You can see the email in the bug thread.


I saw that. As a fallback, could you "just" consider the bootstrapped 
.cdb files as "source"? Or is the issue due to your trying to build more 
.cdb files than CCL usually comes with?


I'm like 100% sure Debian would not go for shipping the .cdb files from 
upstream, and I'd have to agree with them there. Anyway, generating the 
.cdb files is not a problem now, though it was ridiculously hard to get 
working correctly initially. No, the main issue is just that the 
ftpmasters don't like copies of libraries (or just software generally) 
that is already in Debian. And they considered ffigen to contain such a 
copy of gcc, though the outdated 4.0. In his email, Luca made the 
ridiculous suggestion that I should update ffigen for versions of gcc 
currently in Debian.


If I get around to updating the package to the current CCL, would you 
be willing to test it?


Most gladly. Are you packaging from trunk or from the latest CCL 
release? I personally prefer trunk, but I can totally see a case for the 
release branch.


The latest CCL release. I don't think Debian cares, but it seems the
more natural thing to do. If it ever actually hits Debian, and enough
people want trunk instead, I could switch to trunk.

PS: it looks like current CCL trunk fails to pre-compile the asdf.lisp 
it packages. Unless you wait for them to fix that, you may want to do 
it yourself.


Any version of CCL that I package for Debian will be the release. So I 
guess this is not an issue.


Actually, this is an issue since CCL 1.6, that will hopefully be fixed 
in trunk soon — see http://trac.clozure.com/ccl/ticket/


So, please make sure you pre-compile ASDF as part of your installation 
of the CCL.


Ok, but I'll need instructions on how to do this.
 Regards, Faheem

Bug#609047: update on CCL packaging status (resent)

2013-09-11 Thread Faré
On Wed, Sep 11, 2013 at 2:03 PM, Faheem Mitha  wrote:
> Sorry to put you to the trouble of having to explain this again. I'm
> sure you have had to do it before.
>
No problem.

>> In the bad old days of ASDF 1, few implementations shipped with
>> ASDF, and those that did usually sported an obsolete
>> version. Special packaging tricks for ASDF were not just useful, but
>> necessary. These days are happily long gone.
>
> Ok. I don't really understand the details, and I don't have a problem
> with an internal ASDF.
>
> But just to play devil's advocate, it is possible to have multiple
> versions of ASDF installed simultaneously, right?
>
Depends what you mean by "installed", but I'll take it that you mean
(a) each installed implementation's precompiled asdf FASL.
(b) the source-only code installation (NO precompiled FASL) from the
cl-asdf package, to be compiled in each user's personal FASL cache
with whatever implementation he uses (if any).

These are different enough things that I wouldn't call them "multiple
versions of ASDF installed simultaneously". And the magic of ASDF 3 is
that you, the debian packager, need not do any magic about it anymore,
like in the bad old days of ASDF 1.

> And is it common (or is there even an actual known case) of an
> implementation depending on a patched ASDF? Or even being very
> sensitive to the particular ASDF version?
>
It is common for an implementation to depend on a recent enough ASDF,
whether patched or not. The ASDF maintainer (previously, me) is
usually quick enough to merge patches upstream, though ASDF release
can lag a month (or sometimes two) after such patch merge.

>> I don't see why not. ASDF needn't count as a library. Plus it's
>> relatively small (depending on the implementation, the order of
>> magnitude of the installed copy is 1MB), and copied only once per
>> implementation, of which there are but a handful (in debian: sbcl,
>> clisp, ecl, now ccl, formerly gcl).
>
> Ok. I don't personally care, but if the ftp masters object (assuming
> that the CCL package actually gets to the point of being reviewed by
> them), then is it Ok if I point them to you?
>
Of course.

> BTW, the current status as you can see on the 609047 bug thread, is
> that the ccl-ffigen package, which is used to build the interface
> databases for CCL, was rejected by the ftpmasters as it was a copy of
> GCC, or something. This happened in April, but I only just got around
> to writing a response. You can see the email in the bug thread.
>
I saw that. As a fallback, could you "just" consider the bootstrapped
.cdb files as "source"? Or is the issue due to your trying to build
more .cdb files than CCL usually comes with?

> If I get around to updating the package to the current CCL, would you
> be willing to test it?
>
Most gladly. Are you packaging from trunk or from the latest CCL
release? I personally prefer trunk, but I can totally see a case for
the release branch.

>> PS: it looks like current CCL trunk fails to pre-compile the
>> asdf.lisp it packages. Unless you wait for them to fix that, you may
>> want to do it yourself.
>
> Any version of CCL that I package for Debian will be the release. So I
> guess this is not an issue.
>
Actually, this is an issue since CCL 1.6, that will hopefully be fixed
in trunk soon — see http://trac.clozure.com/ccl/ticket/

So, please make sure you pre-compile ASDF as part of your installation
of the CCL.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
It has been my observation that most people get ahead during the time
that others waste. — Henry Ford


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#609047: update on CCL packaging status (resent)

2013-09-11 Thread Faheem Mitha


Hi Faré,

Sorry to put you to the trouble of having to explain this again. I'm
sure you have had to do it before.

On Wed, 11 Sep 2013, Faré wrote:


Can you elaborate on the reasons why looking to an external ASDF is
not a good idea? I assume that having multiple versions of ASDF in
the archive is Ok. This is done for lots of other packages.



For the horror of ASDF1 days and its upgrade strategy, see
http://fare.livejournal.com/149264.html



The issue is: when an implementation comes with an updated version
of ASDF that it depends on, then the packager of that implementation
must update the ASDF package in debian, and make sure it works with
all other packaged implementations. Oops. Now you have an expensive
coordination problem. And if any implementation depends on patches
that didn't make it to an ASDF release yet, you're really screwed.



Also, now that ASDF 3 includes its own mechanism for self-upgrade
and avoiding self-downgrade, and will automatically look at the
debian-provided version if available (and unless told not to), you
don't gain much, if at all, by doing these complex packaging tricks.
Any time that your packaging tricks would have helped, ASDF 3 will
already bring the same benefits at the tiny cost of loading an extra
FASL for the newer ASDF. And then there are the times when the
tricks come back to bite you in the ass, so let just ASDF 3 sort it
out.



In the bad old days of ASDF 1, few implementations shipped with
ASDF, and those that did usually sported an obsolete
version. Special packaging tricks for ASDF were not just useful, but
necessary. These days are happily long gone.


Ok. I don't really understand the details, and I don't have a problem
with an internal ASDF.

But just to play devil's advocate, it is possible to have multiple
versions of ASDF installed simultaneously, right?

And is it common (or is there even an actual known case) of an
implementation depending on a patched ASDF? Or even being very
sensitive to the particular ASDF version?


In any case, the ftp masters will need to be ok with this.



I don't see why not. ASDF needn't count as a library. Plus it's
relatively small (depending on the implementation, the order of
magnitude of the installed copy is 1MB), and copied only once per
implementation, of which there are but a handful (in debian: sbcl,
clisp, ecl, now ccl, formerly gcl).


Ok. I don't personally care, but if the ftp masters object (assuming
that the CCL package actually gets to the point of being reviewed by
them), then is it Ok if I point them to you?

BTW, the current status as you can see on the 609047 bug thread, is
that the ccl-ffigen package, which is used to build the interface
databases for CCL, was rejected by the ftpmasters as it was a copy of
GCC, or something. This happened in April, but I only just got around
to writing a response. You can see the email in the bug thread.

If I get around to updating the package to the current CCL, would you
be willing to test it?


The only debian-packaged common lisp that doesn't work well with
ASDF 3 is GCL, but then again, I believe GCL hasn't been re-packaged
in Debian in quite some time. And it's not like it worked that great
with ASDF 1, either. Also, it requires an old version of libgmp, if
I understand correctly, and sorely needs some re-packaging.



PS: it looks like current CCL trunk fails to pre-compile the
asdf.lisp it packages. Unless you wait for them to fix that, you may
want to do it yourself.


Any version of CCL that I package for Debian will be the release. So I
guess this is not an issue.

   Regards, Faheem

Bug#609047: update on CCL packaging status (resent)

2013-09-11 Thread Faré
>>> : Faheem Mitha
>> Please let CCL come with its own ASDF 3, or maybe ASDF 2, if you're
>> packaging the CCL release rather than trunk.
>
>> ASDF 3 is a big boy, and will upgrade itself to the version from debian,
>> if available, and will know how NOT to downgrade itself, thank you.
>
>
> Hi Faré.
>
> Sorry, I did not mean to distress you.
>
> I'm ccing Christoph and Peter in case they have comments.
>
> My reasons for suggesting this is that it is in line with Debian policy.that
> says you should not have local copies of libraries already in the Debian
> archives.
>
This policy makes a lot of sense for libraries,
but does not make sense for ASDF, which is more of a library-loader,
and in this case, is tied to the implementation.

> Can you elaborate on the reasons why looking to an external ASDF is not a
> good idea? I assume that having multiple versions of ASDF in the archive is
> Ok. This is done for lots of other packages.
>
For the horror of ASDF1 days and its upgrade strategy, see
http://fare.livejournal.com/149264.html

The issue is: when an implementation comes with an updated version of
ASDF that it depends on, then the packager of that implementation must
update the ASDF package in debian, and make sure it works with all
other packaged implementations. Oops. Now you have an expensive
coordination problem. And if any implementation depends on patches
that didn't make it to an ASDF release yet, you're really screwed.

Also, now that ASDF 3 includes its own mechanism for self-upgrade and
avoiding self-downgrade, and will automatically look at the
debian-provided version if available (and unless told not to), you
don't gain much, if at all, by doing these complex packaging tricks.
Any time that your packaging tricks would have helped, ASDF 3 will
already bring the same benefits at the tiny cost of loading an extra
FASL for the newer ASDF. And then there are the times when the tricks
come back to bite you in the ass, so let just ASDF 3 sort it out.

In the bad old days of ASDF 1, few implementations shipped with ASDF,
and those that did usually sported an obsolete version. Special
packaging tricks for ASDF were not just useful, but necessary. These
days are happily long gone.

> In any case, the ftp masters will need to be ok with this.
>
I don't see why not. ASDF needn't count as a library. Plus it's
relatively small (depending on the implementation, the order of
magnitude of the installed copy is 1MB), and copied only once per
implementation, of which there are but a handful (in debian: sbcl,
clisp, ecl, now ccl, formerly gcl).

The only debian-packaged common lisp that doesn't work well with ASDF
3 is GCL, but then again, I believe GCL hasn't been re-packaged in
Debian in quite some time. And it's not like it worked that great with
ASDF 1, either. Also, it requires an old version of libgmp, if I
understand correctly, and sorely needs some re-packaging.

PS: it looks like current CCL trunk fails to pre-compile the asdf.lisp
it packages. Unless you wait for them to fix that, you may want to do
it yourself.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
If a vegetarian eats vegetables, what does a humanitarian eat? — Mark Twain


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#609047: update on CCL packaging status (resent)

2013-09-11 Thread Faheem Mitha


On Wed, 11 Sep 2013, Faré wrote:


: Faheem Mitha


The main outstanding thing that (probably) should be fixed before the 
CCL package itself is ready to be submitted to NEW is to remove the 
local copy of ASDF from CCL and configure CCL to look for the Debian 
installation of ASDF. I think at least Christoph Egger suggested this, 
and it is clearly a good idea.


That's a totally crazy thing to do, of the kind of horror that was 
necessary in the days of ASDF 1. Please don't do it. If Christoph 
suggested it, he might have been traumatized in those days.


Please let CCL come with its own ASDF 3, or maybe ASDF 2, if you're 
packaging the CCL release rather than trunk.


ASDF 3 is a big boy, and will upgrade itself to the version from debian, 
if available, and will know how NOT to downgrade itself, thank you.


Hi Faré.

Sorry, I did not mean to distress you.

I'm ccing Christoph and Peter in case they have comments.

My reasons for suggesting this is that it is in line with Debian 
policy.that says you should not have local copies of libraries already in 
the Debian archives.


Yes, I'd be packaging the release.

Can you elaborate on the reasons why looking to an external ASDF is not a 
good idea? I assume that having multiple versions of ASDF in the archive 
is Ok. This is done for lots of other packages.


In any case, the ftp masters will need to be ok with this.

Christoph/Peter/anybody, comments?
  Regards, Faheem

Bug#609047: update on CCL packaging status (resent)

2013-09-10 Thread Faré
>: Faheem Mitha
> The main outstanding thing that (probably) should be fixed before the CCL
> package itself is ready to be submitted to NEW is to remove the local copy
> of ASDF from CCL and configure CCL to look for the Debian installation of
> ASDF. I think at least Christoph Egger suggested this, and it is clearly a
> good idea.
>
That's a totally crazy thing to do, of the kind of horror that was
necessary in the days of ASDF 1. Please don't do it. If Christoph
suggested it, he might have been traumatized in those days.

Please let CCL come with its own ASDF 3, or maybe ASDF 2, if you're
packaging the CCL release rather than trunk.

ASDF 3 is a big boy, and will upgrade itself to the version from
debian, if available, and will know how NOT to downgrade itself, thank
you.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
In a free market there are no market failures, only market opportunities.
In a bureaucracy there is no possible success, only a perpetual
ever-worsening crisis.


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#609047: update on CCL packaging status (resent)

2013-09-10 Thread Faheem Mitha


retitle 609047 ITP: ccl -- Clozure CL
owner 609047 !
thanks

[Please CC responses to the bug report at 609...@bugs.debian.org]

Hi,

The current state of this package is reflected in the repositories 
https://bitbucket.org/faheem/ccl-debian and 
https://bitbucket.org/faheem/ccl-ffigen-debian


The packaging is essentially done. Earlier this year Julien Danjou submitted 
ccl-ffigen to NEW, (ccl-ffigen is a build dependency on ccl) and it got bounced 
by someone on the FTP masters team with the following message:



Date: Tue, 09 Apr 2013 21:00:37 +
From: Luca Falavigna 
To: Debian Common Lisp Team , 
Faheem Mitha , a...@debian.org

Subject: ccl-ffigen_1.2-1_amd64.changes REJECTED

Hi,

sorry, but we do not think introducing a convenience copy of gcc
is a good thing. Also, the 4.0 sources contain files licensed under
GFDL with invariant sections, which are not suitable for main.

Please try to build your code using existing gcc versions in the archive
implementing Built-Using field.

Cheers,
Luca

===

Please feel free to respond to this email if you don't understand why
your files were rejected, or if you upload new files which address our
concerns.


I think the writer misunderstood the point of the package, which is to build 
interface headers for ccl, and is pretty much hardwired to 4.0. Getting it to 
work for more recent versions of GCC is an extremely non-trivial task that I 
doubt anyone but the author of that code would attempt.


I haven't had time to follow up on this, and I expect Julien is similarly busy. 
So there matters rest for the moment.


The main outstanding thing that (probably) should be fixed before the CCL 
package itself is ready to be submitted to NEW is to remove the local copy of 
ASDF from CCL and configure CCL to look for the Debian installation of ASDF. I 
think at least Christoph Egger suggested this, and it is clearly a good idea.


Feedback/comments welcome as always.
   Regards, Faheem


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org