[squeak-dev] Ubuntu package maintainers help

Jerome Peace peace_the_dreamer at yahoo.com
Thu Apr 16 03:17:05 UTC 2009


 
>From bert's thread Linux package maintainers need help...
>
>
>Bert Freudenberg bert at freudenbergs.de
>Wed Apr 15 13:19:45 UTC 2009 wrote:
>
<snip old stuff>
>
>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.

I would like to see something like this for Ubuntu. I think it is a good place to start. It gives a reasonable goal to shoot for. Lessons learned can then be applied to other squeak distro's one by one.

>
>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.

That was not true of the etoys installation from squeakland. It does not have to be true for distro's squeak.org supplies.

>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).
>
Yes, and to a certain extent that is out of our control. And only under our influence if those in direct control wish to allow it.

Chris's complaint to Ubuntu about sound in the squeak distribution will be a year old in May. Even though a solution is known the action to fix it has not happened.


>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.

Umm. Part of the problem is the need for a smoke test that shows the problem early.
Squeak on loading should show off and sound off. That we can work on.

Then when things don't work they won't appear to work.

>
>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*.

Chris did exactly that. See above.

>Not  
>with the author (us), because that would bypass the maintainer. So use  
>your distro's bug tracker, not bugs.squeak.org.

Um. There is a problem of multiplicity.
Each distro has its own tracker. Trackers don't insure action will be taken.
See above.
What the distro's won't do, we have no control over.

Still, as a developer, I want my work distributed on fully working squeak systems.
How might this be done by things within our control?



>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.
>I've added to the report. We'll see if that gets a response.

>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.
>
One activity the board should support with re$ource$ is a routine fresh installation
of squeak from key distros to see if they can pass a smoke test. Where problems are found more frequent tests should be scheduled until things are in a good state.

In choosing key distros the 20-80 rule should apply.



>Maybe having a mailing list specifically for maintainers would be  
>useful?

With all the bug trackers out there we should have a mail list to monitor and collect bug updates from them. 
AFAIK tell Ubuntu tracks bugs separately from Debian on which it is based.

>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
>

That was a useful collection.

I have started by joining and chiming in on Ubuntu. Six are too many to focus on at present.



>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.

+1. Focus on one. Learn our lessons. Spread the knowledge.

Part of the problem is that bugs once known are not being squashed in a timely fashion.
The result is an infestation of problems.


>
>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.
>
Theres another thing to say here. A vm gets distributed with etoys.
It has the necessary plugins. It can be used instead of a squeak vm.
There are some considerations that have to be addressed. 
These are the difference between the dialog box when the window close button is hit.
If that were taken care of then AFAIK all you would need would be a shell script for launching squeak images using the etoys vm.

There is one more issue that needs to be addressed. 
Our download website is overloaded with information.
And while mac and window users have a path forward.
Linux users are expected to make TOO many decisions
Decisions based on information they lack.

So that needs simplifing and sorting as well. 

So in sum:
Fruitful efforts are to
1) make etoys and squeak more compatible with etoys vm package.
2) Simplify and clean up the linux download web page(s).

As Bert said:


>So there. Who else wants to get involved?

<snip>

Yours in curiosity and service, --Jerome Peace


      



More information about the Squeak-dev mailing list