After our class on Thursday I spent probably 4 hours or so trying to get Ubuntu on my computer, and I was finally successful! So far I really like it. It looks and feels a lot like OSX, but the fact that it's an Open Source Developed project makes it more exciting in a way. It's really cool to know that Open Source projects can really be successful, and I hope that our team this semester can really make a dent in an Activity for Sugar Labs.
So, we all met for about 4 hours on Saturday to see where we were all at as far as getting our development environment up and running. I started out just playing with the Sugar OS interface. You can install Sugar in Ubuntu by going to the Ubuntu Software Center, and typing in Sugar. After playing around with the OS to get a feel for it, I went ahead and started looking into setting up our development environment in Ubuntu.
First, I downloaded Eclipse. Eclipse has a Python plugin called Pydev, which will allow us to edit Python files. There's also a plugin for git called Egit, and another plugin for Subversion called Subclipse. I've installed all three of these to my version of Eclipse.
The next step was to get the code, and build it. This was probably the most difficult process yet. I think it's a bit more complicated process for us since we aren't just dealing with an application, but actually an Operating System. Building an OS and running just sounds a bit more difficult to me. SugarLabs has a few different guides about actually getting, building, and running the code. However, none of them seemed to be that clear. I looked at a few different guides on setting it up while we met on Saturday:
http://en.flossmanuals.net/ActivitiesGuideSugar/SetUpDevEnvironment
http://wiki.sugarlabs.org/go/Activity_Team/Getting_Involved
After a few hours of trying to figure out how to set up the development environment, we split up and went home for the day.
Linux seems to make the user work directly in Unix quite a bit more than I'm used to, but I'm starting to like it. You know you've spent a lot of time doing something when you start dreaming about it. After I went to bed last night, I was literally dreaming about typing Unix commands. After we left Saturday, I spent some time trying to figure out how to set this up some more. I found a guide on SugarLabs' website talking about jhbuild. Jhbuild let me download the source code directly (after installing the required dependencies). Once downloaded, I can start editing the python files. If I were ready to start testing out any changes I make, all I have to do is open Terminal and type the following commands:
./sugar-jhbuild build (This builds the project.)
./sugar-jhbuild run sugar-emulator (This runs the virtual Sugar OS and lets me test out any changes I make).
Just to be sure that this is in fact the best way for me to begin developing, I went onto the IRC chat for SugarLabs, and asked a couple of questions. They were very quick to respond, and very helpful. They told me to try using Sweets, which is similar to jhbuild. After downloading Sweets, it seems to be a very similar process. I can build/run the Sugar OS using the following commands:
sweets -ff make sweet (Builds the project)
sweets sugar:emulator (Launches the emulator)
I'm not entirely sure which is the better route to go, but I suppose time will tell. We've started looking at bugs. The bug we're most interested in has to do with setting up the user's profile name. If the user puts a space before or after their name, the space should be cut off, but currently it leaves the space in front of their name. This should be an easy bug for us to start with.
One more thing: I also was able to install the Subversion server using apache in Ubuntu following this very simple guide.
sudo apt-get install subversion libapache2-svn - installs subversion.
svnadmin create /svntest - created a subversion test directory at my root folder.
sudo htpasswd -c /etc/subversion/passwd jordan - creates my login/password.
once this was created, I can log in using the following command: svn co http://10.0.0.1/svn
It prompts me for my username/password combo, and lets me in. Assuming that I could give out my IP address to an external user, I think I'd be able to log into the server.
No comments:
Post a Comment