[Server-devel] Backup and Recovery

Hamilton Chua hamilton.chua at gmail.com
Tue Nov 3 09:01:54 EST 2009


Thanks for the confirmation. I am in the process of debugging. The only
change that made it get that far was to the journalentrybundle.py file.

Adding the get_bundle_id def (it just returns  "None" btw) allowed it to
go a step further and unzip the backup file.

However, please see the new error I am getting below. It deflates the
backup file but right after that it errors out complaining about a
missing __zip_file.

I noticed that it assumes the files extracted from the backup data is an
ActivityBundle. Is that correct ?

I'm tempted to just upgrade sugar to 0.86 but there might be those still
using strawberry who are reluctant to upgrade but would like to get
backup and restore working for strawberry, so finding exactly what to
change/fix on strawberry might be useful.


Archive:  /home/liveuser/.sugar/default/data/8419a696-5a24-4595-aeda-7488e72605fa

inflating: /tmp/83366588-d84b-4f00-acc1-3e5f32525540/83366588-d84b-4f00-acc1-3e5f32525540
  inflating: /tmp/83366588-d84b-4f00-acc1-3e5f32525540/_metadata.json
caution: excluded filename not matched:  mimetype
<sugar.bundle.activitybundle.ActivityBundle object at 0x9e7ad6c>
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/dbus/connection.py", line 214,
in maybe_handle_message
    self._handler(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/jarabe/journal/model.py", line
377, in _datastore_updated_cb
    updated.send(None, object_id=object_id)
  File "/usr/lib/python2.6/site-packages/sugar/dispatch/dispatcher.py",
line 125, in send
    response = receiver(signal=self, sender=sender, **named)
line 250, in __model_updated_cb
line 283, in _check_for_bundle
"/usr/lib/python2.6/site-packages/jarabe/model/bundleregistry.py", line
344, in install
    elif not self.add_bundle(install_path):
"/usr/lib/python2.6/site-packages/jarabe/model/bundleregistry.py", line
194, in add_bundle
    bundle = self._add_bundle(bundle_path)
"/usr/lib/python2.6/site-packages/jarabe/model/bundleregistry.py", line
208, in _add_bundle
    bundle = ActivityBundle(bundle_path)
"/usr/lib/python2.6/site-packages/sugar/bundle/activitybundle.py", line
51, in __init__
    Bundle.__init__(self, path)
  File "/usr/lib/python2.6/site-packages/sugar/bundle/bundle.py", line
65, in __init__
    if os.path.isdir(self._path):
  File "/usr/lib/python2.6/genericpath.py", line 41, in isdir
    st = os.stat(s)
TypeError: coercing to Unicode: need string or buffer, NoneType found
Exception AttributeError: "'ActivityBundle' object has no attribute
'_zip_file'" in <bound method ActivityBundle.__del__ of
vityBundle object at 0x9e7ad6c>> ignored


On Mon, 2009-11-02 at 16:47 +0100, Martin Langhoff wrote:
> On Mon, Nov 2, 2009 at 4:43 AM, Hamilton Chua <hamilton.chua at gmail.com> wrote:
> > I have backported the changes to the strawberry release and restore
> > seems to be working now.
> Good to hear you've narrowed it down. I'll probably have to apply
> similar patches on the OLPC F11 Sugar :-)
> > 4) Browse downloads the file and puts it in the Journal
> > 5) I click "Show in Journal"
> > 6) I see the "Activity+Backup" file details.
> > 7) Click "back" to journal
> That's weird. On the 8.2.1 XO OS release, the process is skips step
> 6&7. The "downloading" message in Browse.xo does mention
> "Activity+Backup" (I tweaked the "apparent" filename that browse
> downloads to get that msg), but after that the Journal has only added
> the entry you want.
> > Is the above how more or less restore should work or behave ? I was sort
> > of expecting the  "Activity+Backup" file to be replaced by the restored
> > data in the Journal.
> Your expectations are right, and I think you are seeing another bug in
> the Browse.xo -> Journal interop.
> cheers,
> m

More information about the Server-devel mailing list