Activity co-op: Difference between revisions
No edit summary |
No edit summary |
||
(12 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 activity repositories on dev.laptop.org. |
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! |
|||
This assumes a clean install with no activities. |
|||
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 = |
= Brian's Script: STEPS FOR SUCCESS: 1 = |
||
ctrl + alt + neighborhood view |
|||
su olpc |
|||
sudo yum install git |
sudo yum install git |
||
cd ~ |
cd ~ |
||
wget http://dev.laptop.org/~bjordan/briansscript/gitlist |
|||
vi gitlist |
|||
wget http://dev.laptop.org/~bjordan/briansscript/briansscript.py |
|||
Press i to begin input mode... input: |
|||
<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> |
|||
Press esc to exit input mode. Press "gg" to see top of file. Confirm there is no leading newline, as this would destroy all. |
|||
Type :wq to write and quit. |
|||
⚫ | |||
vi briansscript.py |
|||
again, insert into this file: |
|||
<pre> |
|||
#!/usr/local/bin/python |
|||
import os |
|||
siminput = open("gitlist") |
|||
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 |
|||
for g in git: |
|||
os.system(g) |
|||
⚫ | |||
for v in activity: |
|||
So simple, there is no step number two. |
|||
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> |
|||
= STEPS FOR SUCCESS: 3 = |
= Brian's Script: STEPS FOR SUCCESS: 3 = |
||
mkdir Activities |
mkdir Activities |
||
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.