Author Topic: Developer FAQ  (Read 32654 times)

danielk

  • Guru
  • ****
  • Posts: 153
    • View Profile
Developer FAQ
« on: January 22, 2008, 05:47:03 pm »
One of the suggestions for the furums that came up when I was out in Sunnyvale talking to various people about UI3 was to create a a list of frequently asked questions for both this forum, the Users forum. The idea is to make a sticky post to the respective forums with the questions and short answers which point to the wiki for each in depth answer.

So lets figure out what should go in that FAQ in this thread.

My initial suggestions:

Q: Where do I get the sources?
Q: How do I compile the whole shebang?
Q: How do I compile and install a single library/application?
Q: How do I create a new GSD device and sync it to sqlCVS?
Q: How do I translate the UI into my own language?


chewi

  • Veteran
  • ***
  • Posts: 69
    • View Profile
Re: Developer FAQ
« Reply #1 on: January 22, 2008, 06:55:52 pm »
...snip
is it considered bad etiquette in such a forum to petition help for such an endeavor when the inevitable confusion arises?  i've no idea how such impressive open development works...
.....snip
If you are working and have a certain problem you can post like this:
I want to do this.
To to this I have done that.
I ran into this problem at that point.
Does anyone have any additional ideas ?

If someone does have an idea, he/she will propably help you.

If you only want to make a feature request because you cannot code and do not have the time to learn it, go to the feature-request forum and discribe your idea there.
The feature-request-forum can be seen as an inspiration for developers. So if someone thinks it's a good idea, he/she is going to try it out. But there's no guaratee.
Discussions about the value of a certain feature belongs into the feature-request forum as well.

The difference between open-source and commercial feature request is that the developers decide for themselves if they want to take on a task. In commercial fields it's only the production manager that makes all the decisions sometimes taking finacials into account. in OSS it's more democratic, i guess.

Of course, you can try to find a developer to do the work for you and pay him. Or set a bounty for a certain feature. See the market place for that.

(maybe some delcaration like this should be made a sticky post in the forums: Posting rules or something)

ddamron

  • Alumni
  • wants to work for LinuxMCE
  • *
  • Posts: 962
    • View Profile
    • My LinuxMCE User Page
Re: Developer FAQ
« Reply #2 on: January 22, 2008, 06:59:22 pm »
chewi:

It's hard reading your messages because you include your message in with the quote.

Can you maybe scroll down to the end of the [   /quote] and then type your message.

Thanks!

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.

chewi

  • Veteran
  • ***
  • Posts: 69
    • View Profile
Re: Developer FAQ
« Reply #3 on: January 23, 2008, 10:21:00 am »
Actually, I did not have any new input... I just quotet myself from an other thread... No additions made... ;)

But you're right, a link to http://learn.to/quote (German) and it's english version should be in the faq as well...

RichardP

  • Veteran
  • ***
  • Posts: 131
    • View Profile
Re: Developer FAQ
« Reply #4 on: January 23, 2008, 02:07:06 pm »

So lets figure out what should go in that FAQ in this thread.


If anyone has the time, I'd really appreciate a few notes on the tools to install. I'm from the Windows world, where everything is done in one single IDE. With seperate tools for everything, it's not so easy to figure out which compiler, debugger, CVS frontend etc etc.

Best Regards,
Richard

danielk

  • Guru
  • ****
  • Posts: 153
    • View Profile
Re: Developer FAQ
« Reply #5 on: January 23, 2008, 04:08:30 pm »
Richard,
The basic tools are:
  gcc/g++                      linking compilers for C/C++
  emacs/vi/kdevelop       text editors and IDEs of your choosing
  make                          tool for executing makefiles (compile/link/install scripts)
  dpkg-buildpackage       tool for creating debian packages
  dpkg/apt-get/apt-cache tools for managing package installation
  ./configure                  default script name for configuring make options
  autoconf                     tool used to generate some of the makefiles
The LinuxMCE specific tools are:
  MakeRelease_Prep      tool for preparing makefiles, and making other textual replacements
  MakeRelease              tool for running make & dpkg for each package based on info in database
  mysql                         database used by MakeRelease

There may be some that I'm missing, plus we'll need short descriptions on how to use the tools.

Vagabond

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: Developer FAQ
« Reply #6 on: January 26, 2008, 12:00:26 am »
As the potential user of this thread ;):

It might be a good idea to come up not only with separate answers to the questions, but with a comprehensive, well structured guide/instruction on how to (for example) starting with LMCE freshly installed from the DVD step by step get to fully functional "new GSD device"

Some pieces of this info are spread across the wiki, but each of them is written with its own assumptions (of how environment is set up for example), some are not existing, so its usually very hard to link them up into complete procedure..

You may also suggest some other "end-to-end development use cases" which worth describing in this manner.
« Last Edit: January 26, 2008, 01:50:18 am by Vagabond »

