Re: SuperUser permission for the Driver??

2008-06-25 Thread Michael Stone
We have an activity that wants superuser privilege in order to poke
kernel memory.

The real questions we should be attempting to address here include:

* Who is granting privilege to this activity?

* How are they doing so?

* How should we record the decision?

 -  My tentative answer is that we should store activities with
different security properties in well-known directory chains
with appropriately restricted write access.

* What kinds of abuse are these mechanisms vulnerable to?

* Whose responsibility is it to handle the error condition that the
  human operator does not, him-or-herself posess superuser privilege,
  e.g. for theft-deterrence reasons?

Comments?

Michael
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: SuperUser permission for the Driver??

2008-06-25 Thread shivaprasad javali
I am new to programming on Linux, I just searched for Setuid() and found
that it sets the effective userid of my program to the userid I specify. So
can I just call setuid() in my program when I need superuser privileges and
have those privileges. To what part of my program are those privileges
confined to?

Thanks
Shivaprasad

On Wed, Jun 25, 2008 at 11:23 AM, James Cameron [EMAIL PROTECTED] wrote:

 So it is root UID you need for a user-space program, not a kernel
 driver, I see.  Have you considered setuid?

 --
 James Cameronmailto:[EMAIL PROTECTED] http://quozl.netrek.org/
 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [IAEP] fixing etoys

2008-06-25 Thread Yoshiki Ohshima
 Yoshiki Ohshima wrote:
Again, start up time is not a problem.  Etoys start up looks a bit
  slow on XO, but that is because the DBus communication that has to be
  done.
 
 I frequently hear DBus being accused of latency.  As badly
 implemented as it might be, I can't believe a daemon relaying
 a bunch of bytes over a UNIX domain socket can introduce more
 than 1ms of lag per message, even on a very slow processor.
 
 Has anybody ever analyzed the actual DBus traffic?  With timings?
 How many messages are we talking about?

  It seems that you are right!  I took profile data in Etoys and the
DBus part accounts for about 60-70ms on start up.  Other 3 seconds are
spent on Squeak part and I think I could speed them up a bit.

  The following two message tallys are taken from two different part
of code upon start up.  They should cover most of it.

  Sorry for the false alerm.

-- Yoshiki

--
 - 1761 tallies, 2164 msec.

**Tree**
95.3% {2062ms} SystemDictionarysend:toClassesNamedIn:with:
  |43.2% {935ms} Delay class(Behavior)startUp:
  |  |17.0% {368ms} SecurityManager classstartUp
  |  |  |17.0% {368ms} SecurityManagerstartUp
  |  |  |  17.0% {368ms} SecurityManagerloadSecurityKeys
  |  |  |16.8% {364ms} Object classreadFrom:
  |  |  |  10.6% {229ms} Array(Object)isKindOf:
  |  |  |  6.2% {134ms} Compiler classevaluate:
  |  |  |6.2% {134ms} Compiler classevaluate:for:logged:
  |  |  |  6.2% {134ms} Compiler classevaluate:for:notifying:logged:
  |  |  |6.2% {134ms} 
Compilerevaluate:in:to:notifying:ifFail:logged:
  |  |  |  6.0% {130ms} Compilertranslate:noPattern:ifFail:
  |  |  |6.0% {130ms} 
Parserparse:class:noPattern:context:notifying:ifFail:
  |  |  |  4.7% {102ms} Parserinit:notifying:failBlock:
  |  |  |4.7% {102ms} Parser(Scanner)scan:
  |  |  |  4.7% {102ms} Parser(Scanner)scanToken
  |  |  |4.7% {102ms} Parser(Scanner)xLitQuote
  |  |  |  4.7% {102ms} Parser(Scanner)scanToken
