<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.linuxmce.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jthodges</id>
	<title>LinuxMCE - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.linuxmce.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jthodges"/>
	<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php/Special:Contributions/Jthodges"/>
	<updated>2026-07-22T04:54:15Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Building_LinuxMCE_0810&amp;diff=22669</id>
		<title>Building LinuxMCE 0810</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Building_LinuxMCE_0810&amp;diff=22669"/>
		<updated>2010-03-19T00:18:39Z</updated>

		<summary type="html">&lt;p&gt;Jthodges: /* Verify apt&amp;#039;s list of repositories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Setting up a chroot environment==&lt;br /&gt;
These steps are optional as you can just build on a clean Kubuntu-8.10 install.  But required if you want to build using an existing 0810 core without ruining it&#039;s run-time database.&lt;br /&gt;
&lt;br /&gt;
Start with becoming root as the  following steps will need to be done using super user privileges.&lt;br /&gt;
  sudo su -&lt;br /&gt;
&lt;br /&gt;
===Create the environment===&lt;br /&gt;
 apt-get install debootstrap&lt;br /&gt;
 debootstrap --arch i386 intrepid /media/kubuntu-8.10/&lt;br /&gt;
&lt;br /&gt;
===Steps after each reboot ===&lt;br /&gt;
(Note: For First building, perform steps in the &#039;&#039;&#039;Getting Started&#039;&#039;&#039; section)&lt;br /&gt;
====Mount required directories====&lt;br /&gt;
 mount --bind /dev /media/kubuntu-8.10/dev&lt;br /&gt;
 mount none /media/kubuntu-8.10/proc -t proc&lt;br /&gt;
 mount none /media/kubuntu-8.10/dev/pts -t devpts&lt;br /&gt;
&lt;br /&gt;
====Change-root into the environment====&lt;br /&gt;
 chroot /media/kubuntu-8.10&lt;br /&gt;
====Start MySQL Server====&lt;br /&gt;
Do not execute the mysql start before doing the sed statement listed in the &#039;&#039;&#039;Installing needed packages section&#039;&#039;&#039; below to reconfigure MySQL.&lt;br /&gt;
 /etc/init.d/mysql start&lt;br /&gt;
&lt;br /&gt;
===Verify apt&#039;s list of repositories===&lt;br /&gt;
Make sure &#039;&#039;/etc/apt/sources.list&#039;&#039; (inside the chroot) contains something very similar to:&lt;br /&gt;
 deb       &amp;lt;nowiki&amp;gt;http://&amp;lt;/nowiki&amp;gt;&#039;&#039;us.archive.ubuntu.com&#039;&#039;/ubuntu/ intrepid  main restricted universe multiverse&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;http://&amp;lt;/nowiki&amp;gt;&#039;&#039;us.archive.ubuntu.com&#039;&#039;/ubuntu/ intrepid  main restricted universe&lt;br /&gt;
 deb       &amp;lt;nowiki&amp;gt;http://&amp;lt;/nowiki&amp;gt;&#039;&#039;us.archive.ubuntu.com&#039;&#039;/ubuntu/ intrepid-updates  main restricted universe multiverse&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;http://&amp;lt;/nowiki&amp;gt;&#039;&#039;us.archive.ubuntu.com&#039;&#039;/ubuntu/ intrepid-updates  main restricted universe&lt;br /&gt;
 deb       &amp;lt;nowiki&amp;gt;http://&amp;lt;/nowiki&amp;gt;security.ubuntu.com/ubuntu intrepid-security  main restricted universe&lt;br /&gt;
 deb-src &amp;lt;nowiki&amp;gt;http://&amp;lt;/nowiki&amp;gt;security.ubuntu.com/ubuntu intrepid-security  main restricted universe&lt;br /&gt;
 deb     &amp;lt;nowiki&amp;gt;http://www.e-tobi.net/vdr-experimental/ sid base&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 deb     &amp;lt;nowiki&amp;gt;http://&amp;lt;/nowiki&amp;gt;www.avenard.org/files/ubuntu-repos/ intrepid release testing&lt;br /&gt;
&lt;br /&gt;
The following line is added to the sources.list during the prepare script and should not be added before. [[User:Posde|posde]]&lt;br /&gt;
 deb       &amp;lt;nowiki&amp;gt;http://&amp;lt;/nowiki&amp;gt;debian.slimdevices.com/ stable  main&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Add the Avenard GPG key&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get install wget&lt;br /&gt;
 wget http://www.avenard.org/files/ubuntu-repos/ubuntu-repos.key &amp;amp;&amp;amp; sudo apt-key add ubuntu-repos.key &amp;amp;&amp;amp; rm ubuntu-repos.key&lt;br /&gt;
&lt;br /&gt;
Add the e-tobi.net GPG key&lt;br /&gt;
 gpg --keyserver pgp.mit.edu --recv-keys F7180D26AEDAA642&lt;br /&gt;
 gpg --export --armor F7180D26AEDAA642 | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
===Installing needed packages===&lt;br /&gt;
&#039;&#039;&#039;Important!&#039;&#039;&#039; Perform these also &#039;&#039;&#039;after&#039;&#039;&#039; chrooting if you are building in a chrooted environment.&lt;br /&gt;
&lt;br /&gt;
If you get messages like &#039;&#039;/usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory&#039;&#039;, that meens that $LANG is set. Either clear the LANG or install the needed language pack (english given example given in the code-snip below).&lt;br /&gt;
&lt;br /&gt;
(Leave the root password for MySQL empty.)&lt;br /&gt;
 apt-get update&lt;br /&gt;
 &lt;br /&gt;
 #  Uncomment either of lines below if needed (see explanation above)&lt;br /&gt;
 #unset LANG&lt;br /&gt;
 #apt-get install language-pack-en-base&lt;br /&gt;
 &lt;br /&gt;
 apt-get dist-upgrade&lt;br /&gt;
 apt-get install aptitude openssh-client mysql-server&lt;br /&gt;
&lt;br /&gt;
Reconfigure MySQL to not open a TCP-IP network port: (only needed if you are building in a chrooted environment)&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sed &#039;s/^[^#]*bind-address[[:space:]]*=.*$/#&amp;amp;\nskip-networking/&#039; -i /etc/mysql/my.cnf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building from source==&lt;br /&gt;
For a more in detail description of all the steps involved see [[Building LinuxMCE 0804]]&lt;br /&gt;
&lt;br /&gt;
Currently the focus is on getting the following to work completely.&lt;br /&gt;
&lt;br /&gt;
===Getting started===&lt;br /&gt;
You should only have to do this part once initially.&lt;br /&gt;
&lt;br /&gt;
The following steps will require superuser privileges, and it is &#039;&#039;&#039;always&#039;&#039;&#039; wise to refresh the packages list beforehand.&lt;br /&gt;
 sudo su -&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
====Obtaining the build scripts====&lt;br /&gt;
 apt-get install subversion&lt;br /&gt;
 svn co http://svn.linuxmce.org/svn/branches/LinuxMCE-0810/src/Ubuntu_Helpers_NoHardcode&lt;br /&gt;
&lt;br /&gt;
====Installing the build scripts====&lt;br /&gt;
 cd Ubuntu_Helpers_NoHardcode&lt;br /&gt;
 ./install.sh&lt;br /&gt;
 cd /usr/local/lmce-build&lt;br /&gt;
&lt;br /&gt;
====Configuring the build scripts====&lt;br /&gt;
 cat &amp;gt;/etc/lmce-build/builder.custom.conf &amp;lt;&amp;lt;EOF&lt;br /&gt;
 &lt;br /&gt;
 # Uncomment to avoid DVD build step[s]&lt;br /&gt;
 do_not_build_sl_dvd=&amp;quot;yes&amp;quot;&lt;br /&gt;
 do_not_build_dl_dvd=&amp;quot;yes&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Uncomment to create fake win32 binaries&lt;br /&gt;
 win32_create_fake=&amp;quot;yes&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Point to the development sqlCVS server for 0810&lt;br /&gt;
 sqlcvs_host=&amp;quot;schema.linuxmce.org&amp;quot;&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
===Preparing for build===&lt;br /&gt;
&lt;br /&gt;
 cd /usr/local/lmce-build&lt;br /&gt;
&lt;br /&gt;
The preparation steps one at a time (recommended):&lt;br /&gt;
 prepare-scripts/install-build-pkgs.sh&lt;br /&gt;
 prepare-scripts/cd1-prepare.sh&lt;br /&gt;
 prepare-scripts/cd2-prepare.sh&lt;br /&gt;
 prepare-scripts/create-diskless-debootstrap.sh&lt;br /&gt;
 prepare-scripts/import-external-files.sh&lt;br /&gt;
 prepare-scripts/preseed-build-pkgs.sh&lt;br /&gt;
&lt;br /&gt;
Or, you could do them all in one go with:&lt;br /&gt;
 ./prepare.sh&lt;br /&gt;
&lt;br /&gt;
===Building from source===&lt;br /&gt;
&lt;br /&gt;
 cd /usr/local/lmce-build&lt;br /&gt;
&lt;br /&gt;
All the build steps can be executed seperately (recommended at least the first time):&lt;br /&gt;
 build-scripts/checkout-svn.sh&lt;br /&gt;
 build-scripts/import-win32bins.sh&lt;br /&gt;
 build-scripts/build-replacements.sh&lt;br /&gt;
 build-scripts/build-makerelease.sh&lt;br /&gt;
 build-scripts/import-databases.sh&lt;br /&gt;
 build-scripts/build-maindebs.sh&lt;br /&gt;
 build-scripts/get-closed-source-debs.sh&lt;br /&gt;
 build-scripts/create-repo.sh&lt;br /&gt;
 build-scripts/cd1-build.sh&lt;br /&gt;
 build-scripts/cd2-build.sh&lt;br /&gt;
&lt;br /&gt;
Or the following script will run them all:&lt;br /&gt;
 ./build.sh&lt;br /&gt;
&lt;br /&gt;
== Using the build&#039;s output ==&lt;br /&gt;
The build.sh script puts all created deb-files under /var/www. Setup a web server to point to that directory. &lt;br /&gt;
 sudo apt-get install apache2&lt;br /&gt;
&lt;br /&gt;
In the machine, where you want to test the build, follow the instructions on using the alpha build. After the step pre-install-from-repo.sh, go into /etc/apt/sources.list, and replace the deb.linuxmce.org line with&lt;br /&gt;
 deb &amp;lt;ip-address-of-your-builder&amp;gt; ./&lt;br /&gt;
and re-run apt-get update&lt;br /&gt;
You will find, that two packages are missing. Get those two packages from the regular repository and put them into the builders /var/www directory&lt;br /&gt;
&lt;br /&gt;
 pushd /var/www&lt;br /&gt;
 wget http://deb.linuxmce.org/ubuntu/dists/intrepid/lmce-alpha2/binary-all/libft-perl_1.0_all.deb&lt;br /&gt;
 wget http://deb.linuxmce.org/ubuntu/dists/intrepid/lmce-alpha-latest/binary-all/mail-transport-agent_1.0_all.deb &lt;br /&gt;
 dpkg-scanpackages . &amp;gt;Packages&lt;br /&gt;
 gzip -c Packages &amp;gt; Packages.gz&lt;br /&gt;
 popd&lt;br /&gt;
&lt;br /&gt;
Now, on your new or test core, execute another apt-get update, and you are good to go for the mce-install.sh&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
If you want to speed up building on a multi-core machine, amend build-scripts/build-maindebs.sh and change the call to MakeRelease to include -j &amp;lt;number of cores&amp;gt;. Before executing the build, copy libresolution.so from an older build to your lib dir, and run ldconfig.&lt;br /&gt;
&lt;br /&gt;
=== Without -j 2 ===&lt;br /&gt;
 23:36:44  Compiling and building packages&lt;br /&gt;
 01:42:50  *** STEP: Download closed source debs&lt;br /&gt;
&lt;br /&gt;
 Total: roughly 2h 6minutes for compiling&lt;br /&gt;
&lt;br /&gt;
=== With -j 2 ===&lt;br /&gt;
 13:13:44  Compiling and building packages&lt;br /&gt;
 14:51:56  *** STEP: Download closed source debs&lt;br /&gt;
&lt;br /&gt;
 Total: roughly 1h 38minutes for compiling&lt;br /&gt;
&lt;br /&gt;
=== Error during prepare step ===&lt;br /&gt;
If you get an error during the prepare stage&lt;br /&gt;
 E: Couldn&#039;t find package libvdpau-dev&lt;br /&gt;
make sure to have avenard repo in your builders sources.list&lt;br /&gt;
&lt;br /&gt;
 deb http://www.avenard.org/files/ubuntu-repos/ intrepid release testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Virgin Kubuntu 8.10 builder (no chroot) notes ===&lt;br /&gt;
* As pointed out above, there is no need to run the command below, IF you are not chroot&#039;ing&lt;br /&gt;
  sed &#039;s/^[^#]*bind-address[[:space:]]*=.*$/#&amp;amp;\nskip-networking/&#039; -i /etc/mysql/my.cnf&lt;br /&gt;
&lt;br /&gt;
* After you reboot, you will notice that KDE mysteriously vanished, and you will go to a gnome desktop.  I&#039;m not sure why this is, but it does not seem to affect the builder any.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* If you want to run this builder headless (or just want to ability to ssh in to it), then you must configure it for ssh access by installing an ssh server&lt;br /&gt;
 sudo apt-get install openssh-server&lt;/div&gt;</summary>
		<author><name>Jthodges</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=TOAD_vs_Discrete_Codes&amp;diff=21547</id>
		<title>TOAD vs Discrete Codes</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=TOAD_vs_Discrete_Codes&amp;diff=21547"/>
		<updated>2009-10-30T03:02:48Z</updated>

		<summary type="html">&lt;p&gt;Jthodges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Documentation]]&lt;br /&gt;
&amp;lt;p&amp;gt;The goal of LinuxMCE media is to let the homeowner press 1 button, such as &#039;watch tv&#039;, and have LinuxMCE automatically turn on all the necessary a/v equipment and adjust all the settings automatically.  Sometimes the manufacturers of a/v equipment had the foresight to build into their products a mechanism for a smart home system, like LinuxMCE, to control their devices automatically.  These devices have a computer connection like RS232 or Ethernet.  They will always work exceptionally well in a LinuxMCE home.  LinuxMCE can command the a/v to do anything.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Very few a/v manufacturers put this type of control in their devices, and therefore LinuxMCE must control the equipment by sending infrared codes just like you do when you hit the button on your remote control.  The problem is that some a/v devices were designed in such a way that only a human operator can control them.  For example, to select an input on many TV&#039;s the operator must press an &#039;input select&#039; button on the remote control and watch the display on the TV until they see the input they want.  If LinuxMCE needs to set your TV to &#039;INPUT #3&#039;, it&#039;s impossible for LinuxMCE to &#039;watch&#039; the screen and know when the TV is at the right input.  Fortunately, some manufacturers added what are called &#039;discrete codes&#039; to their TV.  This means that there is an infrared command that will cause the TV to go directly to Input #3, for example, no matter what input it is currently on.  There may not be a button for Input #3 on the remote--you may still have to use the toggle &#039;input select&#039; button--but the TV has a special code that will cause it to go directly to that input.  Sony brand TV&#039;s are an example.  Even though there is only a toggle &#039;input select&#039; button on the remote, there are infrared commands that LinuxMCE can send to make the TV go directly to the desired input.  These are called &#039;discrete codes&#039;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The same thing is true with turning the device on and off.  Some remote controls have dedicated &#039;on&#039; and &#039;off&#039; buttons.  But others have only a &#039;power&#039; button that toggles the state, and the manufacturer expects you, the user, to watch what&#039;s on the TV and decide if it&#039;s on or off.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If you are going to buy new a/v equipment we recommend that you only buy devices that have computer-type controls, like RS232, or, at least, recognize discrete codes.  There are several web sites like http://www.remotecentral.com that have a lot of information on this subject and recommendations for equipment that have discrete codes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If your device does not recognize discrete codes, it is referred to in the industry as a TOAD (Toggle Only Analog Device).  It just recognizes commands that toggle it&#039;s state, such as the input or power.  LinuxMCE will still control these devices but due to their nature, it is impossible to control them perfectly.  For example, you will need to go to the A/V Properties page and list all the inputs that your device has in the right order.  LinuxMCE will then &#039;remember&#039; what input it last left the device on, and send the appropriate number of toggle commands.  If LinuxMCE last turned the device to Input #1, and you now want to watch something on Input #4, LinuxMCE will send the input select command 3 times.  This is not a perfect system.  If someone manually changed the input, or if the device ever didn&#039;t recognize a code, it could get out of sync.  LinuxMCE may think it&#039;s on one input when it&#039;s really on another.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The same thing is true for the power.  If your device has only a toggle power button, LinuxMCE will remember if you left the device on or off so it knows when to send the toggle power command.  But if LinuxMCE gets out of sync, it could be turning the TV off when it really thinks it&#039;s turning it on.  For the power setting, at least, your LinuxMCE Pro dealer has lots of tricks they can use to work around this problem.  There are sensors that LinuxMCE can read to determine if the TV is on or off, for example.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Semi-Discrete Inputs ==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
There is a common type of input that is almost a hybrid of these two, which I will call semi-discrete for lack of a better term.  For example, a TV may require that you press the input button and then press [2] to reach the Component 1 input (while continuing to press input may start to toggle through inputs).  In this scenario, you may be able to combine the IR codes to achieve discrete inputs.  To do this, you will need the two IR codes you want to combine (e.g., [Input] and [4] codes).  Here are some example snippets:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Input]:   0000 006F 0000 0032 0081 0041 ... (lots more)&lt;br /&gt;
[4]:       0000 0071 0000 0032 0080 003f ... (lots more)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;There is a lot more information at [http://www.remotecentral.com/features/irdisp3.htm this] article, but the important thing is that the first four groups (words) in each code is essentially a header, and the rest is the data.  Specifically, the fourth word is the size of the data section, so to combine these you would use one of the headers (updating the size) and both of the data portions.  In the examples above, the size field for both codes is 0x32 (50 in decimal), so the new size would be 0x64 (100 decimal).  Your resulting code would look like this:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Input 4]: 0000 006F 0000 0064 0081 0041 ... (lots more) ... 0080 003f ... (lots more)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this worked for my TV (Panasonic PT-52LCX66).  I&#039;m not sure if this capability of handling combined IR codes like this is specific to the hardware, so please update this article if your experience differs.&lt;/div&gt;</summary>
		<author><name>Jthodges</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Building_From_Source&amp;diff=17075</id>
		<title>Building From Source</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Building_From_Source&amp;diff=17075"/>
		<updated>2009-01-13T16:09:49Z</updated>

		<summary type="html">&lt;p&gt;Jthodges: /* Building on 0710 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
[[Category: Tutorials]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Programmer&#039;s Guide]]&lt;br /&gt;
= Building for 0810 =&lt;br /&gt;
Please see [[Building_LinuxMCE]]&lt;br /&gt;
= Building on 0710 =&lt;br /&gt;
See also: [[Setting Up A Development Environment]]&lt;br /&gt;
== Preparations ==&lt;br /&gt;
Set up a directory for the development tree. For example type the following in a shell as &amp;quot;linuxmce&amp;quot; user:&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 sudo mkdir lmce&lt;br /&gt;
 sudo chown linuxmce lmce&lt;br /&gt;
 cd lmce&lt;br /&gt;
&lt;br /&gt;
Install Subversion&lt;br /&gt;
 sudo apt-get install subversion&lt;br /&gt;
&lt;br /&gt;
Fetch the source:&lt;br /&gt;
 svn co http://svn.linuxmce.org/svn/branches/LinuxMCE-0710/&lt;br /&gt;
&lt;br /&gt;
Copy the libraries needed for to bootstrap:&lt;br /&gt;
 cp /usr/pluto/lib/* trunk/src/lib&lt;br /&gt;
&lt;br /&gt;
Run configure:&lt;br /&gt;
 cd trunk&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
For the svn.linuxmce.org source there is no configure script yet. Run these to prepare bootstrapping:&lt;br /&gt;
 find . -iname Makefile -exec sed -e &#039;s/&amp;lt;-mkr_t_compile_defines-&amp;gt;/-DKDE_LMCE -DDEBUG -DTHREAD_LOG -DLOG_ALL_QUERIES -I\/opt\/libxine1-pluto\/include -I\/opt\/libsdl1.2-1.2.7+1.2.8cvs20041007\/include -I\/opt\/libsdl1.2-1.2.7+1.2.8cvs20041007\/include\/SD/&#039; -i &#039;{}&#039; \;&lt;br /&gt;
 find . -iname Makefile -exec sed -e &#039;s/&amp;lt;-mkr_t_compile_libs-&amp;gt;/-L\/opt\/libxine1-pluto\/lib -L\/opt\/libsdl1.2-1.2.7+1.2.8cvs20041007\/lib/&#039; -i &#039;{}&#039; \;&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
Run make:&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
== Building UpdateMedia ==&lt;br /&gt;
Since 7.10 does not use configure, it can be tough getting the entire tree to build.  If all you need to build is UpdateMedia (for example), save yourself some trouble and just build that component.  For the specific case of UpdateMedia, here are the steps to build based on a 7.10 DVD install and after following the above instructions:&lt;br /&gt;
&lt;br /&gt;
Install mysqlclient-dev:&lt;br /&gt;
 sudo apt-get install libmysqlclient15-dev&lt;br /&gt;
&lt;br /&gt;
Install attr-dev:&lt;br /&gt;
 sudo apt-get install attr-dev&lt;br /&gt;
&lt;br /&gt;
Install taglib.  Download version 1.5 from http://developer.kde.org/~wheeler/taglib.html, and extract to /usr/src.  Then install it with the following commands:&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 sudo chown linuxmce taglib-1.5&lt;br /&gt;
 cd taglib-1.5&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
 sudo ln -s /usr/local/include/taglib /usr/include/taglib&lt;br /&gt;
&lt;br /&gt;
Install id3lib.  Download version 3.8.3 from http://id3lib.sourceforge.net/, and extract to /usr/src.  Then install it with the following commands:&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 sudo chown linuxmce id3lib-3.8.3&lt;br /&gt;
 cd id3lib-3.8.3&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
 &lt;br /&gt;
Build UpdateMedia:&lt;br /&gt;
 cd /usr/src/lmce/LinuxMCE-0710/src/UpdateMedia&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
If all goes well, your new binary for UpdateMedia should be in the current folder.&lt;br /&gt;
&lt;br /&gt;
= Building on 0604 =&lt;br /&gt;
&#039;&#039;&#039;Source code for LinuxMCE 0704 is on the [[Mirrors]].  This page hasn&#039;t been updated for 0704 yet&#039;&#039;&#039;&lt;br /&gt;
== Before You Begin==&lt;br /&gt;
The build script is tested and designed to run on Ubuntu 6.10 x86 but it can be changed to work on various platforms or at least to give others a starting point on how to do it. It&#039;ll be harder to port it to non deb based distributions since the software depends on many debian specific stuff but this i hope  to be change over time.&lt;br /&gt;
&lt;br /&gt;
Also since this script was written with a single goal in mind -- to get everything done -- I might have left, by mistake, some lines of code that may not run on your computers (hardcoded paths and stuff like this). But I rely on you to at least try to fix them before asking for help but if the problem is not so obvious I would gladly give you advice.&lt;br /&gt;
&lt;br /&gt;
== The Build Scripts ==&lt;br /&gt;
The build scripts are in sourceforge svn so to get them you will need subversion installed.&lt;br /&gt;
 sudo apt-get install subversion&lt;br /&gt;
 svn co https://linuxmce.svn.sourceforge.net/svnroot/linuxmce/trunk/src/Ubuntu_Helpers&lt;br /&gt;
&lt;br /&gt;
Before running the build script, i insist that you take a look over it so that you know what is doing and not run it blindly. &lt;br /&gt;
&lt;br /&gt;
The main script that you need to run would be BuildUbuntu.sh. This script should checkout the svn for you, compile the source, build the packages, build an iso and everything else so you can end up with a usable linuxmce build. In this script you can find some functions that are called one by one to perform several operations, here&#039;s a short description:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Install_Build_Needed_Packages&#039;&#039;: This will install all the deb packages that you will need to build the sourcecode. Probably you will only need to run it once and comment it after the first run on BuildPackages.sh.&lt;br /&gt;
*&#039;&#039;Create Diskless Archive&#039;&#039;: Runs a debootstrap to create a base filesystem for Diskless Media Directors. It&#039;s needed later when it&#039;ll be packed in a deb packages. You also don&#039;t need to run this every time but is safer to leave it uncommented so that the diskless archive will have the latest ubuntu updates.&lt;br /&gt;
*&#039;&#039;Import_Skins&#039;&#039;: Since linuxmce uses a lot of pngs for the all sort of skins, you won&#039;t find them in the svn. This function will download a tar.bz2 archive with all the skins and unpack it so that the package builder will now where to take it from.&lt;br /&gt;
*&#039;&#039;Checkout_Svn&#039;&#039;: Will do a svn checkout on sourceforge to get all the needed sources&lt;br /&gt;
*&#039;&#039;Build_Replacements&#039;&#039;: LinuxMCE needs some 3rd party some packages that are not part of ubuntu distribution. This function will build / get them for you.&lt;br /&gt;
*&#039;&#039;Build_MakeRelease_Binary&#039;&#039;: This function compiles the building tools that will do the compilation / package creation of all the other packages by using information stored in the pluto_main_build database.&lt;br /&gt;
*&#039;&#039;Import_Build_Database&#039;&#039;: Imports a fresh copy of the pluto databases needed at build time.&lt;br /&gt;
*&#039;&#039;Create_Fake_Windows_Binaries&#039;&#039;: Orbiter and other aplications don&#039;t only run on Linux. Usually the pluto guys compile their applications on windows and put the binaries on the linux build machine so that package creating application will know where to get them. Since we can&#039;t compile windows binaries on linux i made this function that creates some fake binary files with a touch so that the package builder won&#039;t fail to run.&lt;br /&gt;
*&#039;&#039;Build_Pluto_Stuff&#039;&#039;: Uses MakeRelase to compile the sources and build packages out of them&lt;br /&gt;
*&#039;&#039;Create_Local_Repository&#039;&#039;: Optional you can create a local repository so that you can easily test your debs.&lt;br /&gt;
&lt;br /&gt;
There is also the get-packages.sh script that is called by BuildUbuntu.sh and has the goal to create and iso with all the needed packages for a linuxmce installation.&lt;br /&gt;
&lt;br /&gt;
== Source Code Location ==&lt;br /&gt;
&lt;br /&gt;
Our source code is located on sourceforge and you can get it by svn from : http://svn.linuxmce.org/svn/&lt;br /&gt;
&lt;br /&gt;
The png used for the skins are located here : http://www.linuxmce.org/build/linuxmce-skins-1.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
The sql dumps of the databases needed for the build : http://www.linuxmce.org/build/linuxmce-databases-1.0.tar.gz&lt;/div&gt;</summary>
		<author><name>Jthodges</name></author>
	</entry>
</feed>