Xo-get

From OLPC
Jump to: navigation, search
Activity-xoget.png

XO-Get is a very simple package-installer / manager, used for installing, testing and removing activities for / on the xo-laptop and emulators.


News: We are currently developing a Graphical User Interface with PyGTK


About xo-get

Supported commands

Run this within Sugar in Terminal activity as user

(not as root nor su nor sudo)


./xo-get.py update
./xo-get.py list     ['categories' / category_name]
./xo-get.py search   keyword
./xo-get.py install  activity_name / activity_file.xo
./xo-get.py remove   activity_name / activity_file.xo / activity_directory
./xo-get.py start    activity_name
./xo-get.py status   ['log']

Explanation:

updateUpdates the Database
listLists installable Activities
searchSearches for tags, names, descriptions
installInstalls the given Activity
removeRemoves an Activity
startStarts Activity
statusList all installed Activities

Usage

Installation of xo-get

wget http://xo-get.olpc.at/xo-get.py
chmod u+x xo-get.py

Update the xo-get repository database

./xo-get.py update

Installation of xo-get GUI

./xo-get.py install xo-get
Note: Joyride 1702, although it installed ok. When i click on the frame icon to run it. Flashes for awhile, then goes away. I ran it in terminal by xo-get.py start xo-get and appears to run ok. (Filing some bugs and suggestions too. :) --ixo 02:11, 17 February 2008 (EST)

sugar-install-bundle/media/<usb stick name>

Usage Examples

List installed Activities

./xo-get.py status

Installing & Removing

./xo-get.py install simcity
./xo-get.py remove simcity

Local .xo files

./xo-get install simcity.xo
./xo-get remove simcity.xo

Name Assistant

  • Search, list, install and remove activities with typing only the beginning of the activity's/category's name as parameter

List the category "Fun Games":

./xo-get.py list fun

Install CC Licensing Activity:

./xo-get.py install cc

Removing simcity

./xo-get.py remove simc

GCompris

List GCompris activities:

./xo-get.py list gcompris

Install GCompris activities:

./xo-get install gcompris-...

Install all GCompris activities (> 100):

./xo-get install gcompris

Repositories

Newer versions of xo-get (>1.0) use a central repository (xml), which is synced daily with the sub-'repositories'. Advantages of this structure are

  • 'xo-get update' will not break on changes in the repositories
  • supplying with filesizes and system-names (which sometimes differ from the wiki-names)
  • much less traffic on updates
  • backup repositories


Repository Listing:

  1. Activities
  2. http://gcompris.net/incoming/xo/


It's possible to add / change repositories on request (mail). Also, any ideas for further developments are welcome!


Bugs / Issues

Please file a ticket for any bug you find to the 'xo-get' component here: http://dev.laptop.org/newticket


Feature Request / Wishlist

Improvements

  • Position Quit-button the standard way / use the Toolbar
  • Better Installation and Removal Feedback
  • Auto-Refresh, Refresh with graphical representation
  • Bigger Scrollbars / Autoscroll on KeyDown
  • Less scrolling: Wrap Description, Changable width of columns
  • Better "Information": Icon, Version Number
  • Highlight Activities without checking
  • Hide Apply Button after Installation (which does nothing)
    • Change the "Close" button label to "Show List". "Close" currently implies closing the application given the current context of the application and the full screen dialog box.
  • checkbox for showing version #.
  • Legend.. what the heck does the (*) mean ???
  • Group activities by, and alpha sort list (Allow collapsible groups)
    • Base pre-installed, non-removable
    • Installed Activities
    • Groups of packaged activities, such as GCompris
  • Arrow keys
    • Left/Right - scroll left/right
    • Up/Down - scroll up/down
  • Remove all custom packages, [Button] (except of course xo-get :)

New Features

  • Self-Update screen for the GUI
  • Preferences
    • where to save files
    • clean old .xo's
  • GUI: Install .xo from disk / usb
  • Button for 'check for Activity updates' (compare installed versions with versions available)
    • Button for 'update all'
  • Add entries for installed activities in the Journal for a common deletion/removal mechanism.


Changelog


Contributors

Author

Testering


If you have ideas *and* some spare time: contact us! This project is open for anyone :-)