Activity co-op: Difference between revisions
No edit summary |
|||
Line 20: | Line 20: | ||
vi gitlist |
vi gitlist |
||
Press i to begin input mode... |
Press i to begin input mode... paste: |
||
<pre> |
<pre> |
Revision as of 03:17, 18 July 2008
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.
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.
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
sudo yum install git cd ~ vi gitlist
Press i to begin input mode... paste:
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
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.
Brian's Script: STEPS FOR SUCESS: 2
vi briansscript.py
again, insert into this file:
#!/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: 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")
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.