Re: Ruby changes for Wheezy

2011-03-28 Thread Lucas Nussbaum
On 28/03/11 at 14:08 +0530, Deepak Tripathi wrote:
> At Fri, 4 Mar 2011 09:59:47 +0100,
> Lucas Nussbaum wrote:
> >
> Lucas/Antonio,
> Thanks for all your good work, going through all mail thread and wiki, I have 
> couple of questions.
> 
> 1) All existing packages will be renamed or only new packages will be updated.

The goal is to have all binary packages renamed by the wheezy release.

Since we will have only one binary package per source package, and our
infrastructure generally deals better when the source package name is
the same as the binary package name, we will also upload new source
packages.

> 2) After renaming, package will be in experimental or unstable.

I think that we can go for unstable now. The breakages should be
minimal.

Lucas


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110328091250.ga21...@xanadu.blop.info



Re: Ruby changes for Wheezy

2011-03-28 Thread Deepak Tripathi
At Fri, 4 Mar 2011 09:59:47 +0100,
Lucas Nussbaum wrote:
>
Lucas/Antonio,
Thanks for all your good work, going through all mail thread and wiki, I have 
couple of questions.

1) All existing packages will be renamed or only new packages will be updated.
2) After renaming, package will be in experimental or unstable.


--
Thanks
Deepak

> http://wiki.debian.org/Teams/Ruby/RubyInWheezy
> Don't hesitate to ask for details if needed.
>
> - Lucas
>
>
> --
> To UNSUBSCRIBE, email to debian-ruby-requ...@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
> Archive: http://lists.debian.org/20110304085947.ga4...@xanadu.blop.info
>


pgpZ9jUnNSUSU.pgp
Description: PGP signature


Re: Ruby changes for Wheezy

2011-03-10 Thread Raphael Hertzog
On Thu, 10 Mar 2011, Lucas Nussbaum wrote:
> What is the correct way to override what dpkg-shlibdeps detects?

Either you replace the dependency associated to the interpreters' libraries
by providing debian/shlibs.local (or any other file that you indicate with
-L) or you tell dpkg-shlibdeps to put the dependencies for the .so files
of interest in another variable like ${shlibs:Suggest} (mixing -d and -e
options as appropriate on the command line).

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Follow my Debian News ▶ http://RaphaelHertzog.com (English)
  ▶ http://RaphaelHertzog.fr (Français)


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110310134227.ga2...@rivendell.home.ouaza.com



Re: Ruby changes for Wheezy

2011-03-10 Thread Lucas Nussbaum
On 10/03/11 at 12:00 +, Sune Vuorela wrote:
> On 2011-03-10, Lucas Nussbaum  wrote:
> > On 09/03/11 at 22:27 +, Ian Jackson wrote:
> >> Lucas Nussbaum writes ("Ruby changes for Wheezy"):
> >> > We are planning a rather large set of changes in Ruby packaging for
> >> > Debian wheezy, and would appreciate some external feedback on our
> >> > proposals.
> >> > 
> >> > Our plans are described on
> >> > http://wiki.debian.org/Teams/Ruby/RubyInWheezy
> >> > Don't hesitate to ask for details if needed.
> >> 
> >> I think your families of packages
> >>   ruby1.8-foo
> >>   ruby1.9.1-foo
> >>   ruby-foo-common
> >> etc. are overcomplicated.  Can you not find a way to make only one
> >> package for each extension, each containing an appropriate collection
> >> of .so files etc. ?
> >
> > what we could do, indeed, is ship all the .so files in the same binary
> > package, and then hack the Depends field to have:
> > ruby1.8 | ruby-interpreter
> >
> > What is the correct way to override what dpkg-shlibdeps detects?
> 
> you can override what dpkg-shlibdeps detect, but it sounds like you want
> to write your own shlibs/symbol files that tells 
> ruby1.8 | ruby-interpreter for all involved libraries ?
> 
> The last part of shlibs files is a free text file that is passed
> verbatim into the depends file.

yes, but I also need to remove the part that says:
libruby1.8, libruby1.9.1, librubinius, libjruby

- Lucas


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110310121516.ga19...@xanadu.blop.info



Re: Ruby changes for Wheezy

2011-03-10 Thread Sune Vuorela
On 2011-03-10, Lucas Nussbaum  wrote:
> On 09/03/11 at 22:27 +, Ian Jackson wrote:
>> Lucas Nussbaum writes ("Ruby changes for Wheezy"):
>> > We are planning a rather large set of changes in Ruby packaging for
>> > Debian wheezy, and would appreciate some external feedback on our
>> > proposals.
>> > 
>> > Our plans are described on
>> > http://wiki.debian.org/Teams/Ruby/RubyInWheezy
>> > Don't hesitate to ask for details if needed.
>> 
>> I think your families of packages
>>   ruby1.8-foo
>>   ruby1.9.1-foo
>>   ruby-foo-common
>> etc. are overcomplicated.  Can you not find a way to make only one
>> package for each extension, each containing an appropriate collection
>> of .so files etc. ?
>
> what we could do, indeed, is ship all the .so files in the same binary
> package, and then hack the Depends field to have:
> ruby1.8 | ruby-interpreter
>
> What is the correct way to override what dpkg-shlibdeps detects?

