Linux package maintainers need help (was Re: Can you launch a squeak image on an etoys vm in Ubuntu?)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Linux package maintainers need help (was Re: Can you launch a squeak image on an etoys vm in Ubuntu?)

Bert Freudenberg
 
(Sorry, this is going to be a longer post, covering a lot of basics,  
but I feel even most Linux Squeakers are unaware of how open-source  
software actually gets to users in Linux)

On 15.04.2009, at 09:05, Jerome Peace wrote:

> Chris Kassopulo ckasso at sprynet.com Tue Apr 14 02:00:01 UTC 2009  
> wrote:
>> I was told via bug report that Ubuntu doesn't support OSS at all.
>>
>> It is the opposite of what you are trying to do but on my Ubuntu box,
>> I removed the Ubuntu squeak related packages and installed the DEB
>> squeak-vm package.  I can open squeak and etoys images with the
>> command: squeak /path_to_image/image_name.image and sound works.
>>
> Atually this sounds like it is on the path to a solution.
>
> Can we get a DEB package that we can offer from the website in such  
> a way
> that when Ubuntu goes searching for a squeak to install it installs  
> that vm?
>
> Bert: That that sound like the way to go?

Not really, that would just be a workaround.

In the closed-source world (Mac, Win) typically the software authors  
provide binary packages for end users. This is even true for open-
source software on these platforms, the authors provide ready-to-
install packages, separate from with the source code. That's why we  
have Windows and Mac downloads on our website. It's a one-size-fits-
all approach, and all work is done by the authors.

Not so in Linux. Here, building the binary packages that fit into a  
specific Linux distribution is typically done by users of that Linux  
version. These volunteers ("package maintainers") take the source code  
from an "upstream" author and make a binary package from that,  
typically by writing a few scripts that compile and install the  
software in the right place and with the right supporting files (which  
may be different for each Linux distribution).

Because of these volunteers it is that you can simply install about  
*any* free software from your distro's "software installer". Every  
single one of these thousands of packages was added and is maintained  
by someone.

As you can guess, package maintainers are usually no experts in the  
software they package. They will try the canonical "./configure; make;  
make install" command, and if that appears to work they make a package  
from that, do a few tweaks maybe and release it. People can install  
that package easily now, and everything appears to be fine.

Except it's not. E.g., unless the package builder declared a build-
dependency on the "alsa-lib-devel" package (that's what it is called  
in Fedora anyway) the Squeak VM will be built without ALSA sound  
support. The "configure" script is smart enough to not build the "vm-
sound-ALSA" plugin if it does not find the necessary files. It also  
writes out a message that the plugin was disabled. But that is easy to  
overlook, and also not fatal - there are good reasons for not wanting  
to build that plugin.

Now what needs to happen is that a user who discovers that sound is  
not working must file a bug report for the package *maintainer*. Not  
with the author (us), because that would bypass the maintainer. So use  
your distro's bug tracker, not bugs.squeak.org. The maintainer either  
fixes the problem, or opens an "upstream" bug with the authors.  
Sometimes it's even a chain of "upstreams", in Ubuntu's case the  
package may come from Debian, so a user would file a report at  
Ubuntu's tracker, the Ubuntu maintainer at Debian's tracker, and the  
Debian maintainer with us.

If instead we bypass the maintainers, we get precisely the chicken-and-
egg problem  we are in now. The distro packages do not work well, so  
the experienced developers do not use them but compile their own.  
Which leaves the packages in their bad state because nobody  
knowledgeable cares about them.

To be fair, in the "sound on Ubuntu" case in fact the proper procedure  
was followed:
https://bugs.launchpad.net/ubuntu/+source/squeak-vm/+bug/235146
but apparently did not get fully resolved yet. Not sure what needs to  
happen next in this specific case.

But in general, we should try to make it as easy for package  
maintainers as possible. Even if it is just by letting them know that  
their package is used. So Squeak developers on Linux should try to use  
the distro's packages, and if they are insufficient, give feedback.  
Also, the source code should come with clear instructions on how to  
build it, what dependencies there are etc.

Maybe having a mailing list specifically for maintainers would be  
useful? But even just tracking down what packages are already out  
there, who is maintaining them etc. would be very valuable. And  
monitoring the bug trackers, participating on the distro-maintainers  
lists etc. Here is just a short list for squeak packages in various  
distros:

Debian:
http://packages.debian.org/search?keywords=squeak-vm
Fedora:
https://admin.fedoraproject.org/pkgdb/packages/name/squeak-vm
Ubuntu:
https://launchpad.net/ubuntu/+source/squeak-vm
OpenSuSE:
http://download.opensuse.org/repositories/devel:/languages:/smalltalk/openSUSE_11.0/repodata/repoview/Squeak-0-3.9.8-288.1.html
Gentoo:
http://gentoo-portage.com/dev-lang/squeak
Arch:
http://aur.archlinux.org/packages.php?ID=13021

The good news is that once there are "good" packages in the major  
Linux distributions, the smaller ones can follow suite much more  
easily. The big issues of e.g. what build dependencies exist are  
solved by then, and everyone can learn from each other.

Squeakers have been pretty much ignorant of the larger open-source  
community in the past. But I think there is a lot to be gained by  
becoming a proper part of it. I have been working towards that goal  
for a while now, in particular as part of the OLPC / Sugar development  
efforts. Etoys is distributed as part of Sugar and depends on an up-to-
date Squeak-VM package, so we do have allies in the Sugar maintainers.  
And everyone can help - as I wrote above, no deep VM knowledge is  
necessary to monitor bug trackers or keep contact with the maintainers.

So there. Who else wants to get involved?

- Bert -

