Activity co-op: Difference between revisions
No edit summary |
No edit summary |
||
(17 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{stub}} |
|||
{{draft}} |
|||
Developers -- When you use an activity and there's something you don't like... what do you do? |
Developers -- When you use an activity and there's something you don't like... what do you do? |
||
# Ignore it |
# Ignore it |
||
# Tell the activity's dev about it |
# Tell the activity's dev about it |
||
# File a proper bug report for it |
# File a proper bug report for it |
||
# Fix it locally |
# '''Fix it locally''' |
||
# Make a patch for it |
# '''Make a patch for it''' |
||
# git push |
# '''git push''' |
||
The activity co-op is for developers who, when they find something they don't like about their own system, want to immediately fix and upstream their changes. |
The activity co-op is for developers who, when they find something they don't like about their own system, want to immediately fix and upstream their changes. This will require a '''simplification''' and '''standardization''' of diff/'''patch generation''' and '''delivery'''. |
||
The current incarnation of this idea is "Brian's Script", which is a structured list of some activity repositories on dev.laptop.org, and a script for making symlinks so the '''git repositories''' show up as usable activities in sugar. The advantage of this is that you can easily update to the '''newest available version''' of an activity ([[Joyride]] style) with a simple git pull in the directory, while allowing you to launch the activities from Sugar as usual. |
|||
= Step 1 - installing activities = |
|||
vi siminput |
|||
# i (insert mode) |
|||
# paste: |
|||
<pre> |
|||
# FORMAT: |
|||
# 1. git clone command |
|||
# 2. activity/../ directory |
|||
# 3. activity/activity.info name = ______ |
|||
Brian's script assumes a clean install with no activities. It also assumes you have nothing important on the laptop. '''Brian's script is incredibly dangerous'''. But you're the adventurous type... right? Don't live in fear! '''Embrace the failings''' of bleeding edge activity development! |
|||
git clone git://dev.laptop.org/projects/terminal-activity |
|||
terminal-activity |
|||
git clone git://dev.laptop.org/activities/x2o |
|||
x2o |
|||
git clone git://dev.laptop.org/users/dsd/tamtam |
|||
tamtam |
|||
git clone git://dev.laptop.org/activities/xomail |
|||
xomail |
|||
git clone git://dev.laptop.org/activities/model |
|||
model |
|||
git clone git://dev.laptop.org/activities/physics |
|||
physics |
|||
git clone git://dev.laptop.org/journal-activity |
|||
journal-activity |
|||
git clone git://dev.laptop.org/activities/develop |
|||
develop/develop-activity |
|||
#git clone git://dev.laptop.org/projects/etoys |
|||
#? no idea. |
|||
git clone git://dev.laptop.org/projects/connect-activity |
|||
connect-activity |
|||
git clone git://dev.laptop.org/projects/read-activity |
|||
read-activity |
|||
#git clone git://dev.laptop.org/projects/listen-spell |
|||
#? |
|||
git clone git://dev.laptop.org/users/dsd/record |
|||
record |
|||
git clone git://dev.laptop.org/users/cscott/firefox-activity |
|||
firefox-activity |
|||
git clone git://dev.laptop.org/mamamedia/story-builder |
|||
story-builder |
|||
git clone git://dev.laptop.org/web-activity |
|||
web-activity |
|||
git clone git://dev.laptop.org/chat-activity |
|||
chat-activity |
|||
git clone git://dev.laptop.org/projects/calculate |
|||
calculate |
|||
git clone git://dev.laptop.org/projects/pippy-activity |
|||
pippy-activity |
|||
git clone git://dev.laptop.org/projects/write |
|||
write |
|||
</pre> |
|||
It also assumes the activities in the repository are using relative file locations for stuff in their own/other activities and absolute file locations for things outside of their activity (not other activities). |
|||
= Brian's Script: STEPS FOR SUCCESS: 1 = |
|||
sh briansscript.sh |
|||
ctrl + alt + neighborhood view |
|||
su olpc |
|||
sudo yum install git |
|||
cd ~ |
|||
wget http://dev.laptop.org/~bjordan/briansscript/gitlist |
|||
wget http://dev.laptop.org/~bjordan/briansscript/briansscript.py |
|||
= Brian's Script: STEPS FOR SUCCESS: 2 = |
|||
= New script = |
|||
So simple, there is no step number two. |
|||
<pre> |
|||
#!/usr/local/bin/python |
|||
import os |
|||
= Brian's Script: STEPS FOR SUCCESS: 3 = |
|||
siminput = open("siminput") |
|||
mkdir Activities |
|||
infoline = siminput.readlines() |
|||
i = 0 |
|||
git = [] |
|||
activity = [] |
|||
for record in infoline: |
|||
if not i % 2 and not record.startswith("#"): |
|||
git.append(record.strip("\n")) # git command |
|||
if i % 2 and not record.startswith("#"): |
|||
activity.append(record.strip("\n")) # activity folder path |
|||
i += 1 |
|||
print activity |
|||
Cross your fingers. This will take but two minutes. |
|||
for g in git: |
|||
os.system(g) |
|||
python briansscript.py |
|||
for v in activity: |
|||
print v |
|||
activityinfo = open(v + "/activity/activity.info") |
|||
infoline = activityinfo.readlines() |
|||
for line in infoline: |
|||
if line.startswith("name"): |
|||
print line[7:].strip("\n") + "test" |
|||
os.system("ln -s ../" + v + " Activities/" + line[7:].strip("\n") + ".activity") |
|||
</pre> |
|||
Keep your fingers crossed. Yell at Brian. Fix it. |
|||
= New siminput = |
|||
<pre> |
|||
git clone git://dev.laptop.org/projects/terminal-activity |
|||
terminal-activity |
|||
git clone git://dev.laptop.org/activities/x2o |
|||
x2o |
|||
#git clone git://dev.laptop.org/users/dsd/tamtam |
|||
#tamtam |
|||
git clone git://dev.laptop.org/activities/xomail |
|||
xomail |
|||
git clone git://dev.laptop.org/activities/model |
|||
model/activity |
|||
git clone git://dev.laptop.org/activities/physics |
|||
physics |
|||
git clone git://dev.laptop.org/journal-activity |
|||
journal-activity |
|||
git clone git://dev.laptop.org/activities/develop |
|||
develop/develop-activity |
|||
#git clone git://dev.laptop.org/projects/etoys |
|||
#? no idea. |
|||
git clone git://dev.laptop.org/projects/connect-activity |
|||
connect-activity |
|||
git clone git://dev.laptop.org/projects/read-activity |
|||
read-activity |
|||
#git clone git://dev.laptop.org/projects/listen-spell |
|||
#? |
|||
git clone git://dev.laptop.org/users/dsd/record |
|||
record |
|||
git clone git://dev.laptop.org/users/cscott/firefox-activity |
|||
firefox-activity |
|||
git clone git://dev.laptop.org/mamamedia/story-builder |
|||
story-builder |
|||
git clone git://dev.laptop.org/web-activity |
|||
web-activity |
|||
git clone git://dev.laptop.org/chat-activity |
|||
chat-activity |
|||
git clone git://dev.laptop.org/projects/calculate |
|||
calculate |
|||
git clone git://dev.laptop.org/projects/pippy-activity |
|||
pippy-activity |
|||
git clone git://dev.laptop.org/projects/write |
|||
write |
|||
</pre> |
Latest revision as of 07:30, 24 July 2008
NOTE: The contents of this page are not set in stone, and are subject to change! This page is a draft in active flux ... |
Developers -- When you use an activity and there's something you don't like... what do you do?
- Ignore it
- Tell the activity's dev about it
- File a proper bug report for it
- Fix it locally
- Make a patch for it
- git push
The activity co-op is for developers who, when they find something they don't like about their own system, want to immediately fix and upstream their changes. This will require a simplification and standardization of diff/patch generation and delivery.
The current incarnation of this idea is "Brian's Script", which is a structured list of some activity repositories on dev.laptop.org, and a script for making symlinks so the git repositories show up as usable activities in sugar. The advantage of this is that you can easily update to the newest available version of an activity (Joyride style) with a simple git pull in the directory, while allowing you to launch the activities from Sugar as usual.
Brian's script assumes a clean install with no activities. It also assumes you have nothing important on the laptop. Brian's script is incredibly dangerous. But you're the adventurous type... right? Don't live in fear! Embrace the failings of bleeding edge activity development!
It also assumes the activities in the repository are using relative file locations for stuff in their own/other activities and absolute file locations for things outside of their activity (not other activities).
Brian's Script: STEPS FOR SUCCESS: 1
ctrl + alt + neighborhood view su olpc sudo yum install git cd ~ wget http://dev.laptop.org/~bjordan/briansscript/gitlist wget http://dev.laptop.org/~bjordan/briansscript/briansscript.py
Brian's Script: STEPS FOR SUCCESS: 2
So simple, there is no step number two.
Brian's Script: STEPS FOR SUCCESS: 3
mkdir Activities
Cross your fingers. This will take but two minutes.
python briansscript.py
Keep your fingers crossed. Yell at Brian. Fix it.