Author Topic: Developer FAQ  (Read 35899 times)

Matthew

  • Douchebag
  • Addicted
  • *
  • Posts: 567
    • View Profile
Re: Developer FAQ
« Reply #15 on: February 16, 2008, 10:45:21 pm »
Since 0710 is the version currently in development, does that mean that the code in the linuxmce.org SVN 0710 branch is the same as the code in the charonmedia.com SVN trunk?
danielk and ender do much work to merge changes back to charonmedia from linuxmce. Charonmedia may miss the latest fixes from mantis.

Quote
And what is the complete build procedure for that code? The simple procedure for getting and building the source tom_say posted in this thread was very tantalizing.
the procedure for the 0710 branch is not for the faint hearted. Therefore we use the builder farm and nightly snapshots.
Daniel invested much time on the configure script and makefile in the charonmedia trunk. That nearly gives you the whole build. I suggest starting with that. You could pull missing pieces from the linuxmce trunk (e.g. mantis fixes) if you need any.

So if the files to be patched in the charonmedia.com SVN are identical to the ones in the linuxmce.org SVN, then working entirely against the charonmedia files is pretty safe. If the patch doesn't affect the code's API, it's even safer.

The problem could come if the new patch's effect collides with some function elsewhere in the code that's also been patched upstream in the callpath to the newly patched code. Like if the problem is that some data arrives in the wrong format at the code I'm patching, so I switch the data around depending on the bad format in the charonmedia.org SVN code, but meanwhile someone has patched some other code in the linuxmce.org SVN, so now the data doesn't actually arrive in that format anymore (but the charonmedia.org SVN code hasn't caught up to that patch yet). If there's no record of that other "upstream" patch being worked on in a Mantis bug report about what I'm patching. Still possible to collide, if someone isn't reporting in Mantis what they're patching and committing. But probably a very small risk.

danielk

  • Guru
  • ****
  • Posts: 153
    • View Profile
Re: Developer FAQ
« Reply #16 on: February 17, 2008, 06:22:40 pm »
the procedure for the 0710 branch is not for the faint hearted. Therefore we use the builder farm and nightly snapshots.
Daniel invested much time on the configure script and makefile in the charonmedia trunk. That nearly gives you the whole build. I suggest starting with that. You could pull missing pieces from the linuxmce trunk (e.g. mantis fixes) if you need any.


Also, the build scripts in the svn at linuxmce.org will blow away your existing LinuxMCE database and leave you with a system that won't run LinuxMCE.. The charonmedia.org trunk has kinder and gentler build scripts; but, yes I haven't synced in weeks because I'm working on making the linuxmce.org repo replace the one at charonmedia.org. All the fixes in the charonmedia.org trunk will be synced over to linuxmce.org tree and that will become our main repo. Once that's done, the charonmedia.org repo will become a simple mirror of the linuxmce.org repo; aka a hot backup.

The build "farm" is builder32.linuxmce.org + builder64.linuxmce.org. They continuously loop rebuilding the trunk on linuxmce.org. Pluto has their own build "farm" as well, which does pretty much the same thing. FYI There were some problems with the builder machines when they first came online, but I think the scripts are pretty much working now as the builds have succeed for days on both machines. There is still some work left for the scripts, for instance they now overwrite the existing iso's with new ones, which messes up conventional http/ftp/rsync downloading, so if I want to download a particular build I need to log into the machine, hard link to the iso, download from the hard link and then delete the hard link...

ddamron

  • Alumni
  • wants to work for LinuxMCE
  • *
  • Posts: 962
    • View Profile
    • My LinuxMCE User Page
Re: Developer FAQ
« Reply #17 on: February 18, 2008, 01:56:29 am »
Thanks for that Daniel,

Setting up a community based svn is ALSO not for the faint of heart!

Great work!

Dan
The only intuitive interface is the nipple.  After that it's all learned.
My other computer is your windows box.
I'm out of my mind.  Back in 5 minutes.
Q:  What's Red and smells like blue paint?

A:  Red Paint.

bmac2

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: Developer FAQ
« Reply #18 on: February 19, 2008, 04:06:09 am »
Since 0710 is the version currently in development, does that mean that the code in the linuxmce.org SVN 0710 branch is the same as the code in the charonmedia.com SVN trunk?
danielk and ender do much work to merge changes back to charonmedia from linuxmce. Charonmedia may miss the latest fixes from mantis.

Quote
And what is the complete build procedure for that code? The simple procedure for getting and building the source tom_say posted in this thread was very tantalizing.
the procedure for the 0710 branch is not for the faint hearted. Therefore we use the builder farm and nightly snapshots.
Daniel invested much time on the configure script and makefile in the charonmedia trunk. That nearly gives you the whole build. I suggest starting with that. You could pull missing pieces from the linuxmce trunk (e.g. mantis fixes) if you need any.

So if the files to be patched in the charonmedia.com SVN are identical to the ones in the linuxmce.org SVN, then working entirely against the charonmedia files is pretty safe. If the patch doesn't affect the code's API, it's even safer.

The problem could come if the new patch's effect collides with some function elsewhere in the code that's also been patched upstream in the callpath to the newly patched code. Like if the problem is that some data arrives in the wrong format at the code I'm patching, so I switch the data around depending on the bad format in the charonmedia.org SVN code, but meanwhile someone has patched some other code in the linuxmce.org SVN, so now the data doesn't actually arrive in that format anymore (but the charonmedia.org SVN code hasn't caught up to that patch yet). If there's no record of that other "upstream" patch being worked on in a Mantis bug report about what I'm patching. Still possible to collide, if someone isn't reporting in Mantis what they're patching and committing. But probably a very small risk.



my only question, and I am a total newbie on this project, and am NOT a programmer, but   HUH??  I guess reading your reply confuses me.  Above they kindly posted where to get the sources, and you say no, don't get them there, it is ok to get them here, and it might or might not break something.  I am confused.  If everyone else is getting them from charmedia and patching them there, and you are patching elsewhere, aren't we all at cross paths?  I have done computers since the 80s, but mainly as a networker, and as a College Professor teaching computers, so this is my first endevor into an open source project.  So why not get your code where everyone else does?  I thought I understood daniellek was the "code" keeper of sorts. Is that not right?

Sorry for my confusion, but I am working on some scripts for the project and don't want to put them in the wrong place or screw something up!  We need to all do things the same way or we can be hosed by one person swimming upstream.

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5549
  • DOES work for LinuxMCE.
    • View Profile
Re: Developer FAQ
« Reply #19 on: February 19, 2008, 04:35:10 am »
well, to put it in a nutshell....

there ARE two svn servers

(1) at svn.linuxmce.org - This is where Pluto is building their sources from.

(2) at svn.charonmedia.org - This is where danielk is doing community build work, and where the majority of us community non-pluto people are doing our code.

(2) will become (1) after a merge, but not until after 0710 is released.

-Thom

ddamron

  • Alumni
  • wants to work for LinuxMCE
  • *
  • Posts: 962
    • View Profile
    • My LinuxMCE User Page
Re: Developer FAQ
« Reply #20 on: February 19, 2008, 04:36:16 am »
well put thom!
The only intuitive interface is the nipple.  After that it's all learned.
My other computer is your windows box.
I'm out of my mind.  Back in 5 minutes.
Q:  What's Red and smells like blue paint?

A:  Red Paint.

Matthew

  • Douchebag
  • Addicted
  • *
  • Posts: 567
    • View Profile
Re: Developer FAQ
« Reply #21 on: February 19, 2008, 05:08:59 am »
Since 0710 is the version currently in development, does that mean that the code in the linuxmce.org SVN 0710 branch is the same as the code in the charonmedia.com SVN trunk?
danielk and ender do much work to merge changes back to charonmedia from linuxmce. Charonmedia may miss the latest fixes from mantis.

Quote
And what is the complete build procedure for that code? The simple procedure for getting and building the source tom_say posted in this thread was very tantalizing.
the procedure for the 0710 branch is not for the faint hearted. Therefore we use the builder farm and nightly snapshots.
Daniel invested much time on the configure script and makefile in the charonmedia trunk. That nearly gives you the whole build. I suggest starting with that. You could pull missing pieces from the linuxmce trunk (e.g. mantis fixes) if you need any.

So if the files to be patched in the charonmedia.com SVN are identical to the ones in the linuxmce.org SVN, then working entirely against the charonmedia files is pretty safe. If the patch doesn't affect the code's API, it's even safer.

The problem could come if the new patch's effect collides with some function elsewhere in the code that's also been patched upstream in the callpath to the newly patched code. Like if the problem is that some data arrives in the wrong format at the code I'm patching, so I switch the data around depending on the bad format in the charonmedia.org SVN code, but meanwhile someone has patched some other code in the linuxmce.org SVN, so now the data doesn't actually arrive in that format anymore (but the charonmedia.org SVN code hasn't caught up to that patch yet). If there's no record of that other "upstream" patch being worked on in a Mantis bug report about what I'm patching. Still possible to collide, if someone isn't reporting in Mantis what they're patching and committing. But probably a very small risk.



my only question, and I am a total newbie on this project, and am NOT a programmer, but   HUH??  I guess reading your reply confuses me.  Above they kindly posted where to get the sources, and you say no, don't get them there, it is ok to get them here, and it might or might not break something.  I am confused.  If everyone else is getting them from charmedia and patching them there, and you are patching elsewhere, aren't we all at cross paths?  I have done computers since the 80s, but mainly as a networker, and as a College Professor teaching computers, so this is my first endevor into an open source project.  So why not get your code where everyone else does?  I thought I understood daniellek was the "code" keeper of sorts. Is that not right?

Sorry for my confusion, but I am working on some scripts for the project and don't want to put them in the wrong place or screw something up!  We need to all do things the same way or we can be hosed by one person swimming upstream.

What you saw was me trying to make do with the info that is out there, some of which is contradictory, and much of which is changing weekly/daily. And then learning the definitive info from someone making it definitive. Then trying to think through what using that system while it's in flux would actually be like for people who don't have full developer access to build scripts and build farms.

In other words, I was nearly as confused as you were for a while, but I think I got it straight. I hope you do now, too.

ddamron

  • Alumni
  • wants to work for LinuxMCE
  • *
  • Posts: 962
    • View Profile
    • My LinuxMCE User Page
Re: Developer FAQ
« Reply #22 on: February 19, 2008, 05:46:53 am »
full developer access to build scripts / build farms?  who has that?
the only build farm I know of is in DanielK's control, no one else has access to that..

I think that's a misnomer, the only thing I personally have access to is the forums.. so that I could implement the Chat java app.

Any further knowledge is from trial and error.. and of course, IRC..
There's LOTS you can learn there.. at any one time, either DanielK, hari, TSCHAK, or myself are there.  Often, 3 of us are in there at the same time..

Last night, I even did a step by step, blow by blow walkthrough on how to hack IR. (looking for possible discrete codes)

Nobody gave me a 'blue' book, I had to search for it. 

building from source, while it's getting better, is still no where near perfect.

There's lots of libs that keep getting updated, etc, etc, I still don't have the whole thing compiling..

But I'm learning as we go... a good rule of thumb I keep is: when you don't know what direction to go, check in IRC, most of the time, SOMEONE has been there.

irc.freenode.net channel #linuxmce

HTH,

Dan
The only intuitive interface is the nipple.  After that it's all learned.
My other computer is your windows box.
I'm out of my mind.  Back in 5 minutes.
Q:  What's Red and smells like blue paint?

A:  Red Paint.

Matthew

  • Douchebag
  • Addicted
  • *
  • Posts: 567
    • View Profile
Re: Developer FAQ
« Reply #23 on: February 19, 2008, 06:38:42 am »
full developer access to build scripts / build farms?  who has that?
the only build farm I know of is in DanielK's control, no one else has access to that..

The Pluto staff of course have that access. But I didn't even refer to the people who have it, who are besides the point if you're not one of them. What is the point is that for the rest of us, like practically everyone who reads this forum, we still can do something even if we don't have that access. That access is relevant only because with it some of what's necessary here would not be necessary. And supposedly that access is coming, which means that it should get easier, but in the meantime we have to cope with what we've got.

ddamron

  • Alumni
  • wants to work for LinuxMCE
  • *
  • Posts: 962
    • View Profile
    • My LinuxMCE User Page
Re: Developer FAQ
« Reply #24 on: February 19, 2008, 07:42:37 am »
ahh, i see.. well, all I can say it try... thats what I do.
you *REALY* need to check out the IRC channel.
LOTS of helping going on over there...
hari and I figured out his javamo over there..
TSCHAK keeps us up to date with his MAME stuff, we help people and try to direct them so they don't run into the same problems we did...  It all helps.
The only intuitive interface is the nipple.  After that it's all learned.
My other computer is your windows box.
I'm out of my mind.  Back in 5 minutes.
Q:  What's Red and smells like blue paint?

A:  Red Paint.

hari

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 2428
    • View Profile
    • ago control
Re: Developer FAQ
« Reply #25 on: February 21, 2008, 11:43:40 pm »
rock your home - http://www.agocontrol.com home automation

schaferj

  • Veteran
  • ***
  • Posts: 133
    • View Profile
Re: Developer FAQ
« Reply #26 on: March 01, 2008, 07:16:03 pm »
wow,  incredibly helpful.  Victory  is occuring!
thank you,
joseph

lightshow

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re: Developer FAQ
« Reply #27 on: April 28, 2008, 10:16:37 pm »
Code Development

Q: Where do I get the sources and compile on my own?
A: http://wiki.linuxmce.org/index.php/Building_From_Source

Q: What are the basic tools I need to work with the source?
A: http://forum.linuxmce.org/index.php?topic=3953.msg22528#msg22528

Q: How do I compile and install a single library/application?
Quote
To build Applications, you should fetch it from the SVN repository, then go into Application directory and run:
dpkg-buildpackage -rfakeroot -b

This will build the Application packages (bin,debug,dev) and will put them into parent folder.

Note that if some required packages are missing, it will give you an error and stop. You can install required packages and retry.

Q: How do I create a new GSD device and sync it to sqlCVS?


User Interface Development

Q: How can I create a new UI using HADesigner?
A: http://forum.linuxmce.org/index.php?topic=5059.0

Q: How do I translate the UI into my own language?

Support

Q: Where can I go to ask Developers a question?
A: This forum and irc.freenode.net channel #linuxmce  (IRC client such as mIRC needed to connect)

« Last Edit: April 28, 2008, 10:19:09 pm by lightshow »

brsisr

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re: Developer FAQ
« Reply #28 on: May 02, 2008, 10:30:21 pm »
Hi ,
I am new in Linux MCE.
I bouth the x-10 controller cm19a , which is not supported by the Linux MCE.
I decided to develop for it new device template.
Following the problem which I found :
1) The page which describes how to configure a new device template is different that I have in linux mce:
http://wiki.linuxmce.org/index.php/Image:EditDeviceTemplate.jpg#filehistory
2) When I try to edit a Ruby code , the web asks from me to create the new new group for my device and after this failed with message :
  Fatal error: mysql error: [1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1] in EXECUTE("SELECT FK_Command,PK_InfraredGroup_Command FROM InfraredGroup_Command WHERE FK_InfraredGroup= ") in /var/www/pluto-admin/include/adodb/adodb-errorhandler.inc.php on line 77

Could some one to help me and provide the explanation how to create a new device template?
Any ideas where to find the manual ?

Thanks :)

hari

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 2428
    • View Profile
    • ago control
Re: Developer FAQ
« Reply #29 on: May 03, 2008, 12:15:58 am »
  Fatal error: mysql error: [1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1] in EXECUTE("SELECT FK_Command,PK_InfraredGroup_Command FROM InfraredGroup_Command WHERE FK_InfraredGroup= ") in /var/www/pluto-admin/include/adodb/adodb-errorhandler.inc.php on line 77

Could some one to help me and provide the explanation how to create a new device template?
Any ideas where to find the manual ?
you are doing all right. Thats a bug of 0710b4.
best regards,
Hari
rock your home - http://www.agocontrol.com home automation