[4.7% {102ms} Parser(Scanner)xLitQuote
[  2.4% {52ms} Parser(Scanner)scanToken
[|2.4% {52ms} Parser(Scanner)xLitQuote
[  2.3% {50ms} Parser(Scanner)scanLitVec
[2.3% {50ms} Parser(Scanner)scanToken
[  2.3% {50ms} Parser(Scanner)xLitQuote
  |  |14.2% {307ms} FileDirectory classstartUp
  |  |  |9.7% {210ms} FileDirectory classsetDefaultDirectory:
  |  |  |  |9.4% {203ms} FilePath classpathName:
  |  |  |  |  9.4% {203ms} FilePath classpathName:isEncoded:
  |  |  |  |9.4% {203ms} FilePathpathName:isEncoded:
  |  |  |  |  9.4% {203ms} LanguageEnvironment 
classdefaultFileNameConverter
  |  |  |  |9.4% {203ms} SystemDictionaryplatformName
  |  |  |  |  9.4% {203ms} SystemDictionarygetSystemAttribute:
  |  |  |  |9.4% {203ms} SystemDictionary(Object)deprecated:block:
  |  |  |  |  9.4% {203ms} Preferences 
classshowDeprecationWarnings
  |  |  |  |9.4% {203ms} Preferences 
classvalueOfFlag:ifAbsent:
  |  |  |3.1% {67ms} SmalltalkImageopenSourceFiles
  |  |  |  3.0% {65ms} FileDirectory classopenSources:andChanges:forImage:
  |  |  |2.6% {56ms} FileDirectory classopenSources:forImage:
  |  |7.3% {158ms} ExternalSettings classstartUp
  |  |  |7.3% {158ms} ExternalSettings classpreferenceDirectory
  |  |  |  6.2% {134ms} SmalltalkImagevmPath
  |  |  |6.2% {134ms} FilePath classpathName:isEncoded:
  |  |  |  6.2% {134ms} FilePathpathName:isEncoded:
  |  |  |6.2% {134ms} ByteString(String)convertFromWithConverter:
  |  |3.8% {82ms} Delay classstartUp
  |34.4% {744ms} WeakArray classstartUp:
  |  |34.4% {744ms} WeakArray classrestartFinalizationProcess
  |  |  34.2% {740ms} Semaphore classforMutualExclusion
  |13.0% {281ms} AutoStart classstartUp:
  |  |7.4% {160ms} AutoStart classcheckForPluginUpdate
  |  |  |7.4% {160ms} PasteUpMorphinstall
  |  |  |  6.2% {134ms} PasteUpMorphinstallFlaps
  |  |  |4.8% {104ms} ProjectassureFlapIntegrity
  |  |  |  4.8% {104ms} IdentityDictionary(Dictionary)removeKey:ifAbsent:
  |  |5.6% {121ms} AutoStart classcheckForUpdates
  |  |  5.6% {121ms} PasteUpMorphinstall
  |  |3.5% {76ms} PasteUpMorphdisplayWorldSafely
  |  |  |3.5% {76ms} WorldStatedisplayWorldSafely:
  |  |  |  3.5% {76ms} PasteUpMorphdisplayWorld
  |  |  |3.5% {76ms} PasteUpMorphprivateOuterDisplayWorld
  |  |  |  3.5% {76ms} WorldStatedisplayWorld:submorphs:
  |  |  |3.5% {76ms} WorldStatedrawWorld:submorphs:invalidAreasOn:
  |  |  |  3.5% {76ms} FormCanvas(Canvas)fullDrawMorph:
  |  |  |3.5% {76ms} FormCanvas(Canvas)fullDraw:
  |  |  |  3.5% {76ms} SugarNavTab(Morph)fullDrawOn:
  |  |  |3.5% {76ms} SugarNavTab(Morph)drawSubmorphsOn:
  |  |  |  3.5% {76ms} FormCanvas(Canvas)fullDrawMorph:
  

Want to package PostgreSQL for OLPC

2008-06-25 Thread Devrim GÜNDÜZ

Hi,

Per e-mail from Michael Stone:

https://www.redhat.com/archives/fedora-devel-list/2008-June/msg01331.html

I would like to assist packaging PostgreSQL for OLPC.

I'm the upstream packager for PostgreSQL, and I also maintain 30+
packages for Fedora+EPEL.

What should I do next?

Regards,
-- 
Devrim GÜNDÜZ , RHCE
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Managed Services, Shared and Dedicated Hosting
Co-Authors: plPHP, ODBCng - http://www.commandprompt.com/


signature.asc
Description: This is a digitally signed message part
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Updates This Week to the Sugar Almanac - Using the Datastore and More

2008-06-25 Thread Tomeu Vizoso
Hi Faisal, some answers below:

2008/6/24 Faisal Anwar [EMAIL PROTECTED]:

 ?? Is there a specific reason why there isn't a set() method in the
 datastore.DSMetadata class? Shouldn't people be given standard accessors and
 mutators to work with this code. This is especially confusing because it
 seems there is presently a get() method, but the set() method does not
 exist (so the abstraction is completely different based on whether you are
 getting or setting data). d

That class is to be used in the same way as dictionaries in python, so
the API mimics that. By implementing __getitem__, __setitem__ and
get(), the user can do the following:

obj.metadata['my-property'] = 'blah blah'
print obj.metadata['my-property']
print obj.metadata.get('my-property', 'N/A')

 ?? Several things that are currently documented at
 http://wiki.laptop.org/go/Low-level_Activity_API#Keeping_and_Resuming are
 outdated. Specifically, it says datastore.create() returns the object_id.
 That's wrong, it returns the actual DSObject. Furthermore, it says there are
 methods called datastore.update and datastore.get_properties, but they don't
 exists.

That page documents the low level API that can be used by all
activities, no matter in which language are written. sugar.datastore
is a higher level API only available to python activities. See here
for the D-Bus API of the datastore:

http://dev.laptop.org/git?p=projects/datastore;a=blob;f=src/olpc/datastore/datastore.py

 ?? The deletion/destruction of datastore activities seems to be a little
 confusing. In particular, there is a datastore.delete() method and there is
 also a DSObject.destroy() method. Why doesn't datastore.delete() simply call
 the destroy() method in its code so that any files associated with the
 deleted datastore object are also removed. Given that a warning is thrown
 telling the developer that an object is deleted without directly calling
 DSObject.destroy() (it is called indirectly through the __del__ method, but
 why not have things more explicit?), I'm not sure why this isn't just done
 programmatically. Is there ever a reason why one woul perform a delete() on
 an object without doing the functionality in DSObject.destroy() and are any
 of these reasons compelling enough that we should keep the delete() and
 destroy() methods as they are now?

Well, datastore.delete() instructs the datastore to delete the object
from its persistent storage. DSObject.destroy() is intended to be
called when the user stops needing the transient instance that
represents the persistent object.

This is similar to DB programming with SQL in procedural languages,
deleting the resultset object is not the same as deleting the rows
that are contained in that resultset.

 Other questions may come up as people work more on this documentation. In
 the meantime, I'd greatly appreciate any feedback on the existing work and
 also any answers to the questions above.

Nice work, more questions welcome.

Regards,

Tomeu
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [IAEP] fixing etoys

2008-06-25 Thread Marco Pesenti Gritti
On Wed, Jun 25, 2008 at 4:23 AM, Bernie Innocenti [EMAIL PROTECTED] wrote:
 Also, I'd like to check if we could do anything to reduce our
 dependence on DBus to provide basic desktop services for which
 there are existing Freedesktop standards and long established
 X conventions.

 If we manage to make DBus entirely optional, the initial effort
 of porting a Linux applications to Sugar would be greatly
 simplified.

As far as I know this is already the case. The only non standard bit
are a couple of custom X properties.

The activity has a DBus service associated with the following methods:

@dbus.service.method(_ACTIVITY_INTERFACE)
def SetActive(self, active):
logging.debug('ActivityService.set_active: %s.' % active)
self._activity.props.active = active

@dbus.service.method(_ACTIVITY_INTERFACE)
def Invite(self, buddy_key):
self._activity.invite(buddy_key)

@dbus.service.method(_ACTIVITY_INTERFACE)
def TakeScreenshot(self):
self._activity.take_screenshot()

They are all optional. SetActive we might be able to get rid off.
TakeScreenshot is quite an hack, we might be able to use gtk offscreen
rendering or composite to get rid of it in the future. Invite I
personally think it's fine to stay a DBus method.

Obviously you start to need DBus heavily as soon as you want to
interact with the journal and the presence service, though.

Marco
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: etoys implementation

2008-06-25 Thread John Gilmore
My only experience with Squeak/eToys up til now was trying it on the
OLPC as a naive user.  Poking at objects on the screen with the
handles, since that was the only tutorial offered.  The way the darn
thing saved its workspace in the friggin Journal whenever you tried
to quit it reminded me of ancient APL interpreters that contained a
jumble of code and data, and Holger's explanation of why it's
non-free reinforced that.  Of course I have no idea how it's
actually implemented inside.  (There's apparently no tarball that I
could unpack and examine to find out, either; I'd have to learn how to
run their GUI just to look at their implementation.)

It took some searching, but I found a paper on the design of the guts
of Squeak:

  ftp://st.cs.uiuc.edu/Smalltalk/Squeak/docs/OOPSLA.Squeak.html

I don't know if it is still good documentation for the current
implementation, but it gives some idea of how Squeak was originally
built.  The interpreter was written and maintained in a subset of
high-level Squeak (smalltalk) but there's also a translator that
translates that interpreter into C, which is then compiled to produce
a binary interpreter.  Whether it does this dynamically or statically
I have no idea.  Then there's a separate Compiler that turns
Squeak/Smalltalk source code into bytecode objects that the
interpreter can run?

There's another page that purports to talk about how a Squeak image is
built, but after explaining how most people never quite feel at home
in a Squeak .changes file, it degenerates into details that make no
sense to an outsider.  Avoid http://wiki.squeak.org/squeak/1053 until
somebody rewrites it in English.  The rest of the internals doc is
sketchy copies of emails, with newer headings that say things like
The last system where this worked is 2.7 (January 2000).

I haven't yet found similar documentation for eToys, which is
apparently something built on squeak rather than built in?
There's also a warning at http://wiki.squeak.org/squeak that if you
want to run eToys, you need to run a different version of Squeak than
everybody else.

Anyway, it looks like there's lots of stuff hiding under the covers in
Squeak and eToys, but it's so undocumented that only a zealot would
ever figure out where or how to start.  Perhaps the team should
someday spend a month or two on documentation -- after all, it's an
education project, and if nobody can even find your source code, how
are they going to read it and educate themselves?  Or some zealot
could do the supposedly trivial implementation exercise of making
source code go into separate files, and being able to actually compile
source from files into binaries in files, rather than compiling only
from running images to running images.  These improvements would make
the freedom or lack thereof of Squeak/eToys more visible to ordinary
programmers -- like me, or the Debian team.

John
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Rebuilt Rainbow olpc-utils

2008-06-25 Thread Michael Stone
Dear Dennis  devel,

I rebuilt rainbow  olpc-utils. olpc-utils underwent a relatively
exciting merge wherein I combined patches from several contributors.
I've diffed the resulting RPM against olpc-utils-0.73.2 and I think it
will work, but I haven't tested it yet. 

Also, I built rainbow in F-9 since it doesn't have an OLPC-3 branch,
since the F-9 branch was handy, and since I might get some useful bug
reports as a result... :)

Feel free to ask me to repair the damage (or to do so yourself) if I
should have poked someone to make the OLPC-3 branch instead.

Michael
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Software Status Meeting Today (Wednesday) @ 1400 EDT, 1800 UTC in #olpc-meeting on freenode

2008-06-25 Thread Michael Stone
Dear friends,

Let's welcome Scott home from his vacation by describing all the easy
bugs that we squashed in his absence and all the really nasty bugs that
we couldn't solve without him.

Michael

P.S. - We're going to start regular release status meetings in addition
to the Wednesday development status meetings so that we make sure we
spend enough time resourcing current needs. I'm thinking that Tuesday,
somewhere in 1:00 PM - 3:00 PM EDT might be a good time. Comments?
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Rebuilt Rainbow olpc-utils

2008-06-25 Thread Marco Pesenti Gritti
Just fyi here is how you usually request branches:

http://fedoraproject.org/wiki/PackageMaintainers/CVSAdminProcedure

(Thanks for the build)

Marco

On Wed, Jun 25, 2008 at 11:28 AM, Michael Stone [EMAIL PROTECTED] wrote:
 Dear Dennis  devel,

 I rebuilt rainbow  olpc-utils. olpc-utils underwent a relatively
 exciting merge wherein I combined patches from several contributors.
 I've diffed the resulting RPM against olpc-utils-0.73.2 and I think it
 will work, but I haven't tested it yet.

 Also, I built rainbow in F-9 since it doesn't have an OLPC-3 branch,
 since the F-9 branch was handy, and since I might get some useful bug
 reports as a result... :)

 Feel free to ask me to repair the damage (or to do so yourself) if I
 should have poked someone to make the OLPC-3 branch instead.

 Michael
 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [IAEP] fixing etoys

2008-06-25 Thread Bert Freudenberg

Am 25.06.2008 um 10:49 schrieb Marco Pesenti Gritti:

 On Wed, Jun 25, 2008 at 4:23 AM, Bernie Innocenti  
 [EMAIL PROTECTED] wrote:
 Also, I'd like to check if we could do anything to reduce our
 dependence on DBus to provide basic desktop services for which
 there are existing Freedesktop standards and long established
 X conventions.

 If we manage to make DBus entirely optional, the initial effort
 of porting a Linux applications to Sugar would be greatly
 simplified.

 As far as I know this is already the case. The only non standard bit
 are a couple of custom X properties.

 The activity has a DBus service associated with the following methods:

@dbus.service.method(_ACTIVITY_INTERFACE)
def SetActive(self, active):
logging.debug('ActivityService.set_active: %s.' % active)
self._activity.props.active = active

@dbus.service.method(_ACTIVITY_INTERFACE)
def Invite(self, buddy_key):
self._activity.invite(buddy_key)

@dbus.service.method(_ACTIVITY_INTERFACE)
def TakeScreenshot(self):
self._activity.take_screenshot()

 They are all optional. SetActive we might be able to get rid off.
 TakeScreenshot is quite an hack, we might be able to use gtk offscreen
 rendering or composite to get rid of it in the future. Invite I
 personally think it's fine to stay a DBus method.

 Obviously you start to need DBus heavily as soon as you want to
 interact with the journal and the presence service, though.


Well, since these methods are not mandatory there is no need to get  
rid of them. An activity can still choose to implement activation/ 
deactivation by other means, for example.

- Bert -


___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Setting up the mesh device

2008-06-25 Thread Dan Williams
On Tue, 2008-06-24 at 18:09 -0400, Polychronis Ypodimatopoulos wrote:
 Sjoerd Simons wrote:
  I'm setting the ESSID on the msh0 interface indeed. But i never get an
  association event on it.. While i even get an association event on eth0 when
  it's not up (but with msh0 being up obviously) :) Seems i've got some more 
  bugs
  to file

 
 Why would you set an ESSID on the mshX interface in the first place? I 
 understand that, from a solid layering perspective, you should be able 
 to set essids on mshX since it's treated as a wireless interface, but it 
 would logically separate network users. It's hard enough as it is to 
 discover nodes in different channels (although different channels do 
 have a radio scaling advantage).

You need a way to tell the firmware that you'd like to apply the
configuration.  And once you tell the firmware that, the firmware
somehow needs to notify you that it's completed the requested
operations.  There is a small but noticeable amount of time between when
you send the request, and when the firmware has completed the channel
change and set up the state.  If you don't wait for the notification,
you'll assume you can send traffic when you actually cannot, and things
like mDNS announcements and such will be lost.

With WEXT, setting either the SSID or the BSSID are those triggers, and
the SIOCGIWAP event is the notification.  Unfortunately, because WEXT
doesn't have a direct link between requests and replies, we have to
enforce stricter semantics on behavior.

Dan

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Setting up the mesh device

2008-06-25 Thread Dan Williams
On Wed, 2008-06-25 at 02:34 +0100, Sjoerd Simons wrote:
 On Tue, Jun 24, 2008 at 06:09:58PM -0400, Polychronis Ypodimatopoulos wrote:
  Sjoerd Simons wrote:
  I'm setting the ESSID on the msh0 interface indeed. But i never get an
  association event on it.. While i even get an association event on eth0 
  when
  it's not up (but with msh0 being up obviously) :) Seems i've got some more
  bugs to file
 
 
  Why would you set an ESSID on the mshX interface in the first place? I
  understand that, from a solid layering perspective, you should be able
  to set essids on mshX since it's treated as a wireless interface, but it
  would logically separate network users. It's hard enough as it is to
  discover nodes in different channels (although different channels do
  have a radio scaling advantage).
 
 Because we can? Seriously it's not for NetworkManager to decide this kind of
 policy, some higher layer needs to tell it what to do. If that's the same 
 essid
 for all machine that's fine (most likely the update sugar NM bits will just
 have one essid hardcoded). The current wireless firmware might not even
 actually bother with checking essid's on traffic all.

The firmware's mesh functionality doesn't care what the SSID is.  The
only thing that distinguishes one mesh from another is the tuple of
(channel, encryption).  I don't even think BSSID matters (which it does
in ad-hoc and infrastructure networks).  Thus, the only policy that
upper layers can or need to apply is the channel and encryption that the
connection might use; hence why we eventually exposed the separate
channels in Sugar.

Dan

 The more important part, like Dan explained, is that this is the way
 to tell wireless drivers in linux to go and configure what's needed and tell 
 us
 when they're ready for actual traffic (by means of an association event). So 
 we
 can start doing things like dhcp and/or autoip.
 
   Sjoerd

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: SuperUser permission for the Driver??

2008-06-25 Thread Carl-Daniel Hailfinger
On 25.06.2008 08:07, Michael Stone wrote:
 We have an activity that wants superuser privilege in order to poke
 kernel memory.
   

Hello? Please take the poor activity out back and shoot it. No activity
has any business poking kernel memory.

 The real questions we should be attempting to address here include:

 * Who is granting privilege to this activity?
   

Everybody who wants to ridicule the security model.

 * How are they doing so?

 * How should we record the decision?

  -  My tentative answer is that we should store activities with
 different security properties in well-known directory chains
 with appropriately restricted write access.

 * What kinds of abuse are these mechanisms vulnerable to?

 * Whose responsibility is it to handle the error condition that the
   human operator does not, him-or-herself posess superuser privilege,
   e.g. for theft-deterrence reasons?
   

Just say no.

Having an activity poke kernel memory is a really strong sign that the
interface is totally broken.

Regards,
Carl-Daniel
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Want to package PostgreSQL for OLPC

2008-06-25 Thread Martin Langhoff
2008/6/25 Devrim GÜNDÜZ [EMAIL PROTECTED]:
 I would like to assist packaging PostgreSQL for OLPC.
 I'm the upstream packager for PostgreSQL, and I also maintain 30+
 packages for Fedora+EPEL.
 What should I do next?

Hi Devrim! Thanks for getting in touch - I am the guy looking after
the School Server, and that's where we need Pg. Right now, we are
based on F7 and though we plan to move to F9, that will take a little
bit of time. I am hoping to have Pg 8.2 or 8.3, and I think F9 already
has it.

How hard is it to get a backport of Pg8.2/8.3, plus some key
dependencies (php-pgsql, python-pgsql, pam-pgsql) recompiled to use
the new libpq, all on F7?

Also - I see you work at CommandPrompt -- so I'll throw a wishlist
item I have on my list in your direction. Perhaps you, or someone at
CommandPrompt has something similar. With Pg packaged, what we will
need to come up with is ~3 sets of config files tuned for different
memory footprints. The same XS image will be used in hosts with
various memory configurations - 256MB RAM on XO hardware, 1GB on the
recommended config, and high-end hosts may have more RAM.

Pg cannot take all of that memory, but perhaps 15%-20% is a reasonable
footprint. The workload for Pg is mainly Moodle and MediaWiki.

One of the key things for the XS is that we should not OOM, and our
working set _must not_ end up in swap. And we have several services we
have to run, so it's a bit of a tough diet on RAM usage. We gotta
sweat every MB :-)

cheers, and thanks,



m
-- 
 [EMAIL PROTECTED]
 [EMAIL PROTECTED] -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Want to package PostgreSQL for OLPC

2008-06-25 Thread Devrim GÜNDÜZ
On Wed, 2008-06-25 at 08:48 -0400, Martin Langhoff wrote:

 How hard is it to get a backport of Pg8.2/8.3, plus some key
 dependencies (php-pgsql, python-pgsql, pam-pgsql) recompiled to use
 the new libpq, all on F7?

http://yum.pgsqlrpms.org ;)

I have already built all PG combinations against Fedora 7-8-9 and RHEL
4,5. 

We have compat packages, and all pam-pgsql, etc in that repository. So,
using those files won't be a problem.

 Also - I see you work at CommandPrompt -- so I'll throw a wishlist
 item I have on my list in your direction. Perhaps you, or someone at
 CommandPrompt has something similar. With Pg packaged, what we will
 need to come up with is ~3 sets of config files tuned for different
 memory footprints. The same XS image will be used in hosts with
 various memory configurations - 256MB RAM on XO hardware, 1GB on the
 recommended config, and high-end hosts may have more RAM.

Sure, it is doable -- I can do it for you.

 Pg cannot take all of that memory, but perhaps 15%-20% is a reasonable
 footprint. The workload for Pg is mainly Moodle and MediaWiki.

Ok.

 One of the key things for the XS is that we should not OOM, and our
 working set _must not_ end up in swap. And we have several services we
 have to run, so it's a bit of a tough diet on RAM usage. We gotta
 sweat every MB :-)

