Activity co-op: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
 
(9 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 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).
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 ~
Line 21: Line 25:
wget http://dev.laptop.org/~bjordan/briansscript/briansscript.py
wget http://dev.laptop.org/~bjordan/briansscript/briansscript.py


= Brian's Script: STEPS FOR SUCESS: 2 =
= Brian's Script: STEPS FOR SUCCESS: 2 =
So simple, there is no step number two.
vi briansscript.py


= Brian's Script: STEPS FOR SUCCESS: 3 =
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:
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 =
mkdir Activities
mkdir Activities



Latest revision as of 07:30, 24 July 2008

This article is a stub. You can help the OLPC project by expanding it.


Pencil.png NOTE: The contents of this page are not set in stone, and are subject to change!

This page is a draft in active flux ...
Please leave suggestions on the talk page.

Pencil.png

Developers -- When you use an activity and there's something you don't like... what do you do?

  1. Ignore it
  2. Tell the activity's dev about it
  3. File a proper bug report for it
  4. Fix it locally
  5. Make a patch for it
  6. 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.