Open tony37 opened 7 years ago
@quozl A wild guess. But could we add JDR in the requirements or the dependency file? Just like when a program is being installed, the dependencies get installed too. So if the installation of JRE fixes the issue then why not add it. {This is really not my area but still exploring. I apologize.}
My sense is that Ubuntu-based Sugar will not have the storage limitations of the XO and java could be installed in Ubuntu and the activities dependent on Java modified accordingly.
And Java can be installed easily without any storage issues.
@vipulgupta2048 the Sugar bundles don't have dependencies, they are supposed to include everything they need within the bundle unless the platform has already provided it. See activity bundles.
We don't have a standard way to declare a dependency. We don't have a standard cross-platform way to resolve a dependency at run-time, though there are attempts to do so. This activity has an attempt at least to warn the user and not run. That code is defective, as @tony37 identified.
The storage limitations of the XO-1 are quite significant. The Fedora 18 OLPC OS build for the XO-1 has only a handful of megabytes free, so installing Java typically means removing something else first, and because of the way the olpc-update
symlink farm works, the removal has to be an activity from /home/olpc
rather than an RPM. For best results, people use the Fedora 18 OLPC OS builder to turn off the olpc-update
feature to gain a bit more space to add dependencies by hand. They also remove GNOME desktop.
For using this activity on a platform other than Fedora 18 OLPC OS, such as Ubuntu 16.04, some patching is needed.
I understood the problem, but need to work and acquaint myself with the code. Thanks for the description. I am working on the build issue, right now. Have too much on the plate. I have added this to my checklist. Will take a look when that is done.
The activity fails at line 65 in activity.py:
keyerror: "SUGAR_ACTIVITIES_PATH"
on Ubuntu 16.04 sucrose
This code apparently is attempting to determine if the java activity is installed. Users need to know of this dependency. In the Ubuntu version activities have two possible paths:
/usr/share/sugar/activities
or
/home/username/Activities
SUGAR_ACTIVITIES_PATH if implemented needs to know how to deal with the Java activity installed in the image (/usr/share/sugar/activities) or by the user (/home/username/Activities).
My sense is that Ubuntu based Sugar will not have the storage limitations of the XO and java could be installed in Ubuntu and the activities dependent on Java modified accordingly.
After installing jre (sudo apt-get install default-jre and commenting out the test for java.activity, the activity works on Ubuntu 16.04 sucrose.