You are right.

So, please let me know when you need the config files, and also how can
I submit those packages to OLPC repository.

Regards,
-- 
Devrim GÜNDÜZ , RHCE
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Managed Services, Shared and Dedicated Hosting
Co-Authors: plPHP, ODBCng - http://www.commandprompt.com/


signature.asc
Description: This is a digitally signed message part
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Want to package PostgreSQL for OLPC

2008-06-25 Thread Devrim GÜNDÜZ
On Wed, 2008-06-25 at 09:44 -0400, Martin Langhoff wrote:
 
  We have compat packages, and all pam-pgsql, etc in that repository.
 So,
  using those files won't be a problem.
 
 Fantastic! So python-pgsql and php-pgsql are there too?

python-psycopg2 is there, but not php-pgsql. The question is: Is
php-pgsql already in OLPC package set? If yes, we have compat packages
to satisfy dependencies. If not, I can give it a shot.

 ...
  So, please let me know when you need the config files, and also how
 can
  I submit those packages to OLPC repository.
 
 When? Yesterday ;-)  - but perhaps there is no need for rebuilding the
 packages. What I am wondering about is what the best solution is to
 maintain those alternative configurations long-term.


 Perhaps we could have a postgresql-server-altinit package that
 provides an alternative init script + config files and disables the
 init script from postgresql-server. The alternative init check memory
 size, and starts with the appropriate config files.