you can override what dpkg-shlibdeps detect, but it sounds like you want
to write your own shlibs/symbol files that tells 
ruby1.8 | ruby-interpreter for all involved libraries ?

The last part of shlibs files is a free text file that is passed
verbatim into the depends file.

/Sune


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/slrninhfb1.rvp.nos...@sshway.ssh.pusling.com



Re: Ruby changes for Wheezy

2011-03-10 Thread Lucas Nussbaum
On 09/03/11 at 22:27 +, Ian Jackson wrote:
> Lucas Nussbaum writes ("Ruby changes for Wheezy"):
> > We are planning a rather large set of changes in Ruby packaging for
> > Debian wheezy, and would appreciate some external feedback on our
> > proposals.
> > 
> > Our plans are described on
> > http://wiki.debian.org/Teams/Ruby/RubyInWheezy
> > Don't hesitate to ask for details if needed.
> 
> I think your families of packages
>   ruby1.8-foo
>   ruby1.9.1-foo
>   ruby-foo-common
> etc. are overcomplicated.  Can you not find a way to make only one
> package for each extension, each containing an appropriate collection
> of .so files etc. ?

what we could do, indeed, is ship all the .so files in the same binary
package, and then hack the Depends field to have:
ruby1.8 | ruby-interpreter

What is the correct way to override what dpkg-shlibdeps detects?

- Lucas


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110310104747.ga16...@xanadu.blop.info



Re: Ruby changes for Wheezy

2011-03-09 Thread Ian Jackson
Lucas Nussbaum writes ("Ruby changes for Wheezy"):
> We are planning a rather large set of changes in Ruby packaging for
> Debian wheezy, and would appreciate some external feedback on our
> proposals.
> 
> Our plans are described on
> http://wiki.debian.org/Teams/Ruby/RubyInWheezy
> Don't hesitate to ask for details if needed.

I think your families of packages
  ruby1.8-foo
  ruby1.9.1-foo
  ruby-foo-common
etc. are overcomplicated.  Can you not find a way to make only one
package for each extension, each containing an appropriate collection
of .so files etc. ?

Ian.


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/19831.65212.29089.76...@chiark.greenend.org.uk



Re: Ruby changes for Wheezy

2011-03-09 Thread Raphael Hertzog
On Wed, 09 Mar 2011, Piotr Ożarowski wrote:
> [Josselin Mouette, 2011-03-06]
> > You might “like” Breaks, but this:
> > Depends: python
> > Breaks: python (>= 2.8), python (<< 2.5)
> > has the same semantics as:
> > Depends: python (>= 2.5), python (<< 2.8)
> 
> Yes it does; if you will not add ${python:Breaks} in debian/control,
> that's what dh_python2 will generate actually.

Having a different behaviour depending on whether a variable is listed in
a dependency or not does not look like good design to me.

> Packages with public modules do not really care about default Python
> version usually so why should they depend on python package¹?
>
> [¹] if package ships .py files, there's a dependency on python package
> due to pycompile/pyclean scripts, but if package is providing .so files
> only, there's no need for "python" in Depends

This might be true but it smells like a useless optimization at the cost
of abusing the Breaks field. First of because you use it like "IsBrokenBy"
and then because Breaks is usually used to force the upgrade of the broken
package to a non-broken version. But you're not using it that way and I'm
not sure how well APT will cope with this.

> > What is the point of doing that?
> 
> Breaks will warn user if an upgrade of python can break some scripts with
> /usr/bin/python in shebang, but python-foo packages can still be usable so
> I prefer Breaks (because it's easier to override).

I really don't understand your point. If the default python is not
supported by python-foo, then it won't be coinstallable whether you're
using Depends or Breaks...

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Follow my Debian News ▶ http://RaphaelHertzog.com (English)
  ▶ http://RaphaelHertzog.fr (Français)


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110309221828.gb27...@rivendell.home.ouaza.com



Re: Ruby changes for Wheezy

2011-03-09 Thread Piotr Ożarowski
[Josselin Mouette, 2011-03-06]
> Le samedi 05 mars 2011 à 00:22 +0100, Piotr Ożarowski a écrit : 
> > > Breaks: python (>= 2.8), python (<< 2.5)
> > 
> > yeah, that's to avoid bug reports when someone will try to use this
> > package with (default) python 2.4 or python 2.8 (which will NEVER be
> > released, BTW). dh_python2 will create similar dependencies to those
> > generated by dh_py{central,support} if Breaks: ${python:Breaks} is
> > missing in debian/control (I like Breaks because... that's what
> > Breaks is for)
> 
> You might “like” Breaks, but this:
> Depends: python
> Breaks: python (>= 2.8), python (<< 2.5)
> has the same semantics as:
> Depends: python (>= 2.5), python (<< 2.8)

Yes it does; if you will not add ${python:Breaks} in debian/control,
that's what dh_python2 will generate actually.

Packages with public modules do not really care about default Python
version usually so why should they depend on python package¹?

> except that APT deals *much* better with Depends than it does with
> Breaks.
>
> What is the point of doing that?

Breaks will warn user if an upgrade of python can break some scripts with
/usr/bin/python in shebang, but python-foo packages can still be usable so
I prefer Breaks (because it's easier to override). If APT doesn't deal
well with Breaks, please report bugs against APT (with patches if
possible :)

[¹] if package ships .py files, there's a dependency on python package
due to pycompile/pyclean scripts, but if package is providing .so files
only, there's no need for "python" in Depends
-- 
Piotr Ożarowski Debian GNU/Linux Developer
www.ozarowski.pl  www.griffith.cc   www.debian.org
GPG Fingerprint: 1D2F A898 58DA AF62 1786 2DF7 AEF6 F1A2 A745 7645


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110309150221.gf30...@piotro.eu



Re: Ruby changes for Wheezy

2011-03-06 Thread Vincent Bernat
OoO En  cette fin  de matinée  radieuse du dimanche  06 mars  2011, vers
11:40, Lucas Nussbaum  disait :

> Note that, for applications written in Ruby and packaged in Debian, we
> will make sure that they work no matter what /usr/bin/ruby points to (if
> necessary, by forcing the shebang to ruby1.8, and installing the correct
> dependencies). What might break is software manually installed by users.
> I don't see how that situation is different from the Java one.

This is  also what is done  with Python.  We get  very little complaints
with this. However, maybe the Python roadmap is easier to understand and
less applications get broken when upgrading to a new major version.

Breaking applications that are  installed outside of the package manager
is bad  but it  is far less  worse than breaking  applications installed
with the package manager.

>> > Anyway. We are early in the wheezy release cycle. If switching ruby
>> > implementations using alternatives turns out to be a bad idea, we can
>> > switch back to the former approach at some point. And we will arguments
>> > to reply to users who currently want it. 
>> 
>> Do you really need to break hundreds of user systems just to make a
>> handful of whiners happy?

> I am under the impression that it's not "a handful of whiners", but that
> the consensus in the Ruby community is that we should switch to
> alternatives.

Do they really understand that alternatives may break a lot of things on
user systems? By reading your blog, I understand that the Ruby community
(or a  part of it) does not  really understand that Debian  does want to
provide  a robust  way  to  manage applications.   If  the user  install
software X written in Ruby  with apt, then uses "update-alternatives" to
switch Ruby  version and then software X  is broken, it seems  we are to
blame  because  using  update-alternatives  should not  break  installed
softwares.
-- 
Program defensively.
- The Elements of Programming Style (Kernighan & Plauger)


pgp0oKAcTMtOH.pgp
Description: PGP signature


Re: Ruby changes for Wheezy

2011-03-06 Thread Josselin Mouette
Le dimanche 06 mars 2011 à 11:40 +0100, Lucas Nussbaum a écrit : 
> Note that, for applications written in Ruby and packaged in Debian, we
> will make sure that they work no matter what /usr/bin/ruby points to (if
> necessary, by forcing the shebang to ruby1.8, and installing the correct
> dependencies). What might break is software manually installed by users.
> I don't see how that situation is different from the Java one.

Except that for Java, there’s a clear specification of what a JVM should
provide - and it’s already insanely complex.

If you manage to get everything working with both ruby1.8 and ruby1.9,
this looks like a great deal of work for nothing; if everything can work
with 1.9, just ship it as default and get done with it.

> > Do you really need to break hundreds of user systems just to make a
> > handful of whiners happy?
> 
> I am under the impression that it's not "a handful of whiners", but that
> the consensus in the Ruby community is that we should switch to
> alternatives.

It looks to me that “the Ruby community” doesn’t understand what
alternatives are nor what they were designed for. 

You need to understand what the real needs of your users are and provide
them with a proper solution according to our standards. Just because
some people heard of this alternative thing doesn’t mean it is a
suitable solution for Debian.

-- 
 .''`.  Josselin Mouette
: :' :
`. `'  “If you behave this way because you are blackmailed by someone,
  `-[…] I will see what I can do for you.”  -- Jörg Schilling



signature.asc
Description: This is a digitally signed message part


Re: Ruby changes for Wheezy

2011-03-06 Thread Lucas Nussbaum
On 06/03/11 at 11:22 +0100, Josselin Mouette wrote:
> Le dimanche 06 mars 2011 à 10:58 +0100, Lucas Nussbaum a écrit : 
> > > You are just going to empower users to shoot themselves in the foot.
> > 
> > What if users want the ability to shoot themselves in the foot?
> 
> Currently you’re the one holding the weapon.
> 
> > Also, you seem to assume that Ruby 1.9 is completely broken. That's not
> > true. A lot of things still work after switching from 1.8 to 1.9.
> 
> I don’t know whether Ruby 1.9 is broken or not. What I’m sure of, is
> that with your proposed dependency scheme, you will not be able to
> ensure dependencies will be installed for Ruby 1.9. Which means changing
> the Ruby version with alternatives would just break user systems. 
> 
> If users want Ruby 1.9, serve them Ruby 1.9 and get rid of the
> applications not supporting it (or use explicit versions for them). But
> don’t serve them a system that is half-compatible with Ruby 1.9 and not
> up to the stability expectations of a Debian system.
> 
> If you choose to support several Ruby interpreters through alternatives,
> you have to specify the interface that /usr/bin/ruby provides, just like
> for Java. This means settling on the lowest common denominator of what
> these interpreters can provide - and this is *completely opposite* to
> the users’ request, since they want to benefit from the improvements in
> Ruby 1.9.

Note that, for applications written in Ruby and packaged in Debian, we
will make sure that they work no matter what /usr/bin/ruby points to (if
necessary, by forcing the shebang to ruby1.8, and installing the correct
dependencies). What might break is software manually installed by users.
I don't see how that situation is different from the Java one.

> > Anyway. We are early in the wheezy release cycle. If switching ruby
> > implementations using alternatives turns out to be a bad idea, we can
> > switch back to the former approach at some point. And we will arguments
> > to reply to users who currently want it. 
> 
> Do you really need to break hundreds of user systems just to make a
> handful of whiners happy?

I am under the impression that it's not "a handful of whiners", but that
the consensus in the Ruby community is that we should switch to
alternatives.

- Lucas


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110306104001.ga8...@xanadu.blop.info



Re: Ruby changes for Wheezy

2011-03-06 Thread Josselin Mouette
Le dimanche 06 mars 2011 à 10:58 +0100, Lucas Nussbaum a écrit : 
> > You are just going to empower users to shoot themselves in the foot.
> 
> What if users want the ability to shoot themselves in the foot?

Currently you’re the one holding the weapon.

> Also, you seem to assume that Ruby 1.9 is completely broken. That's not
> true. A lot of things still work after switching from 1.8 to 1.9.

I don’t know whether Ruby 1.9 is broken or not. What I’m sure of, is
that with your proposed dependency scheme, you will not be able to
ensure dependencies will be installed for Ruby 1.9. Which means changing
the Ruby version with alternatives would just break user systems. 

If users want Ruby 1.9, serve them Ruby 1.9 and get rid of the
applications not supporting it (or use explicit versions for them). But
don’t serve them a system that is half-compatible with Ruby 1.9 and not
up to the stability expectations of a Debian system.

If you choose to support several Ruby interpreters through alternatives,
you have to specify the interface that /usr/bin/ruby provides, just like
for Java. This means settling on the lowest common denominator of what
these interpreters can provide - and this is *completely opposite* to
the users’ request, since they want to benefit from the improvements in
Ruby 1.9.

> Anyway. We are early in the wheezy release cycle. If switching ruby
> implementations using alternatives turns out to be a bad idea, we can
> switch back to the former approach at some point. And we will arguments
> to reply to users who currently want it. 

Do you really need to break hundreds of user systems just to make a
handful of whiners happy?

> See:
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548917

Proposes a wrong solution without explaining why you’d want to do that -
and really, it is stupid.

> http://kangaroobox.blogspot.com/2009/12/switching-ruby-platforms-on-debian.html
> http://blog.alexn.org/2010/02/working-with-multiple-versions-of.html
> http://krnjevic.com/wp/?p=209

These three explain how to break your system. There are thousands of
such half-assed “documents”, and we receive many bug reports of users
breaking their systems after that. A few days ago, a user complained
that his gnome-panel was broken. It turned out he had applied a
procedure to install mysql-workbench which just broke his GLib.

> http://www.ruby-forum.com/topic/209014
> http://fossplanet.com/f10/install-ruby1-9-1-a-96579/

They are just asking for 1.9. Alternatives is the wrong answer to the
users’ problem.

> https://bugs.launchpad.net/ubuntu/+source/ruby-defaults/+bug/634703

If we just applied all user suggestions when they come up, do you know
how much buggy Debian would be?

-- 
 .''`.  Josselin Mouette
: :' :
`. `'  “If you behave this way because you are blackmailed by someone,
  `-[…] I will see what I can do for you.”  -- Jörg Schilling



signature.asc
Description: This is a digitally signed message part


Re: Ruby changes for Wheezy

2011-03-06 Thread Mike Hommey
On Sun, Mar 06, 2011 at 10:58:47AM +0100, Lucas Nussbaum wrote:
> On 06/03/11 at 10:43 +0100, Josselin Mouette wrote:
> > Le dimanche 06 mars 2011 à 10:10 +0100, Lucas Nussbaum a écrit : 
> > > I prefer the situation where we empower users to make the switch if they
> > > decide to, to the situation where we arbitrarily decide that users
> > > should use Ruby 1.8 with no ability to change this (and get bug reports
> > > for that). Note that for the upstream Ruby developers, the stable branch
> > > is 1.9, not 1.8.
> > 
> > You are just going to empower users to shoot themselves in the foot.
> 
> What if users want the ability to shoot themselves in the foot?

They already have, with dpkg-divert. Why add another one?

Mike


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110306102109.gb5...@glandium.org



Re: Ruby changes for Wheezy

2011-03-06 Thread Lucas Nussbaum
On 06/03/11 at 10:43 +0100, Josselin Mouette wrote:
> Le dimanche 06 mars 2011 à 10:10 +0100, Lucas Nussbaum a écrit : 
> > I prefer the situation where we empower users to make the switch if they
> > decide to, to the situation where we arbitrarily decide that users
> > should use Ruby 1.8 with no ability to change this (and get bug reports
> > for that). Note that for the upstream Ruby developers, the stable branch
> > is 1.9, not 1.8.
> 
> You are just going to empower users to shoot themselves in the foot.

What if users want the ability to shoot themselves in the foot?

Also, you seem to assume that Ruby 1.9 is completely broken. That's not
true. A lot of things still work after switching from 1.8 to 1.9.


Anyway. We are early in the wheezy release cycle. If switching ruby
implementations using alternatives turns out to be a bad idea, we can
switch back to the former approach at some point. And we will arguments
to reply to users who currently want it. See:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548917
http://kangaroobox.blogspot.com/2009/12/switching-ruby-platforms-on-debian.html
http://blog.alexn.org/2010/02/working-with-multiple-versions-of.html
http://krnjevic.com/wp/?p=209
http://www.ruby-forum.com/topic/209014
http://fossplanet.com/f10/install-ruby1-9-1-a-96579/
https://bugs.launchpad.net/ubuntu/+source/ruby-defaults/+bug/634703

- Lucas


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110306095847.ga7...@xanadu.blop.info



Re: Ruby changes for Wheezy

2011-03-06 Thread Josselin Mouette
Le samedi 05 mars 2011 à 00:22 +0100, Piotr Ożarowski a écrit : 
> > Breaks: python (>= 2.8), python (<< 2.5)
> 
> yeah, that's to avoid bug reports when someone will try to use this
> package with (default) python 2.4 or python 2.8 (which will NEVER be
> released, BTW). dh_python2 will create similar dependencies to those
> generated by dh_py{central,support} if Breaks: ${python:Breaks} is
> missing in debian/control (I like Breaks because... that's what
> Breaks is for)

You might “like” Breaks, but this:
Depends: python
Breaks: python (>= 2.8), python (<< 2.5)
has the same semantics as:
Depends: python (>= 2.5), python (<< 2.8)
except that APT deals *much* better with Depends than it does with
Breaks.

What is the point of doing that?

-- 
 .''`.  Josselin Mouette
: :' :
`. `'  “If you behave this way because you are blackmailed by someone,
  `-[…] I will see what I can do for you.”  -- Jörg Schilling



signature.asc
Description: This is a digitally signed message part


Re: Ruby changes for Wheezy

2011-03-06 Thread Josselin Mouette
Le dimanche 06 mars 2011 à 10:10 +0100, Lucas Nussbaum a écrit : 
> I prefer the situation where we empower users to make the switch if they
> decide to, to the situation where we arbitrarily decide that users
> should use Ruby 1.8 with no ability to change this (and get bug reports
> for that). Note that for the upstream Ruby developers, the stable branch
> is 1.9, not 1.8.

You are just going to empower users to shoot themselves in the foot.

You get to decide what the default version should be. If upstream thinks
1.9 is the stable branch, then you need to take appropriate steps to
make it the stable branch.

Another approach, which is used by Python packages too, is to create an
alternate ruby-defaults version in experimental (or any other
repository) that changes the default version. But this way it can be
changed with the appropriate support in dependencies.

-- 
 .''`.  Josselin Mouette
: :' :
`. `'  “If you behave this way because you are blackmailed by someone,
  `-[…] I will see what I can do for you.”  -- Jörg Schilling



signature.asc
Description: This is a digitally signed message part


Re: Ruby changes for Wheezy

2011-03-06 Thread Lucas Nussbaum
On 06/03/11 at 10:02 +0100, Bernd Zeimetz wrote:
> 
> 
> 
> 
> Lucas Nussbaum  schrieb:
> 
> >That's what we plan to do: for now, ruby1.8 is the default
> >implementation/version, and will have the highest priority in
> >alternatives. So switching to say jruby would require manual
> >intervention.
> 
> Exactly that will ensure you run into a mess. Don't allow to switch
> the default interpreter or you will end up with dozens of bug reports
> due to people breaking their system. Such an idea neither works for
> java nor python nor tk/tcl nor ruby.

I prefer the situation where we empower users to make the switch if they
decide to, to the situation where we arbitrarily decide that users
should use Ruby 1.8 with no ability to change this (and get bug reports
for that). Note that for the upstream Ruby developers, the stable branch
is 1.9, not 1.8.

- Lucas


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110306091038.ga6...@xanadu.blop.info



Re: Ruby changes for Wheezy

2011-03-06 Thread Bernd Zeimetz




Lucas Nussbaum  schrieb:

>That's what we plan to do: for now, ruby1.8 is the default
>implementation/version, and will have the highest priority in
>alternatives. So switching to say jruby would require manual
>intervention.

Exactly that will ensure you run into a mess. Don't allow to switch the default 
interpreter or you will end up with dozens of bug reports due to people 
breaking their system. Such an idea neither works for java nor python nor 
tk/tcl nor ruby.

-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/9172f657-a8bb-45f7-b7a3-f6ffaf6a0...@email.android.com



Re: Ruby changes for Wheezy

2011-03-04 Thread Piotr Ożarowski
[Adrian von Bidder, 2011-03-04]
> The way it's done is that the packages declare what versions of python they 
> support:
> 
> python-pygments, for example:

python-pygments uses dh_python2 which takes a little bit different
approach than dh_pycentral or dh_pysupport.

dh_python2 ships all symlinks in the .deb package, in contrast to other
two tools which create them at install time (package's or interpreter's
install time). That means if package doesn't provide extensions,
dh_pysupport and dh_pycentral packages do not need another upload if new
Python version is added to the list of supported Python versions.

All tools byte-compile these files at install time (.pyc or .pyo files
are not shipped in .debs) for all installed Python versions that are
supported by the package.

> Depends: python2.6 | python2.7 | python2.5, python (>= 2.6.6-7~)

python2.6 is first because it's the default Python version, after the
default Python version (if package supports it) all other supported
(by the .deb) Python versions are listed (from newest to oldest)

python (>= 2.6.6-7~) is here due to pycompile/pyclean scripts used in
maintainer scripts

> Breaks: python (>= 2.8), python (<< 2.5)

yeah, that's to avoid bug reports when someone will try to use this
package with (default) python 2.4 or python 2.8 (which will NEVER be
released, BTW). dh_python2 will create similar dependencies to those
generated by dh_py{central,support} if Breaks: ${python:Breaks} is
missing in debian/control (I like Breaks because... that's what
Breaks is for)

> Then, via triggers, the module is compiled to bytecode for all supported 

dh_pysupport byte-compiles them via triggers, dh_pycentral and
dh_python2 byte-compile them in postinst (and remove .pyc files in
prerm)
-- 
Piotr Ożarowski Debian GNU/Linux Developer
www.ozarowski.pl  www.griffith.cc   www.debian.org
GPG Fingerprint: 1D2F A898 58DA AF62 1786 2DF7 AEF6 F1A2 A745 7645


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110304232230.gv30...@piotro.eu



Re: Ruby changes for Wheezy

2011-03-04 Thread Adrian von Bidder
Heyho!

On Friday 04 March 2011 14.16:34 Lucas Nussbaum wrote:

> Sorry, could you explain how it works in python, when a given binary
> package contains stuff for both python 2.6 and 2.7, for example?

I'm not involved with Python packages, so somebody correct me please.

The way it's done is that the packages declare what versions of python they 
support:

python-pygments, for example:
Depends: python2.6 | python2.7 | python2.5, python (>= 2.6.6-7~)
Breaks: python (>= 2.8), python (<< 2.5)

(these are generated by helpers - I'm not 100% why the Breaks is necessary, 
but I think it's to ensure that any given python library is available in all 
supported python versions that are installed.  A way without that would be 
nice though, even if that would mean python2.8 wouldn't see all modules that 
are installed.  OTOH this would certainly generate lots of mails to the bts 
by users...)

Then, via triggers, the module is compiled to bytecode for all supported 
python versions, added to the version's module path etc. (not sure how 
exactly this is done, and I guess this would be different for ruby in any 
case.)

Modules with binary parts usually just deliver the shared libraries in the 
main python-foo package (see python-yenc), but I guess it is possible to 
create python2.5-foo and python2.6-foo and have both provide the virtual 
python-foo.  Don't know if it exists.

cheers
-- vbi

-- 
Whenever people agree with me, I always think I must be wrong.
-- Oscar Wilde


signature.asc
Description: This is a digitally signed message part.


Re: Ruby changes for Wheezy

2011-03-04 Thread Francesco P. Lovergine
On Fri, Mar 04, 2011 at 02:26:10PM +0100, Bernd Zeimetz wrote:
> On 03/04/2011 02:00 PM, Josselin Mouette wrote:
> > Le vendredi 04 mars 2011 à 11:16 +0100, Stefano Zacchiroli a écrit :
> >> === Use alternatives to switch between Ruby implementations ===
> >> There is a huge demand (see
> >> [[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548917|#548917]])
> >> for using alternatives to switch between Ruby implementations. This
> >> would provide a way to mimic what RVM provides in a cleaner way, and
> >> will help the Ruby community with moving to 1.9.x or other
> >> implementations.
> > 
> > I think this would be asking for a disaster. A given version of the
> > distribution should provide a given version of /usr/bin/ruby. Otherwise
> > you’re just going to see third-party software (and often Debian
> > packages) break in horrible ways.
> 
> Indeed. You would want to define a default version and some 'supported'
> (but non-default) other versions. Again my recommendation - look at the
> way how these things are handled in Python (yeah, ignore the discussions
> around varoius Python helpers and so on).

+1 

this is exactly the reason why we adopted *one* default Tcl/Tk instead
of the broken-by-design use of admin-changeable alternatives. Interpreters
are not the right target for such an approach. We have to choose a safe
default version and provides optionally other versions with strict
dependencies used only when required.

-- 
Francesco P. Lovergine


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110304141642.gd3...@gandalf.is-a-geek.org



Re: Ruby changes for Wheezy

2011-03-04 Thread Lucas Nussbaum
On 04/03/11 at 14:26 +0100, Bernd Zeimetz wrote:
> On 03/04/2011 02:00 PM, Josselin Mouette wrote:
> > Le vendredi 04 mars 2011 à 11:16 +0100, Stefano Zacchiroli a écrit :
> >> === Use alternatives to switch between Ruby implementations ===
> >> There is a huge demand (see
> >> [[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548917|#548917]])
> >> for using alternatives to switch between Ruby implementations. This
> >> would provide a way to mimic what RVM provides in a cleaner way, and
> >> will help the Ruby community with moving to 1.9.x or other
> >> implementations.
> > 
> > I think this would be asking for a disaster. A given version of the
> > distribution should provide a given version of /usr/bin/ruby. Otherwise
> > you’re just going to see third-party software (and often Debian
> > packages) break in horrible ways.
> 
> Indeed. You would want to define a default version and some 'supported'
> (but non-default) other versions. Again my recommendation - look at the
> way how these things are handled in Python (yeah, ignore the discussions
> around varoius Python helpers and so on).

That's what we plan to do: for now, ruby1.8 is the default
implementation/version, and will have the highest priority in
alternatives. So switching to say jruby would require manual
intervention.

- Lucas


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110304133101.ga5...@xanadu.blop.info



Re: Ruby changes for Wheezy

2011-03-04 Thread Bernd Zeimetz
On 03/04/2011 02:00 PM, Josselin Mouette wrote:
> Le vendredi 04 mars 2011 à 11:16 +0100, Stefano Zacchiroli a écrit :
>> === Use alternatives to switch between Ruby implementations ===
>> There is a huge demand (see
>> [[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548917|#548917]])
>> for using alternatives to switch between Ruby implementations. This
>> would provide a way to mimic what RVM provides in a cleaner way, and
>> will help the Ruby community with moving to 1.9.x or other
>> implementations.
> 
> I think this would be asking for a disaster. A given version of the
> distribution should provide a given version of /usr/bin/ruby. Otherwise
> you’re just going to see third-party software (and often Debian
> packages) break in horrible ways.

Indeed. You would want to define a default version and some 'supported'
(but non-default) other versions. Again my recommendation - look at the
way how these things are handled in Python (yeah, ignore the discussions
around varoius Python helpers and so on).
-- 
 Bernd ZeimetzDebian GNU/Linux Developer
 http://bzed.dehttp://www.debian.org
 GPG Fingerprints: ECA1 E3F2 8E11 2432 D485 DD95 EB36 171A 6FF9 435F


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4d70e872.2000...@bzed.de



Re: Ruby changes for Wheezy

2011-03-04 Thread Lucas Nussbaum
On 04/03/11 at 14:00 +0100, Josselin Mouette wrote:
> Le vendredi 04 mars 2011 à 11:16 +0100, Stefano Zacchiroli a écrit :
> > === Use alternatives to switch between Ruby implementations ===
> > There is a huge demand (see
> > [[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548917|#548917]])
> > for using alternatives to switch between Ruby implementations. This
> > would provide a way to mimic what RVM provides in a cleaner way, and
> > will help the Ruby community with moving to 1.9.x or other
> > implementations.
> 
> I think this would be asking for a disaster. A given version of the
> distribution should provide a given version of /usr/bin/ruby. Otherwise
> you’re just going to see third-party software (and often Debian
> packages) break in horrible ways.
> 
> Let’s say for example that a script has a #!/usr/bin/ruby shebang, and
> uses the foo module. The package Depends: ruby, ruby-foo. In turn, this
> will pull ruby1.8-foo.
> Now let’s say someone installs it and then installs ruby1.9.1, and
> selects it as the default ruby version. Now ruby1.9.1-foo is not
> installed and you’re doomed.
> 
> In short: just because many people ask for it doesn’t mean it’s a good
> idea.

Yeah, I know. But I think that we should do what is best for our users,
even if it looks shockingly dangerous from our POV.
Also, while we will provide the capability to switch between ruby
versions using alternatives, it will be advertised that if you do that,
it's your job to install additional dependencies.

> >  * pure-ruby libs must produce a single binary package named
> > '''ruby-foo'''
> >  * libraries with both pure-Ruby and native code must be handled like
> > this:
> [snip]
> 
> Looks correct to me, but it would probably be easier to do like with
> Python: put everything in a single package, de-duplicating data between
> versions. This way transitions are much smoother.

Sorry, could you explain how it works in python, when a given binary
package contains stuff for both python 2.6 and 2.7, for example? How do
you manage the Depends: line? (Pointing me to a good example would work,
too)

- Lucas


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110304131634.ga4...@xanadu.blop.info



Re: Ruby changes for Wheezy

2011-03-04 Thread Josselin Mouette
Le vendredi 04 mars 2011 à 11:16 +0100, Stefano Zacchiroli a écrit :
> === Use alternatives to switch between Ruby implementations ===
> There is a huge demand (see
> [[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548917|#548917]])
> for using alternatives to switch between Ruby implementations. This
> would provide a way to mimic what RVM provides in a cleaner way, and
> will help the Ruby community with moving to 1.9.x or other
> implementations.

I think this would be asking for a disaster. A given version of the
distribution should provide a given version of /usr/bin/ruby. Otherwise
you’re just going to see third-party software (and often Debian
packages) break in horrible ways.

Let’s say for example that a script has a #!/usr/bin/ruby shebang, and
uses the foo module. The package Depends: ruby, ruby-foo. In turn, this
will pull ruby1.8-foo.
Now let’s say someone installs it and then installs ruby1.9.1, and
selects it as the default ruby version. Now ruby1.9.1-foo is not
installed and you’re doomed.

In short: just because many people ask for it doesn’t mean it’s a good
idea.
>  * pure-ruby libs must produce a single binary package named
> '''ruby-foo'''
>  * libraries with both pure-Ruby and native code must be handled like
> this:
[snip]

Looks correct to me, but it would probably be easier to do like with
Python: put everything in a single package, de-duplicating data between
versions. This way transitions are much smoother.

-- 
 .''`.
: :' : “You would need to ask a lawyer if you don't know
`. `'   that a handshake of course makes a valid contract.”
  `---  J???rg Schilling


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1299243623.404.108.camel@meh



Re: Ruby changes for Wheezy

2011-03-04 Thread Stig Sandbeck Mathisen
Philipp Kern  writes:

> On 2011-03-04, Stefano Zacchiroli  wrote:
>>=== Generation of ri and rdoc documentation ===
>>
>> We decide not to generate the ri and rdoc documentation, as there are
>> good online services providing it (like rdoc.info). We might change
>> our mind later. :)
>
> Are you sure about that? Not that I do much Ruby nowadays, but for
> other languages I find it incredibly helpful that there are actually
> useful doc packages for the times when I'm disconnected from the net
> (longer train sessions, lodges without internet access). Back then ri
> was a very nice tool to lookup most functions you need.

If ri and rdoc generation is handled by a post install hook, this hook
can check a local configuration variable to generate documentation, or
silently exit.

-- 
Stig Sandbeck Mathisen 


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/7xbp1r5bef@fsck.linpro.no



Re: Ruby changes for Wheezy

2011-03-04 Thread Philipp Kern
On 2011-03-04, Stefano Zacchiroli  wrote:
>=== Generation of ri and rdoc documentation ===
>
> We decide not to generate the ri and rdoc documentation, as there are good
> online services providing it (like rdoc.info).
> We might change our mind later. :)

Are you sure about that?  Not that I do much Ruby nowadays, but for other
languages I find it incredibly helpful that there are actually useful doc
packages for the times when I'm disconnected from the net (longer train
sessions, lodges without internet access).  Back then ri was a very nice
tool to lookup most functions you need.

Kind regards
Philipp Kern


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/slrnin1glp.tkl.tr...@kelgar.0x539.de



Re: Ruby changes for Wheezy

2011-03-04 Thread Lucas Nussbaum
On 04/03/11 at 10:58 +0100, Marco d'Itri wrote:
> On Mar 04, Lucas Nussbaum  wrote:
> 
> > Our plans are described on
> > http://wiki.debian.org/Teams/Ruby/RubyInWheezy
> > Don't hesitate to ask for details if needed.
> Is this acceptable to the major Ruby developers or do they still hate
> you and everybody else involved?

The major Ruby developers are generally OK, since they mostly come from
a Unix background. it's the "second circle" that hates us.

We haven't asked them yet about those changes. It is planned, but we
thought that it would be better to ask more friendly and welcoming
audiences like debian-devel@ first;)

- Lucas


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110304100357.ga30...@xanadu.blop.info



Re: Ruby changes for Wheezy

2011-03-04 Thread Marco d'Itri
On Mar 04, Lucas Nussbaum  wrote:

> Our plans are described on
> http://wiki.debian.org/Teams/Ruby/RubyInWheezy
> Don't hesitate to ask for details if needed.
Is this acceptable to the major Ruby developers or do they still hate
you and everybody else involved?

-- 
ciao,
Marco


signature.asc
Description: Digital signature


Ruby changes for Wheezy

2011-03-04 Thread Lucas Nussbaum
Hi,

We are planning a rather large set of changes in Ruby packaging for
Debian wheezy, and would appreciate some external feedback on our
proposals.

Our plans are described on
http://wiki.debian.org/Teams/Ruby/RubyInWheezy
Don't hesitate to ask for details if needed.

- Lucas


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110304085947.ga4...@xanadu.blop.info