tom_say

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: Developer FAQ
« Reply #7 on: January 26, 2008, 12:37:31 am »
Here go

Question 1

Q: Where do I get the sources?

all source is located at http://svn.charonmedia.org/

Question 2

Q: How do I compile the whole shebang?

# Download snapshot (391MiB)
wget http://www.charonmedia.org/lmce-1465.tbz

# Test checksum to ensure it was downloaded intact.
md5sum lmce-1465.tbz # should be b3d4b3f6b33ff5e6c4641390f2314095

# Update snapshot (uncompressed: 1823MiB either snapshot or updated).
tar xfj lmce-1465.tbz
cd lmce
svn update

# Build from source (optional) to 3692MiB, total source+build = 5515MiB.
./configure
make


Question 3

Q: How do I compile and install a single library/application?

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.





« Last Edit: January 26, 2008, 12:47:07 am by tom_say »

ddamron

  • Alumni
  • wants to work for LinuxMCE
  • *
  • Posts: 962
    • View Profile
    • My LinuxMCE User Page
Re: Developer FAQ
« Reply #8 on: January 27, 2008, 08:44:15 pm »
TomSay,

Great Start! VERY good questions..

Daniel,

Considering the amount of activity with GSD/RUBY, maybe we could post a sticky on that subject.  It's a big beast in itself.. (as I found out)

I could add a bunch to that.. with examples, etc..

Best Regards,

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 #9 on: February 10, 2008, 08:49:34 pm »
all source is located at http://svn.charonmedia.org/

Question 2

Q: How do I compile the whole shebang?

# Download snapshot (391MiB)
wget http://www.charonmedia.org/lmce-1465.tbz

Isn't the CharonMedia.org SVN the old LMCE versions' source? Isn't the current 0710bN source in http://svn.linuxmce.com/pluto/trunk/src ?

Matthew

  • Douchebag
  • Addicted
  • *
  • Posts: 567
    • View Profile
Re: Developer FAQ
« Reply #10 on: February 10, 2008, 08:51:37 pm »
One of the suggestions for the furums that came up when I was out in Sunnyvale talking to various people about UI3 was to create a a list of frequently asked questions for both this forum, the Users forum. The idea is to make a sticky post to the respective forums with the questions and short answers which point to the wiki for each in depth answer.

So lets figure out what should go in that FAQ in this thread.

My initial suggestions:

Q: Where do I get the sources?
Q: How do I compile the whole shebang?
Q: How do I compile and install a single library/application?
Q: How do I create a new GSD device and sync it to sqlCVS?
Q: How do I translate the UI into my own language?

Let's structure the FAQ so that its questions are posted in a sticky topic in each forum about which there's a FAQ, and link the FAQ's questions to answers that are wiki articles. The discussion following from the sticky FAQ post can discuss new questions (and answers) to be edited into the top comment in the topic.

Matthew

  • Douchebag
  • Addicted
  • *
  • Posts: 567
    • View Profile
Re: Developer FAQ
« Reply #11 on: February 16, 2008, 05:14:49 pm »
all source is located at http://svn.charonmedia.org/

Question 2

Q: How do I compile the whole shebang?

# Download snapshot (391MiB)
wget http://www.charonmedia.org/lmce-1465.tbz

Isn't the CharonMedia.org SVN the old LMCE versions' source? Isn't the current 0710bN source in http://svn.linuxmce.com/pluto/trunk/src ?

I would think that "which is the correct SVN" would be a pretty good answer to give, but it can't even get an answer in this FAQ discussion. How is any developer community supposed to help with that level of support?

hari

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 2428
    • View Profile
    • ago control
Re: Developer FAQ
« Reply #12 on: February 16, 2008, 08:47:46 pm »
I would think that "which is the correct SVN" would be a pretty good answer to give, but it can't even get an answer in this FAQ discussion. How is any developer community supposed to help with that level of support?
charonmedia is the development trunk. The linuxmce svn holds the 0710 branch, some pluto branches and the pluto stable code (without proprietary stuff).

regards,
Hari
rock your home - http://www.agocontrol.com home automation

Matthew

  • Douchebag
  • Addicted
  • *
  • Posts: 567
    • View Profile
Re: Developer FAQ
« Reply #13 on: February 16, 2008, 10:10:38 pm »
I would think that "which is the correct SVN" would be a pretty good answer to give, but it can't even get an answer in this FAQ discussion. How is any developer community supposed to help with that level of support?
charonmedia is the development trunk. The linuxmce svn holds the 0710 branch, some pluto branches and the pluto stable code (without proprietary stuff).

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? Or what is the relationship between those two SVN repos? I think the main question is which SVN code is the one that everything in Mantis is referring to, that is the one to patch for getting into the 0710 release? 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.

hari

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 2428
    • View Profile
    • ago control
Re: Developer FAQ
« Reply #14 on: February 16, 2008, 10:31:01 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.

best regards,
hari
rock your home - http://www.agocontrol.com home automation