Maybe we can solve this issue during initdb process, and copy the
preconfigured config file based on the memory to data directory after we
run initdb.

It may be easier to maintain...

BTW... I must admit that I did not work for OLPC project before, so I
don't know how to do things.

Regards,
-- 
Devrim GÜNDÜZ , RHCE
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Managed Services, Shared and Dedicated Hosting
Co-Authors: plPHP, ODBCng - http://www.commandprompt.com/


signature.asc
Description: This is a digitally signed message part
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [RFC] Unscheduled Software Release for SD Card Corruption Workaround

2008-06-25 Thread Deepak Saxena
On Jun 25 2008, at 00:04, Kim Quirk was caught saying:
 Thanks Deepak.
 I'd love to see the SD card corruption fixed, but we are just about finished
 with testing and are now in the release process for 8.1.1... so i recommend
 that we schedule this fix for the 8.1.2 release (if we do this release) and
 make sure it gets into 8.2.0, which might be the next release we get out the
 door.

Ah, I didn't fully grok our release schedule and thought 8.1.1 was already
out the door.

 Other thoughts?

Eric and I talked about this a bit yesterday and we thought that doing
a full USR is probably not needed. What we're looking at doing to help
the G1G1 users who are impacted by this is to spin a kernel RPM and
initrd that they can install. 

~Deepak

-- 
Deepak Saxena [EMAIL PROTECTED]
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


New joyride build 2073

2008-06-25 Thread Build Announcer v2
http://xs-dev.laptop.org/~cscott/olpc/streams/joyride/build2073

Changes in build 2073 from build: 2072

Size delta: 0.52M

-gnash-plugin 0.8.2-2.fc9
+gnash-plugin 0.8.3-1.olpc3
-olpc-utils 0.73-2.olpc3.3
+olpc-utils 0.75-1.olpc3
-gnash 0.8.2-2.fc9
+gnash 0.8.3-1.olpc3
-sugar-presence-service 0.81.2-1.olpc3
+sugar-presence-service 0.81.2-2.olpc3

--- Changes for olpc-utils 0.75-1.olpc3 from 0.73-2.olpc3.3 ---
  + Add registration utility

