Difference between revisions of "Source Code"

From LinuxMCE
Jump to: navigation, search
(added information about official SVN repository)
(Actually mention git.)
 
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 +
[[Category:Development]]
 +
[[Category:Programmer's Guide]]
 
'''LinuxMCE''' is a pretty big project. Not counting [[GSD]] devices, LinuxMCE's own code is already well over a million lines in hundreds of modules, with over 1,000 pages of online documentation, and in addition LinuxMCE also incorporates lots of other big open source projects like [[Asterisk]], [[Xine]], [[MythTV]], [[Firefox]], [http://www.videolan.org/ VideoLan], [http://www.slimdevices.com/pi_features.html SlimServer], [http://www.kubuntu.org/ Kubuntu Linux] itself, etc., all of which have special LinuxMCE 'wrappers' to allow them to work together seamlessly as a total home solution. For the brave of heart, you can also download modules by hand, and see all the dependencies and compatibility for each module.
 
'''LinuxMCE''' is a pretty big project. Not counting [[GSD]] devices, LinuxMCE's own code is already well over a million lines in hundreds of modules, with over 1,000 pages of online documentation, and in addition LinuxMCE also incorporates lots of other big open source projects like [[Asterisk]], [[Xine]], [[MythTV]], [[Firefox]], [http://www.videolan.org/ VideoLan], [http://www.slimdevices.com/pi_features.html SlimServer], [http://www.kubuntu.org/ Kubuntu Linux] itself, etc., all of which have special LinuxMCE 'wrappers' to allow them to work together seamlessly as a total home solution. For the brave of heart, you can also download modules by hand, and see all the dependencies and compatibility for each module.
  
=SVN repository (always up-to-date)=
+
== GIT Repository ==
  
Current source is available here:
+
We run a Gitlab repository here: http://git.linuxmce.org/
http://svn.linuxmce.com/pluto/trunk - you can browse it using web browser or use Subversion tool to check out code and fetch further updates:
+
  
<pre>
+
And of course, the main source tree can be pulled via:
svn checkout http://svn.linuxmce.com/pluto/trunk linuxmce
+
</pre>
+
  
[[FOSS 0710]] contains information about auto-built debs and binaries
+
        git clone http://git.linuxmce.org/linuxmce/linuxmce.git
 
+
 
+
=Charon Media snapshot of sources (older)=
+
 
+
You can browse the [http://svn.charonmedia.com/trac.cgi/browser LinuxMCE source] at the [http://svn.charonmedia.com/ Charon Media Trac website].  Or you can download it from SVN:
+
<pre>
+
# 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
+
</pre>
+
 
+
The old version of the source code description (of the old SVN) could be a good starting point for identifying what each of the code in the current SVN does, but it's no guarantee. An updated version of that description would be very useful.
+
 
+
=Obsolete Source=
+
This section refers to the obsolete sourcecode stored at SourceForge. The current (recent 0704 and all 0710) source is stored at Charon Media, as mentioned in [[#Current_Source]]. The descriptions of the obsolete code might also be wrong descriptions of the current structure and content of the source code, but it could be a clue where none others exist, because that's where the current source code evolved from. (- [[User:Matthew|Matthew]] 08:51, 10 January 2008 (MST))
+
 
+
You can browse the [http://linuxmce.svn.sourceforge.net/viewvc/linuxmce/trunk/ web based repository viewer]. Or you can do an anonymous svn checkout as follows:
+
 
+
svn co <nowiki>http://</nowiki>linuxmce.svn.sourceforge.net/svnroot/linuxmce/trunk/''modulename''
+
 
+
You can checkout all the software with if you use http://linuxmce.svn.sourceforge.net/viewvc/linuxmce/trunk/ as the repository location for the module name, or go to the [http://linuxmce.svn.sourceforge.net/viewvc/linuxmce/trunk/ repository viewer] to find the name of the SVN directory for the module you are interested in.
+
 
+
Here are short instructions if you want compile your module with svn sources : [[Building_From_Source|Building from source]].
+
 
+
 
+
----
+
 
+
I've made a start at some pointers to finding your way around the code. [Note, I'm a noob here, so I may have got this wrong, so feel free to add/change. Also, it's by no means complete yet!]
+
 
+
'''''trunk/config-pkgs/''''' contains ...
+
* ''intel8x0/'' -
+
'''''trunk/installers/''''' contains ...
+
* ''CD_Installer/'' -
+
* ''Installers/'' -
+
* ''PhoneInstall/'' -
+
* ''WindowsInstaller/'' -
+
'''''trunk/libs/''''' contains ...
+
* ''CrossPlatform/'' -
+
* ''Libraries/'' -
+
'''''trunk/src/''''' contains ...
+
* ''ANSI-to-HTML/ '' -
+
* ''AVWizard/ '' -
+
* ''Add_Software/ '' -
+
* ''App_Server/ '' -
+
* ''AptUtils/ '' -
+
* ''Asterisk/ '' -
+
* ''BD/ '' -
+
* ''Basic_XML_Data_Source_Plugin/ '' -
+
* ''Bluetooth_Dongle/ '' -
+
* ''BootScripts/ '' -
+
* ''CDDB_Identifier/ '' -
+
* ''CM11A/ '' -
+
* ''CheckDependencyScript/ '' -
+
* ''CliUtils/ '' -
+
* ''Climate_Plugin/ '' -
+
* ''ColorSplitter/ '' -
+
* ''ConfirmDependencies/ '' -
+
* ''ConfirmDependencies_Script/ '' -
+
* ''ConfirmDependencies_Script_Offline/ '' -
+
* ''CreateDevice/ '' -
+
* ''Crystal_Fontz_USBRS232/ '' -
+
* ''DCE/ '' -
+
* ''DCEGen/ '' -
+
* ''DCERouter/ '' -
+
* ''Datagrid_Plugin/ '' -
+
* ''Dhcpd-Plugin/ '' -
+
* ''DiskMonitor/ '' -
+
* ''Disk_Drive/ '' -
+
* ''Disk_Drive_Functions/ '' -
+
* ''Diskless-Add-Ons/ '' -
+
* ''DynamicDNS/ '' -
+
* ''EIB/ '' -
+
* ''Event_Plugin/ '' -
+
* ''FakeEPG/ '' -
+
* ''File_Grids_Plugin/ '' -
+
* ''Firewire2Video4Linux/ '' -
+
* ''FirewireVideo/ '' -
+
* ''GalleryViewer/ '' -
+
* ''Gen_Devices/ '' -
+
* ''General_Info_Plugin/ '' -
+
* ''Generic_Serial_Device/ '' -
+
* ''GyrationMouse/ '' -
+
* ''HAL/ '' -
+
* ''HAL_DeviceFinder/ '' -
+
* ''HDHomeRun/ '' -
+
* ''Hooks_rcS/ '' -
+
* ''IR/ '' -
+
* ''IRBase/ '' -
+
* ''IRTrans/ '' -
+
* ''Infrared_Plugin/ '' -
+
* ''JobHandler/ '' -
+
* ''LIRC_DCE/ '' -
+
* ''Lighting_Plugin/ '' -
+
* ''Linphone/ '' -
+
* ''MaemoOrbiterLauncher/ '' -
+
* ''MakeRelease/ '' -
+
* ''MakeRelease_PrepFiles/ '' -
+
* ''Media_Live_LCDButtons/ '' -
+
* ''Media_Plugin/ '' -
+
* ''MessageSend/ '' -
+
* ''MessageTranslation/ '' -
+
* ''Motion_Wrapper/ '' -
+
* ''MythTV_Backend_Proxy/ '' -
+
* ''MythTV_Player/ '' -
+
* ''MythTV_PlugIn/ '' -
+
* ''Network_Storage/ '' -
+
* ''NewMD_interactor/ '' -
+
* ''Orbiter/ '' -
+
* ''OrbiterGen/ '' -
+
* ''Orbiter_Plugin/ '' -
+
* ''OutlookSync/ '' -
+
* ''Photo_Screen_Saver/ '' -
+
* ''Plug_And_Play_Plugin/ '' -
+
* ''PlutoDHCP/ '' -
+
* ''PlutoMO/ '' -
+
* ''PlutoRaidTools/ '' -
+
* ''PlutoStorageDevices/ '' -
+
* ''PlutoUpdateSystem/ '' -
+
* ''PlutoUpgradeHelper/ '' -
+
* ''PlutoUtils/ '' -
+
* ''PlutoVIP/ '' -
+
* ''Powerfile_C200/ '' -
+
* ''Proxy_Orbiter/ '' -
+
* ''Qos/ '' -
+
* ''RA/ '' -
+
* ''RemoteAssistance/ '' -
+
* ''SDL_Helpers/ '' -
+
* ''SMPTE_Fountain/ '' -
+
* ''STEngine/ '' -
+
* ''SVNLog/ '' -
+
* ''SambaScan/ '' -
+
* ''ScreenGen/ '' -
+
* ''Security_Plugin/ '' -
+
* ''Serial/ '' -
+
* ''SerializeClass/ '' -
+
* ''Setup_CaptureCards/ '' -
+
* ''Setup_SoundCards/ '' -
+
* ''SimplePhone/ '' -
+
* ''SlimServer_PlugIn/ '' -
+
* ''Slim_Server_Streamer/ '' -
+
* ''SoundScripts/ '' -
+
* ''Speech/ '' -
+
* ''Splitter/ '' -
+
* ''Telecom_Plugin/ '' -
+
* ''TestSerialPort/ '' -
+
* ''Test_Treo/ '' -
+
* ''Text_To_Speech/ '' -
+
* ''Tira/ '' -
+
* ''Tribune/ '' -
+
* ''Tribunexml/ '' -
+
* ''UPnP/ '' -
+
* ''USB_PNP/ '' -
+
* ''USB_UIRT_0038/ '' -
+
* ''UbuntuDiskless/ '' -
+
* ''Ubuntu_Helpers/ '' -
+
* ''UpdateEntArea/ '' -
+
* ''UpdateMedia/ '' -
+
* ''VDR/ '' -
+
* ''VDRPlugin/ '' -
+
* ''VFD_LCD/ '' -
+
* ''VIPDesign/ '' -
+
* ''VIPEstablishment/ '' -
+
* ''VIPServer/ '' -
+
* ''VIPShared/ '' -
+
* ''VideoLan_Client/ '' -
+
* ''VideoLan_PlugIn/ '' -
+
* ''VideoLan_Server/ '' -
+
* ''VoiceMailMonitor/ '' -
+
* ''WinBluetooth/ '' -
+
* ''Windows_Share_Scanner/ '' -
+
* ''X-KbLayout/ '' -
+
* ''X-Resolution/ '' -
+
* ''XML_Data_Handler_Plugin/ '' -
+
* ''XinePlayerTest/ '' -
+
* ''Xine_Player/ '' -
+
* ''Xine_Plugin/ '' -
+
* ''bin/ '' -
+
* ''convert_color/ '' -
+
* ''convert_mac/ '' -
+
* ''convert_time/ '' -
+
* ''database/ '' -
+
* ''database_audi/ '' -
+
* ''database_marbella/ '' -
+
* ''designer/ '' -
+
* ''docs/ '' -
+
* ''drivers/ '' -
+
* ''fakepkgs/ '' -
+
* ''gc100/ '' -
+
* ''inotify/ '' -
+
* ''kernel-upgrade/ '' -
+
* ''lib/ '' -
+
* ''mce-installer/ '' -
+
* ''mce-launcher/ '' -
+
* ''pluto-ati-drivers/ '' -
+
* ''pluto-nvidia-drivers/ '' -
+
* ''pluto_gcs-2.6_module/ '' -
+
* ''pluto_main/ '' -
+
* ''pluto_media/ '' -
+
* ''pluto_media_updater/ '' -
+
* ''pluto_security/ '' -
+
* ''pluto_speech/ '' -
+
* ''pluto_telecom/ '' -
+
* ''pnp_detection_scripts/ '' -
+
* ''shift_state/ '' -
+
* ''skins/ '' -
+
* ''so_postinst/ '' -
+
* ''sql2cpp/ '' -
+
* ''sqlCVS/ '' -
+
* ''ussp-push/ '' -
+
* ''utilities/ '' -
+
* ''BuildWinBinaries.bat '' -
+
* ''Construct '' -
+
* ''MakeRelease_All.bat '' -
+
* ''MakeRelease_Symbian_S60.bat '' -
+
* ''MakeRelease_Windows.bat '' -
+
* ''MakeRelease_WindowsCE.bat '' -
+
* ''Makefile '' -
+
* ''Makefile_all '' -
+
* ''SwitchToLinuxMCE.bat '' -
+
* ''SwitchToPluto.bat '' -
+
* ''build.xml '' -
+
* ''pluto.sln '' -
+
'''''trunk/ubuntu''''' contains ...
+
* ''asterisk/'' -
+
* ''libsdl1.2-1.2.10/'' -
+
* ''libsdl1.2-1.2.7+1.2.8cvs20041007/'' -
+
* ''lirc-pluto-0.1/'' -
+
* ''lshwd-2.0-rc4/'' -
+
* ''mtx-1.3.10/'' -
+
* ''tee-pluto/'' -
+
* ''xine-lib-1.1.3/'' -
+
'''''trunk/web''''' contains the two web-based configuration programs:
+
* ''Amp'' - The Asterisk (IP Phone exchange) management program
+
* ''pluto-admin'' - LinuxMCE Web Admin
+
 
+
[[Category:Development]]
+

Latest revision as of 23:35, 24 April 2017

LinuxMCE is a pretty big project. Not counting GSD devices, LinuxMCE's own code is already well over a million lines in hundreds of modules, with over 1,000 pages of online documentation, and in addition LinuxMCE also incorporates lots of other big open source projects like Asterisk, Xine, MythTV, Firefox, VideoLan, SlimServer, Kubuntu Linux itself, etc., all of which have special LinuxMCE 'wrappers' to allow them to work together seamlessly as a total home solution. For the brave of heart, you can also download modules by hand, and see all the dependencies and compatibility for each module.

GIT Repository

We run a Gitlab repository here: http://git.linuxmce.org/

And of course, the main source tree can be pulled via:

       git clone http://git.linuxmce.org/linuxmce/linuxmce.git