PS: Note that I am primarily concerned with the VM packages for now.  
Packaging images is a somewhat separate issue, simpler because no  
dependencies are involved, and at the same time harder because there  
is no established practice of where to put them in the file system  
hierarchy. There used to be the license issue with images, too, but we  
should shoot for proper packaging with the license-clean upcoming 4.0  
release. If you want to discuss this, please start a different thread.


Reply | Threaded
Open this post in threaded view
|

Re: Linux package maintainers need help (was Re: Can you launch a squeak image on an etoys vm in Ubuntu?)

David T. Lewis
 
On Wed, Apr 15, 2009 at 03:19:45PM +0200, Bert Freudenberg wrote:
>
> (Sorry, this is going to be a longer post, covering a lot of basics,  
> but I feel even most Linux Squeakers are unaware of how open-source  
> software actually gets to users in Linux)

Bert,

Excellent description, thanks for this.

> Maybe having a mailing list specifically for maintainers would be  
> useful? But even just tracking down what packages are already out  
> there, who is maintaining them etc. would be very valuable. And  
> monitoring the bug trackers, participating on the distro-maintainers  
> lists etc. Here is just a short list for squeak packages in various  
> distros:
>
> Debian:
> http://packages.debian.org/search?keywords=squeak-vm
> Fedora:
> https://admin.fedoraproject.org/pkgdb/packages/name/squeak-vm
> Ubuntu:
> https://launchpad.net/ubuntu/+source/squeak-vm
> OpenSuSE:
> http://download.opensuse.org/repositories/devel:/languages:/smalltalk/openSUSE_11.0/repodata/repoview/Squeak-0-3.9.8-288.1.html
> Gentoo:
> http://gentoo-portage.com/dev-lang/squeak
> Arch:
> http://aur.archlinux.org/packages.php?ID=13021

A mailing list sounds like a good idea. I would certainly want to
monitor that list to understand priorities for things that might
need to happen on the VM team, for example if there are are tasks
with timing constraints driven by the various distro release
schedules, or if certain bug fixes or enhancements should be
given some extra priority.

Of course I don't mean to suggest that the Linux distros should
receive any particular priority over say the iPhone platform, or
RiscOS, or whatever; just that right now I'm quite clueless as
to what those distros need or what the deadlines are, so I think
that your mailing list suggestion could help give us all some
visibility to those requirements.

Dave

Reply | Threaded
Open this post in threaded view
|

Re: Linux package maintainers need help (was Re: Can you launch a squeak image on an etoys vm in Ubuntu?)

Séverin Lemaignan
 
Hello!

I'm not anyhow "skilled" in package maintaining, but I'm definitely
interested in helping for bug triaging + upstream contact concerning
the Ubuntu package (since it's my primary environment).

In any case, I've subscribe to the bug updates from Launchpad for
squeak-vm and squeak-image3.9

Btw, do you know why squeak is still in the Ubuntu multiverse repo? I
thought everything was free now...

Severin

On Wed, Apr 15, 2009 at 20:35, David T. Lewis <[hidden email]> wrote:

>
> On Wed, Apr 15, 2009 at 03:19:45PM +0200, Bert Freudenberg wrote:
>>
>> (Sorry, this is going to be a longer post, covering a lot of basics,
>> but I feel even most Linux Squeakers are unaware of how open-source
>> software actually gets to users in Linux)
>
> Bert,
>
> Excellent description, thanks for this.
>
>> Maybe having a mailing list specifically for maintainers would be
>> useful? But even just tracking down what packages are already out
>> there, who is maintaining them etc. would be very valuable. And
>> monitoring the bug trackers, participating on the distro-maintainers
>> lists etc. Here is just a short list for squeak packages in various
>> distros:
>>
>> Debian:
>> http://packages.debian.org/search?keywords=squeak-vm
>> Fedora:
>> https://admin.fedoraproject.org/pkgdb/packages/name/squeak-vm
>> Ubuntu:
>> https://launchpad.net/ubuntu/+source/squeak-vm
>> OpenSuSE:
>> http://download.opensuse.org/repositories/devel:/languages:/smalltalk/openSUSE_11.0/repodata/repoview/Squeak-0-3.9.8-288.1.html
>> Gentoo:
>> http://gentoo-portage.com/dev-lang/squeak
>> Arch:
>> http://aur.archlinux.org/packages.php?ID=13021
>
> A mailing list sounds like a good idea. I would certainly want to
> monitor that list to understand priorities for things that might
> need to happen on the VM team, for example if there are are tasks
> with timing constraints driven by the various distro release
> schedules, or if certain bug fixes or enhancements should be
> given some extra priority.
>
> Of course I don't mean to suggest that the Linux distros should
> receive any particular priority over say the iPhone platform, or
> RiscOS, or whatever; just that right now I'm quite clueless as
> to what those distros need or what the deadlines are, so I think
> that your mailing list suggestion could help give us all some
> visibility to those requirements.
>
> Dave
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Linux package maintainers need help (was Re: Can you launch a squeak image on an etoys vm in Ubuntu?)

Bert Freudenberg


On 15.04.2009, at 23:08, Séverin Lemaignan wrote:

>
> Hello!
>
> I'm not anyhow "skilled" in package maintaining, but I'm definitely
> interested in helping for bug triaging + upstream contact concerning
> the Ubuntu package (since it's my primary environment).
>
> In any case, I've subscribe to the bug updates from Launchpad for
> squeak-vm and squeak-image3.9

Great!

> Btw, do you know why squeak is still in the Ubuntu multiverse repo?

Nope.

> I thought everything was free now...


The VM is, yes. Etoys 4.0 also is, and Squeak 4.0 will be free.

- Bert -