--- Changes for gnash 0.8.3-1.olpc3 from 0.8.2-2.fc9 ---
  + update to 0.8.3 and adapt to OLPC
  + rebuild against new xulrunner
  + ship libklashpart (#441601)

--
This mail was automatically generated
See http://dev.laptop.org/~rwh/announcer/joyride-pkgs.html for aggregate logs
See http://dev.laptop.org/~rwh/announcer/joyride_vs_update1.html for a 
comparison
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: etoys implementation

2008-06-25 Thread Yoshiki Ohshima
  Hi, John,

 My only experience with Squeak/eToys up til now was trying it on the
 OLPC as a naive user.  Poking at objects on the screen with the
 handles, since that was the only tutorial offered.  The way the darn
 thing saved its workspace in the friggin Journal whenever you tried
 to quit it reminded me of ancient APL interpreters that contained a
 jumble of code and data, and Holger's explanation of why it's
 non-free reinforced that.  Of course I have no idea how it's
 actually implemented inside.  (There's apparently no tarball that I
 could unpack and examine to find out, either; I'd have to learn how to
 run their GUI just to look at their implementation.)

  Is this discussion still on whether Etoys can be in Debian?  Whether
it can or cannot doesn't depend on whether Journal is friggn, the way
it saves the workspace content, or the fact that you have to learn how
to run (?) the GUI to look at its implementation.  The fact that you
better to (strictly speaking, you don't have to) use a particular
editor is a requirement?

  (BTW, http://wiki.laptop.org/go/Smalltalk_Development_on_XO might be
helpful.  Read SqueakV3.sources as EtoysV3.sources in the page,
though.  http://static.squeak.org/tutorials/BankAccount.html is
obsolete, but a classic tutorial.)

  Lack of some documentation is a problem, but once you know where to
click in the GUI, *all* code are nicely hyperlinked together so that
reading code and learning it becomes so easy and encouraging.  That is
why many developers who used to it lose motivation to write getting
started documents^^;

  It is definitely learnable.  There are many new (young and old)
poeple get interested in Smalltalk all the time and poking around.
Papers are published to prestige and not-so-prestige computer science
conferences constantly on making deep changes to Smalltalk or making
applications, etc.  There are companies that are making products.

  By its nature, it is true that it is much, much easier to get
started when you have somebody who already knows it around but it is
sometimes hard to find such a person.

  But let us not derail the discussion.  This discssion is not about
making you like Etoys/Squeak.

-- Yoshiki
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: OLPC config in salut in F9?

2008-06-25 Thread Morgan Collett
On Wed, Jun 25, 2008 at 12:01, Guillaume Desmottes
[EMAIL PROTECTED] wrote:
 Le mardi 24 juin 2008 à 17:36 -0700, Brian Pepple a écrit :
 On Wed, 2008-06-25 at 01:12 +0200, Morgan Collett wrote:
  Can we enable the OLPC-specific patches and config in telepathy-salut
  in F-9? We're rebasing OLPC builds on F-9 and it would be good to work
  in the F-9 branch and not need to fork.

 Does it make sense to have these patches in F9? I'm on vacation right
 now, so I don't really have time to look at the patches.  If it makes
 sense to have these in F9 in addition to OLPC, I don't have a problem
 with you doing enabling it.

 Not really. These patches are ugly OLPC specific workarounds due to XO
 security model (Rainbow).
 Building Salut with --enable-olpc doesn't hurt though (Debian does).

OK, then we want to make an OLPC-3 branch and build salut there with
the patches.

Morgan
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: OLPC config in salut in F9?

2008-06-25 Thread Marco Pesenti Gritti
On Wed, Jun 25, 2008 at 6:15 PM, Morgan Collett
[EMAIL PROTECTED] wrote:
 On Wed, Jun 25, 2008 at 12:01, Guillaume Desmottes
 [EMAIL PROTECTED] wrote:
 Le mardi 24 juin 2008 à 17:36 -0700, Brian Pepple a écrit :
 On Wed, 2008-06-25 at 01:12 +0200, Morgan Collett wrote:
  Can we enable the OLPC-specific patches and config in telepathy-salut
  in F-9? We're rebasing OLPC builds on F-9 and it would be good to work
  in the F-9 branch and not need to fork.

 Does it make sense to have these patches in F9? I'm on vacation right
 now, so I don't really have time to look at the patches.  If it makes
 sense to have these in F9 in addition to OLPC, I don't have a problem
 with you doing enabling it.

 Not really. These patches are ugly OLPC specific workarounds due to XO
 security model (Rainbow).
 Building Salut with --enable-olpc doesn't hurt though (Debian does).

 OK, then we want to make an OLPC-3 branch and build salut there with
 the patches.

It would still be good if we could --enable-olpc on the F9 packages,
so that Sugar can work right in Fedora 9. Morgan could you take care
of that?

I agree that the ugly rainbow workarounds should be kept in OLPC-3.

Marco
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [RFC] Unscheduled Software Release for SD Card Corruption Workaround

2008-06-25 Thread Kim Quirk
Deepak,
I think you should feel free to release information and kernel rpms to the
devel list, pretty much whenever you want since you (or others) can answer
questions and help people who want to try this out. I would consider this as
'developer testing' -- which is great and shouldn't get bogged down in too
much process.

The benefit of going through a 'release process', in general, is to get the
feature or bug fix out to the general public, documented (and supportable),
after a more formal QA process. After you are happy with the developer
testing, if there is a big enough demand in the general public we can go
through the unscheduled release process to get a formal build, testing, and
release (8.1.1). If the demand isn't too large and the timing is such that
we are pretty close to 8.2.0 release, then we should target it for that
release.

Kim

On Wed, Jun 25, 2008 at 9:14 AM, Deepak Saxena [EMAIL PROTECTED] wrote:

 On Jun 25 2008, at 00:04, Kim Quirk was caught saying:
  Thanks Deepak.
  I'd love to see the SD card corruption fixed, but we are just about
 finished
  with testing and are now in the release process for 8.1.1... so i
 recommend
  that we schedule this fix for the 8.1.2 release (if we do this release)
 and
  make sure it gets into 8.2.0, which might be the next release we get out
 the
  door.

 Ah, I didn't fully grok our release schedule and thought 8.1.1 was already
 out the door.

  Other thoughts?

 Eric and I talked about this a bit yesterday and we thought that doing
 a full USR is probably not needed. What we're looking at doing to help
 the G1G1 users who are impacted by this is to spin a kernel RPM and
 initrd that they can install.

 ~Deepak

 --
 Deepak Saxena [EMAIL PROTECTED]

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


New faster build 2073

2008-06-25 Thread Build Announcer v2
http://xs-dev.laptop.org/~cscott/olpc/streams/faster/build2073

Changes in build 2073 from build: 2071

Size delta: 0.00M

-sugar-presence-service 0.81.2-1.olpc2
+sugar-presence-service 0.81.2-2.olpc2

--- Changes for sugar-presence-service 0.81.2-2.olpc2 from 0.81.2-1.olpc2 ---
  + Depends on telepathy-salut and telepathy-gabble

--
This mail was automatically generated
See http://dev.laptop.org/~rwh/announcer/faster-pkgs.html for aggregate logs
See http://dev.laptop.org/~rwh/announcer/joyride_vs_update1.html for a 
comparison
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: OLPC config in salut in F9?

2008-06-25 Thread Morgan Collett
On Wed, Jun 25, 2008 at 18:27, Marco Pesenti Gritti [EMAIL PROTECTED] wrote:
 On Wed, Jun 25, 2008 at 6:15 PM, Morgan Collett
 [EMAIL PROTECTED] wrote:
 On Wed, Jun 25, 2008 at 12:01, Guillaume Desmottes
 [EMAIL PROTECTED] wrote:
 Le mardi 24 juin 2008 à 17:36 -0700, Brian Pepple a écrit :
 On Wed, 2008-06-25 at 01:12 +0200, Morgan Collett wrote:
  Can we enable the OLPC-specific patches and config in telepathy-salut
  in F-9? We're rebasing OLPC builds on F-9 and it would be good to work
  in the F-9 branch and not need to fork.

 Does it make sense to have these patches in F9? I'm on vacation right
 now, so I don't really have time to look at the patches.  If it makes
 sense to have these in F9 in addition to OLPC, I don't have a problem
 with you doing enabling it.

 Not really. These patches are ugly OLPC specific workarounds due to XO
 security model (Rainbow).
 Building Salut with --enable-olpc doesn't hurt though (Debian does).

 OK, then we want to make an OLPC-3 branch and build salut there with
 the patches.

 It would still be good if we could --enable-olpc on the F9 packages,
 so that Sugar can work right in Fedora 9. Morgan could you take care
 of that?

Yes, I'll do that.

 I agree that the ugly rainbow workarounds should be kept in OLPC-3.

I've done a scratch build of telepathy-salut for dist-f9 with the
patches: http://dev.laptop.org/~morgan/telepathy-salut/

I'll request the branch.

Morgan
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: etoys implementation

2008-06-25 Thread Yoshiki Ohshima
  John,

  I separated the real Etoys implementation part from your email.
Hopefully it helps to focus on different aspects of discussion.

 It took some searching, but I found a paper on the design of the guts
 of Squeak:
 
   ftp://st.cs.uiuc.edu/Smalltalk/Squeak/docs/OOPSLA.Squeak.html
 
 I don't know if it is still good documentation for the current
 implementation, but it gives some idea of how Squeak was originally
 built.

  At the basic part on how it works, the paper is still valid and
good.  The performace increased since then quite a bit, and there are
other semi-major improvements, but that is ok.  Probably you can find
a copy of the proceedings (OOPSLA '97) somewhere if you like the paper
version.

 The interpreter was written and maintained in a subset of high-level
 Squeak (smalltalk) but there's also a translator that translates
 that interpreter into C, which is then compiled to produce a binary
 interpreter.  Whether it does this dynamically or statically I have
 no idea.

  Because it is into C, it is statically done.  In the later versions
and platform that support loading shared libraries (called plugins)
onto the VM, you could write some code for plugin in Squeak, generate
C, compile the C code to make a shared library and load it onto the
running Squeak session.  But that is besides the point.
  
 Then there's a separate Compiler that turns
 Squeak/Smalltalk source code into bytecode objects that the
 interpreter can run?

  Yes.  The Compiler is written in Squeak and the compiled result of
the Compiler itself is in the image.

 There's another page that purports to talk about how a Squeak image is
 built, but after explaining how most people never quite feel at home
 in a Squeak .changes file, it degenerates into details that make no
 sense to an outsider.

  The paper definitely serves its intended audience (programming
language designers and implementors.)  The paper is cited quite often
by papers from other language communities.

 I haven't yet found similar documentation for eToys, which is
 apparently something built on squeak rather than built in?

  Where did you find built on vs. built in discussion?  It doesn't
sound like an important distinction.

  The Etoys system is a bunch of additional code written in Squeak.
There are some deep changes in the base classes of Squeak to support
Etoys so it just happen to be distributed as a separated packaged
version called Etoys.

  There is no good documentation (as far as I know) on how Etoys is
implemented other than the source.  But again, the code is nicely
hyperlinked and the live system is there, learning it is possible if
you know Squeak.  (Etoys is like an application.  How many
applications you use have good documentation how they are implemented,
though?)

 There's also a warning at http://wiki.squeak.org/squeak that if you
 want to run eToys, you need to run a different version of Squeak than
 everybody else.

  *That* is Etoys.  What is wrong with it?

-- Yoshiki
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: etoys implementation

2008-06-25 Thread NoiseEHC

 There's also a warning at http://wiki.squeak.org/squeak that if you
 want to run eToys, you need to run a different version of Squeak than
 everybody else.
 

   *That* is Etoys.  What is wrong with it?
   
Just out of curiosity:
Exactly how is it different from vanilla squeak? (If there is such a 
thing at all.)
Is it a different VM, or just a different distribution since it has a 
different binary blob?
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: etoys implementation

2008-06-25 Thread Yoshiki Ohshima
  There's also a warning at http://wiki.squeak.org/squeak that if you
  want to run eToys, you need to run a different version of Squeak than
  everybody else.
  
 
*That* is Etoys.  What is wrong with it?

 Just out of curiosity:
 Exactly how is it different from vanilla squeak? (If there is such a 
 thing at all.)

  Whichever two images you would like to compare (why not write
Squeak?), launch two images and evaluate:

  Smalltalk condenseSources.

or equivalent in them.  Each of image will make a .sources file so you
get two .sources file.  Then, use diff (perhaps you might want to
convert CR to LF before that) to see the difference.

 Is it a different VM, or just a different distribution since it has a 
 different binary blob?

  The VM is well synchronized with the trunk VM.  They were identical
a few weeks ago.  We now have a few more patches in the OLPC VM branch
but it is not significant.  The VM is a separeted rpm BTW.

  Why do you refer it to as binary blob?

-- Yoshiki
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: etoys implementation

2008-06-25 Thread Karl Ramberg
NoiseEHC wrote:
 There's also a warning at http://wiki.squeak.org/squeak that if you
 want to run eToys, you need to run a different version of Squeak than
 everybody else.
 
   
   *That* is Etoys.  What is wrong with it?
   
 
 Just out of curiosity:
 Exactly how is it different from vanilla squeak? (If there is such a 
 thing at all.)
 Is it a different VM, or just a different distribution since it has a 
 different binary blob?
The Etoys image is different than the main Squeak image, which  is 
mostly used by researchers and web developers.The main Squeak image is 
more focused on maintaining the Smalltalk libraries and IDE features 
while Etoys is more like a application.

One drawback of the Smalltalk image is it's monolithic nature and while 
the separation of the main classes and Etoy classes can be done, it's a 
big job and can become a hassle when all kinds of different users have 
their own agenda and objectives.
Therefor a plethora of images are available and are specialized for 
their use, much like different Linux distributions.

Karl
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Want to package PostgreSQL for OLPC

2008-06-25 Thread Martin Langhoff
On Wed, Jun 25, 2008 at 9:52 AM, Devrim GÜNDÜZ [EMAIL PROTECTED] wrote:
 python-psycopg2 is there, but not php-pgsql. The question is: Is
 php-pgsql already in OLPC package set? If yes, we have compat packages
 to satisfy dependencies. If not, I can give it a shot.

It's not mentioned in our current metapackage. I would go for a
libpq4-based php-pgsql if possible.

 Maybe we can solve this issue during initdb process, and copy the
 preconfigured config file based on the memory to data directory after we
 run initdb.

Probably not tied to initdb - service init is the right time to assess
physical RAM, copes with HW changes that may happen between boots, and
also allows us to deploy new versions of the template files.

 BTW... I must admit that I did not work for OLPC project before, so I
 don't know how to do things.

Nothing too special here :-) - it's a F7 system that aims to be as
appliance-like as possible.

thanks!



m
-- 
 [EMAIL PROTECTED]
 [EMAIL PROTECTED] -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: etoys implementation

2008-06-25 Thread NoiseEHC
Thanks!


   Why do you refer it to as binary blob?

   

That was the first word jumped into my mind. All I know is that it is 
not in CVS or GIT so nothing serious.
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


OLPC XO Opera browser as Sugar activity

2008-06-25 Thread Stevens
Hi All,

I run Opera on the XO, but if started as an activity it doesn't run  
(it runs fine when started from terminal). There is a note on the  
Opera install page that there is an incompatibility between Rainbow  
and Opera:

Note: There is at present an incompatibility between the Opera  
activity and the OLPC Rainbow security system on some builds. If when  
you launch the Opera activity, the screen goes blank and stays blank,  
you have likely encountered that incompatibility.
http://wiki.laptop.org/go/Opera

That is the symptom I encounter.

Could one of you tell me what this incompatibility is, and how to  
remove it? I'm using build 703, the latest stable build.

-Peter

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: etoys implementation

2008-06-25 Thread Edward Cherlin
On Wed, Jun 25, 2008 at 11:00 AM, Yoshiki Ohshima [EMAIL PROTECTED] wrote:
[John Gilmore wrote:]
  There's also a warning at http://wiki.squeak.org/squeak that if you
  want to run eToys, you need to run a different version of Squeak than
  everybody else.
 
*That* is Etoys.  What is wrong with it?

Yes, Etoys is precisely a version of Squeak with more objects added in.

 Just out of curiosity:
 Exactly how is it different from vanilla squeak? (If there is such a
 thing at all.)

More objects written in Squeak.

  Whichever two images you would like to compare (why not write
 Squeak?), launch two images and evaluate:

  Smalltalk condenseSources.

 or equivalent in them.

Explain to John and me how you get a command line in Etoys. No, I see
it. It's the text input mode in a Scriptor.

http://www.fit.vutbr.cz/study/courses/OMP/public/software/sqcdrom2/Tutorials/SqOnlineBook_(SOB)/englisch/sqk/sqk00046.htm

tells you how to operate the controls to get to a scriptor and type in
it to create a changes file.

doFileout
Smalltalk changes fileOut.
self beep: 'croak'

Actually, John, everything you need is in the Etoys Help tool--Script
Tiles, Object Catalog, and Halo Handles (including the Viewer and
Debugger)--and the Squeak tutorial
http://www.fit.vutbr.cz/study/courses/OMP/public/software/sqcdrom2/Tutorials/SqOnlineBook_(SOB)/index.html

 Each of image will make a .sources file so you
 get two .sources file.  Then, use diff (perhaps you might want to
 convert CR to LF before that) to see the difference.

Is this .sources output what Debian is asking for? If not, why not,
and what would we have to do to complete it from their point of view?

http://wiki.squeak.org/squeak/759

Smalltalk condenseSources
extracts the currently valid definitions form both
the sources file and the changes file and merges these into an
new sources file SourcesV3.6 (you are asked to supply the name of the
new sources file).
All outdated definitions are dropped. We have a 14MBytes sources and
10 MBytes changes file.
When these merge we have a 16 MBytes source file and a nearly empty
changes file. We therefore conclude, that the 10 MBytes of the changes
contained 2 MBytes new code and 8 MBytes development history.

Can gst bring in a .sources file and a .changes file and create a working image?

 Is it a different VM, or just a different distribution since it has a
 different binary blob?

  The VM is well synchronized with the trunk VM.  They were identical
 a few weeks ago.  We now have a few more patches in the OLPC VM branch
 but it is not significant.  The VM is a separeted rpm BTW.

  Why do you refer it to as binary blob?

Yeah, it's mostly Smalltalk source and objects created in Smalltalk.

 -- Yoshiki
 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel

-- 
Edward Cherlin
End Poverty at a Profit by teaching children business
http://www.EarthTreasury.org/
The best way to predict the future is to invent it.--Alan Kay
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: etoys implementation

2008-06-25 Thread Bert Freudenberg

Am 25.06.2008 um 23:25 schrieb Edward Cherlin:

 On Wed, Jun 25, 2008 at 11:00 AM, Yoshiki Ohshima [EMAIL PROTECTED]  
 wrote:
 [John Gilmore wrote:]
 There's also a warning at http://wiki.squeak.org/squeak that if  
 you
 want to run eToys, you need to run a different version of Squeak  
 than
 everybody else.

  *That* is Etoys.  What is wrong with it?

 Yes, Etoys is precisely a version of Squeak with more objects added  
 in.

 Just out of curiosity:
 Exactly how is it different from vanilla squeak? (If there is such a
 thing at all.)

 More objects written in Squeak.

 Whichever two images you would like to compare (why not write
 Squeak?), launch two images and evaluate:

 Smalltalk condenseSources.

 or equivalent in them.

 Explain to John and me how you get a command line in Etoys. No, I see
 it. It's the text input mode in a Scriptor.

 http://www.fit.vutbr.cz/study/courses/OMP/public/software/sqcdrom2/Tutorials/SqOnlineBook_(SOB)/englisch/sqk/sqk00046.htm

 tells you how to operate the controls to get to a scriptor and type in
 it to create a changes file.

 doFileout
 Smalltalk changes fileOut.
 self beep: 'croak'

 Actually, John, everything you need is in the Etoys Help tool--Script
 Tiles, Object Catalog, and Halo Handles (including the Viewer and
 Debugger)--and the Squeak tutorial
 http://www.fit.vutbr.cz/study/courses/OMP/public/software/sqcdrom2/Tutorials/SqOnlineBook_(SOB)/index.html

Actually, to get at the Smalltalk tools, use the view-source key. This  
is also mapped to Alt-, if you happen to not run on the XO, while ALt- 
Shift-W brings up the regular Squeak main menu. Under help-preferences  
you can disable the etoyFriendly setting, which then brings up the  
main menu on a background left-click.

 Each of image will make a .sources file so you
 get two .sources file.  Then, use diff (perhaps you might want to
 convert CR to LF before that) to see the difference.

 Is this .sources output what Debian is asking for? If not, why not,
 and what would we have to do to complete it from their point of view?

Only they can answer that. It is all the sources, yes.

 http://wiki.squeak.org/squeak/759

 Smalltalk condenseSources
 extracts the currently valid definitions form both
 the sources file and the changes file and merges these into an
 new sources file SourcesV3.6 (you are asked to supply the name of the
 new sources file).
 All outdated definitions are dropped. We have a 14MBytes sources and
 10 MBytes changes file.
 When these merge we have a 16 MBytes source file and a nearly empty
 changes file. We therefore conclude, that the 10 MBytes of the changes
 contained 2 MBytes new code and 8 MBytes development history.

We currently ship an 18 MB .sources and 600 K .changes file. So the  
condenseSources step isn't going to make much of a difference (we did  
it in April to produce EtoysV3.sources).

 Can gst bring in a .sources file and a .changes file and create a  
 working image?

Not currently.

- Bert -

 Is it a different VM, or just a different distribution since it  
 has a
 different binary blob?

 The VM is well synchronized with the trunk VM.  They were identical
 a few weeks ago.  We now have a few more patches in the OLPC VM  
 branch
 but it is not significant.  The VM is a separeted rpm BTW.

 Why do you refer it to as binary blob?

 Yeah, it's mostly Smalltalk source and objects created in Smalltalk.

 -- Yoshiki
 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel

 -- 
 Edward Cherlin
 End Poverty at a Profit by teaching children business
 http://www.EarthTreasury.org/
 The best way to predict the future is to invent it.--Alan Kay
 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel



___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: OLPC config in salut in F9?

2008-06-25 Thread Morgan Collett
On Wed, Jun 25, 2008 at 18:35, Morgan Collett [EMAIL PROTECTED] wrote:
 On Wed, Jun 25, 2008 at 18:27, Marco Pesenti Gritti [EMAIL PROTECTED] wrote:
 It would still be good if we could --enable-olpc on the F9 packages,
 so that Sugar can work right in Fedora 9. Morgan could you take care
 of that?

 Yes, I'll do that.

Done.

Morgan
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [Server-devel] Yummy incron

2008-06-25 Thread Bill Bogstad
On Tue, Jun 24, 2008 at 8:54 PM, Martin Langhoff [EMAIL PROTECTED] wrote:
 Looking for a (memory, cpu, power) efficient way to trigger
 events/scripts on the XS, I came across incrond. It weights ~600KB
 according to ps_mem.py, and it looks like the kind of tool we want to
 be using. There are a few processes I have on the XS that signal
 completion by touching a file in a tmpdir, so that a different process
 (with different privileges) can perform other steps. Using incron
 rather than poll frequently from an in-memory process or crond seems
 much smarter.

 rant
 Yes, this a bit like DBus, but DBus was designed for a desktop with
 Gobs Of Mighty RAM, and it requires that your process must be running
 in memory, and that it'd be forking/threaded if you want to process
 stuff in parallel. This means our (mostly python) processes are
 sitting idly on memory we don't have the luxury to spare. And that
 little or nothing happens in parallel.

I'm confused.   Won't the XS servers always have swap/paging space?
Idle processes should take hardly any RAM at all.
Not being familar with python's threading model, it may be that idle
threads (in a single process) will still take up memory.   Even then
though, partial process/thread paging should be active.  Does DBUS
wake up processes it shouldn't?  (creating RAM thrashing problems)
That seems to me to be more of a problem with DBUS message types not
being specific enough.

OTOH, If you were talking about the XO platform (paging to flash
probably being a bad idea), I would agree with you.

Bill Bogstad
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: etoys implementation

2008-06-25 Thread Frank Ch. Eigler
Edward Cherlin [EMAIL PROTECTED] writes:

 [...]  Can gst bring in a .sources file and a .changes file and
 create a working image?

It doesn't have to.  It builds gst.im from scratch at every
bootstrap.  If squeak/etoys did something close to that, many
concerns would be pacified.

- FChE
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: OLPC XO Opera browser as Sugar activity

2008-06-25 Thread John Gilmore
 The activity start script should configure Opera to put its  
 configuration file in $SUGAR_ACTIVITY_ROOT/data instead of  
 $HOME/.opera. Also it should set umask to 0002 so the config file is  
 group-writable (otherwise the next activity instance cannot overwrite).
 
 See http://wiki.laptop.org/go/Low-level_Activity_API#File_Access

  QSettings: error creating /home/olpc/isolation/1/uid_to_home_dir/ 
  1/.qt
  opera: Can not use personal directory: /home/olpc/isolation/1/ 
  uid_to_home_dir/1/.opera

This looks more like a bug in Rainbow than in Opera.

Why would Sugar or Rainbow be setting $HOME to a rainbow-created
directory that the activity can't make subdirectories in?

(The universe of Unix programs isn't going to rewrite itself because
OLPC decided that $SUGAR_ACTIVITY_ROOT is the right place to keep your
files on Unix.  $HOME has been that place for decades.  Rainbow is
already setting $HOME.  It's just apparently setting it to something
that doesn't work.)

 Also it should set umask to 0002 so the config file is  
 group-writable (otherwise the next activity instance cannot overwrite).

If Rainbow runs the same activity as many different UIDs that share a
single group ID, then yes, Rainbow should be setting the umask so that
files are created group-writeable by default.  There should be no need
to modify ordinary Unix programs for this.

John
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: etoys implementation

2008-06-25 Thread Yoshiki Ohshima
At Wed, 25 Jun 2008 19:09:12 -0400,
Frank Ch. Eigler wrote:
 
 Edward Cherlin [EMAIL PROTECTED] writes:
 
  [...]  Can gst bring in a .sources file and a .changes file and
  create a working image?
 
 It doesn't have to.  It builds gst.im from scratch at every
 bootstrap.  If squeak/etoys did something close to that, many
 concerns would be pacified.

  Yes, for GNU Smalltalk, these are not .sources file and .changes
file but you can create an image file.

  BTW, Smalltalk-72 had a text file called ALLDEFS that is the
bootstrap file for the entire system.  For Smalltalk, bootstraping
from a text file is not a new concept.  While Dan and others were
experimenting different ideas like image, somehow a part of free
software community made very rigid by people who only know one way of
doing it and now we are having this conversation.

  For those who are curious, try Smalltalk-72 emulator available here:

http://map1.squeakfoundation.org/sm/accountbyid/a6930213-b578-49b1-862e-228cc5ab39e7/package/b98225e0-151d-4508-88fe-483db46f9814/autoversion/1

  BTW, As pointed out many times, we are not sticking to Squeak
because it is Smalltalk; but because it has Etoys.

-- Yoshiki
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [IAEP] etoys now available in Debian's non-free repository

2008-06-25 Thread Yoshiki Ohshima
At Tue, 24 Jun 2008 17:12:23 -0400,
Frank Ch. Eigler wrote:
 
 The gist of the argument is that one can't currently know what's
 really inside an etoys image, except beyond what it itself tells us,

  BTW, have you now understood that this was not true?

-- Yoshiki
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [IAEP] etoys now available in Debian's non-free repository

2008-06-25 Thread Frank Ch. Eigler

Yoshiki Ohshima [EMAIL PROTECTED] writes:

 The gist of the argument is that one can't currently know what's
 really inside an etoys image, except beyond what it itself tells us,

 BTW, do you now agree that this was not true?

 If you give me an image file and ask me why the word at offset
 0x12345 in the file is 0x89ABCDEF?, I can answer that by opening the
 image file externally with InterpreterSimulator, examine the bits and
 answer something like this is a second slot of an Array that points
 to a number object, and the array is pointed to by this, this and ths
 object., etc.

Yes, that sounds much better (from a security/trust point of view)
than having to ask the virtual machine itself to introspect.  It
stills seems somewhat too low level to enable version control.  (Back
in the early 90's, when I wrote Smalltalk code for a living (sort of),
we ended up having to use external system (teamwork/envy IIRC) to
get decent version control and reproducible builds.)

It may be a useful exercise to run this over the whole etoys image to
identify those parts that are recompilable from the .source/.changes
files, those that represent plain data that could be serialized, and
perchance surprise objects whose existence was only known to Alan Kay
or Adele Goldberg back in the 80s. :-)

- FChE
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [IAEP] etoys now available in Debian's non-free repository

2008-06-25 Thread Yoshiki Ohshima
  After writing the most of reply here, I found it now largely
off-topic (thanks to Frank for understanding!)

At Wed, 25 Jun 2008 21:00:24 -0400,
Frank Ch. Eigler wrote:
 
 
 Yoshiki Ohshima [EMAIL PROTECTED] writes:
 
  The gist of the argument is that one can't currently know what's
  really inside an etoys image, except beyond what it itself tells us,
 
  BTW, do you now agree that this was not true?
 
  If you give me an image file and ask me why the word at offset
  0x12345 in the file is 0x89ABCDEF?, I can answer that by opening the
  image file externally with InterpreterSimulator, examine the bits and
  answer something like this is a second slot of an Array that points
  to a number object, and the array is pointed to by this, this and ths
  object., etc.
 
 Yes, that sounds much better (from a security/trust point of view)
 than having to ask the virtual machine itself to introspect.

  Well, if you understand more about the relationship between
InterpreterSimulator and the VM, external or not would not make so
much difference.  And, the VM is compiled by a foreign system (a C
compiler), there cannot be a place to hide something like Tompson's
attack.  External or not wouldn't be the factor.

  (And you probably meant that better than asking the image itself.)

 It stills seems somewhat too low level to enable version control.
 (Back in the early 90's, when I wrote Smalltalk code for a living
 (sort of), we ended up having to use external system
 (teamwork/envy IIRC) to get decent version control and
 reproducible builds.)

  Of course, what you would like to version control is the code people
write.  ENVY and others are designed for that purpose.

  For doing version control, we could more or less freeze an image to
be a base (like our etoys-dev-3.0.image), and make a release image
automatically by applying the updates
(http://tinlizzie.org/updates/etoys/updates/) and evaluate the do it
(ReleaseBuilderSqueakland new prepareReleaseImageForOLPC) from a
Makefile (if that makes people happy).  The diffs are all in small
textual files.  As long as you trust the base image, you only have to
look at the updates.

  Now and then, we may want to change the base image.  We do something
that gave the perception to people that the previous base image is
trustable there and that would do.

 It may be a useful exercise to run this over the whole etoys image to
 identify those parts that are recompilable from the .source/.changes
 files, those that represent plain data that could be serialized, and
 perchance surprise objects whose existence was only known to Alan Kay
 or Adele Goldberg back in the 80s. :-)

I don't know in what sense it is *useful*, but the core image of Spoon
(http://netjam.org/projects/spoon/) is 1,337 bytes (and of course
every byte is understood).

-- Yoshiki

  (And '80s is wrong time to go back in that sense, and Alan Kay and
Adele Goldberg aren't the names to be mentioned in that context.)
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [IAEP] fixing etoys

2008-06-25 Thread Bernie Innocenti
Marco Pesenti Gritti wrote:
 If we manage to make DBus entirely optional, the initial effort
 of porting a Linux applications to Sugar would be greatly
 simplified.
 
 As far as I know this is already the case. The only non standard bit
 are a couple of custom X properties.

Oh, is there a way around this requirement too?  A few days ago
someone here at OLE Nepal bundled up Firefox 2 and was disappointed
to get the infamous circle icon.  For them, changing the code and
rebuilding from source would be overkill.

(please don't ask me why Firefox 2... it might have been any large
Linux application)

If nobody has looked at this before, I might give it a shot
to see what the Gnome wnck applet does to pair windows with
their applications and desktop icons.

-- 
   \___/  Bernie Innocenti - http://www.codewiz.org/
  _| X |  Sugar Labs Team  - http://www.sugarlabs.org/
  \|_O_|  It's an education project, not a laptop project!
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: etoys now available in Debian's non-free repository

2008-06-25 Thread K. K. Subramaniam
On Wednesday 25 Jun 2008 12:08:44 am Albert Cahalan wrote:
  *All the source code* for *every* piece of byte code in the
  image is available, and not only that, we even *ship* it

 No. This is not true. You ship a binary blob. That doesn't
 count, even if so-called source code is viewable from
 within the blob.
Albert,

You are confusing binary as in secret encoding with binary as 
in encoding based on freely available specifications. A UTF-8 encoded file 
containing Mandarin or Hindi text would be unreadable on an ASCII text 
editor, but that doesn't make it a closed binary blob. A video file encoded 
using a secret patented codec would constitute a closed binary blob in the 
first sense since it cannot be decoded with publicly available readers nor 
can one be written without overriding someone's legal rights.

Squeak image is not a blob in the first sense. One can write a program to 
decode any image file and recover any data stored in it. The problem with the 
blob is not that it is closed, but it is monolithic and limited in capacity. 
The limit is not that restrictive for personal computing purposes, but it 
will hurt when one has to deal with audio/video clips, 3-D simulations or 
large databases. There is no checksum to verify integrity. Objects are stored 
higgedly piggedly making even partial recovery difficult. However, these are 
programming limits, not that of policy.

Subbu

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: SuperUser permission for the Driver??

2008-06-25 Thread shivaprasad javali
Sorry for being naive before. Now I have got rules file in udev which grants
access for my usb driver to detach the usb device from the kernel and my
driver works fine without having to be super user. Thank you so much for all
your suggestions.

But I got one more question for you, now to install the activity and having
it running I have to copy the rules file into /etc/udev/rules.d folder. How
can I do this while installing the activity itself. ( I need to make sure
that when I unzip my activity .xo file the rules file lands in the
/etc/udev/rules.d folder)

On Wed, Jun 25, 2008 at 5:31 PM, Carl-Daniel Hailfinger 
[EMAIL PROTECTED] wrote:

 On 25.06.2008 08:07, Michael Stone wrote:
  We have an activity that wants superuser privilege in order to poke
  kernel memory.
 

 Hello? Please take the poor activity out back and shoot it. No activity
 has any business poking kernel memory.

  The real questions we should be attempting to address here include:
 
  * Who is granting privilege to this activity?
 

 Everybody who wants to ridicule the security model.

  * How are they doing so?
 
  * How should we record the decision?
 
   -  My tentative answer is that we should store activities with
  different security properties in well-known directory chains
  with appropriately restricted write access.
 
  * What kinds of abuse are these mechanisms vulnerable to?
 
  * Whose responsibility is it to handle the error condition that the
human operator does not, him-or-herself posess superuser privilege,
e.g. for theft-deterrence reasons?
 

 Just say no.

 Having an activity poke kernel memory is a really strong sign that the
 interface is totally broken.

 Regards,
 Carl-Daniel
 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel