Difference between revisions of "Development"

From Syslinux Wiki
Jump to: navigation, search
m (Change order of appearance of repositories. Wiki formatting.)
(Wiki formatting. Naming convention. Update links. Minor rewording.)
 
Line 1: Line 1:
== Tracking SYSLINUX development with GIT ==
+
== Tracking Syslinux development with GIT ==
  
 
The following link points to the status page of the official development tree:
 
The following link points to the status page of the official development tree:
  
    http://repo.or.cz/syslinux.git
+
http://repo.or.cz/syslinux.git
  
  
To clone the repository for your own development, install the [http://www.kernel.org/pub/software/scm/git/ git] software package, and run:
+
To clone the repository for your own development, install the  
 +
[https://git-scm.com/downloads git] software package, and run:  
 +
{|
 +
|
 +
git clone --recursive git://repo.or.cz/syslinux.git a-new-directory
 +
|}
  
    git clone --recursive git://repo.or.cz/syslinux.git a-new-directory
+
or alternatively using the Hyper Text Transfer Protocol (if tcp/9418 is blocked):
 +
{|
 +
|
 +
git clone http://repo.or.cz/syslinux.git a-new-directory
 +
cd a-new-directory
 +
sed -i~ 's/git/http/' .gitmodules
 +
git submodule update --init
 +
|}
  
or alternatively using the Hyper Text Transfer Protocol (if tcp/9418 is blocked):
+
For users who were tracking {{nowrap|kernel.org}} as origin and wish to update:
 +
<!--
 +
--><!-- Note: both repositories are official, but they are sometimes not
 +
--><!-- fully synchronized during development periods between stable releases.
 +
-->
 +
{|
 +
|
 +
git remote rename origin kernel.org
 +
git remote add origin git://repo.or.cz/syslinux.git
 +
git pull origin
 +
|}
  
    git clone http://repo.or.cz/syslinux.git a-new-directory
+
You can then make changes and "<tt>git commit</tt>" them to your own repository,
    cd a-new-directory
+
thus maintaining a parallel branch of development.  
    sed -i~ 's/git/http/' .gitmodules
+
Furthermore, you can use the command
    git submodule update --init
+
  
<!-- Note: both repositories are official, but they are sometimes not fully synchronized during development periods between stable releases. -->
+
git pull
  
For users who were tracking kernel.org as origin and wish to update:
+
to update your tree with upstream changes.
 
+
    git remote rename origin kernel.org
+
    git remote add origin git://repo.or.cz/syslinux.git
+
    git pull origin
+
 
+
You can then make changes and "<tt>git commit</tt>" them to your own repository, thus maintaining a parallel branch of development.
+
Furthermore, you can use the command "<tt>git pull</tt>" to update your tree with upstream changes:
+
 
+
    git pull
+
  
 
The "<tt>gitk</tt>" tool will show you a visual history of the repository.
 
The "<tt>gitk</tt>" tool will show you a visual history of the repository.
  
For more information about [http://en.wikipedia.org/wiki/Git_%28software%29 GIT],
+
For more information about [http://en.wikipedia.org/wiki/Git_%28software%29 GIT],  
see an overview,
+
see  
the [http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html tutorial],
+
an [https://git-scm.com/ overview],  
or the [http://www.kernel.org/pub/software/scm/git/docs/ man pages].
+
the [https://git.github.io/htmldocs/gitcore-tutorial.html (gitcore) tutorial(s)],
 +
the [https://git.github.io/git-reference/ git (command) Reference],
 +
or the [https://git.github.io/htmldocs/git.html man pages].
 +
<!-- or the [https://git.github.io/htmldocs/user-manual.html Git User Manual]. -->
 +
<!-- or the [https://git-scm.com/docs Documentation Reference]. -->
  
== Browse the SYSLINUX source code ==
 
  
You can browse the SYSLINUX source code through the GIT web interface at one of the following repositories:
+
== Browse the Syslinux source code ==
  
    http://repo.or.cz/syslinux.git
+
You can browse the Syslinux source code through the GIT web interface
 +
at one of the following repositories:
 +
{|
 +
|
 +
http://repo.or.cz/syslinux.git
 +
|-
 +
|
 +
http://git.zytor.com/?p=syslinux/syslinux.git;a=summary
 +
|-
 +
|
 +
http://git.kernel.org/cgit/boot/syslinux/syslinux.git
 +
|}
  
    http://git.zytor.com/?p=syslinux/syslinux.git;a=summary
+
Note: These repositories are official, but they are sometimes not  
 
+
fully synchronized during development periods between stable releases.
    http://git.kernel.org/cgit/boot/syslinux/syslinux.git
+
 
+
Note: These repositories are official, but they are sometimes not fully synchronized during development periods between stable releases.
+
  
  
 
== Submitting Patches ==
 
== Submitting Patches ==
  
Please see the [[doc/SubmittingPatches]].txt file inside the SYSLINUX source code.
+
Please see the [[doc/SubmittingPatches]].txt file inside the Syslinux source code.
  
If it's in a public git tree, a common procedure is to follow a <something>-for-<someone>  
+
If it's in a public git tree, a common procedure is to follow a  
branch naming convention where <something> is what's done and <someone> is the person to whom you are addressing the change.
+
{{nowrap|<''something''>-for-<''someone''>}}
 +
branch naming convention where {{nowrap|<''something''>}} is what's done  
 +
and {{nowrap|<''someone''>}} is the person to whom you are addressing the change.
  
== SYSLINUX internals ==
+
== Syslinux internals ==
  
A series of pages describing the SYSLINUX internal architecture and functionality are being written.
+
A series of pages describing the Syslinux internal architecture and functionality  
They are in an initial stage of development, and are organized under [[:Category:SYSLINUX_Internals]].
+
(in an initial stage of development), can be found at [[:Category:SYSLINUX_Internals]].
 +
Please note that those pages might possibly be incomplete, inaccurate or outdated.
  
 
Any [[Contact|contributions]] are welcome!
 
Any [[Contact|contributions]] are welcome!
  
=== Resources ===
+
== Resources ==
  
 
* [[Debugging]]
 
* [[Debugging]]
 +
* [[Development/Debugging]]
 
* [[Development/Testing]]
 
* [[Development/Testing]]
 
* [[Development/Git]]
 
* [[Development/Git]]
 
* [[Help_wanted]]
 
* [[Help_wanted]]
* [[Development/Debugging]]
 

Latest revision as of 05:43, 27 July 2019

Tracking Syslinux development with GIT

The following link points to the status page of the official development tree:

http://repo.or.cz/syslinux.git


To clone the repository for your own development, install the git software package, and run:

git clone --recursive git://repo.or.cz/syslinux.git a-new-directory

or alternatively using the Hyper Text Transfer Protocol (if tcp/9418 is blocked):

git clone http://repo.or.cz/syslinux.git a-new-directory
cd a-new-directory
sed -i~ 's/git/http/' .gitmodules
git submodule update --init

For users who were tracking kernel.org as origin and wish to update:

git remote rename origin kernel.org
git remote add origin git://repo.or.cz/syslinux.git
git pull origin

You can then make changes and "git commit" them to your own repository, thus maintaining a parallel branch of development. Furthermore, you can use the command

git pull

to update your tree with upstream changes.

The "gitk" tool will show you a visual history of the repository.

For more information about GIT, see an overview, the (gitcore) tutorial(s), the git (command) Reference, or the man pages.


Browse the Syslinux source code

You can browse the Syslinux source code through the GIT web interface at one of the following repositories:

http://repo.or.cz/syslinux.git
http://git.zytor.com/?p=syslinux/syslinux.git;a=summary
http://git.kernel.org/cgit/boot/syslinux/syslinux.git

Note: These repositories are official, but they are sometimes not fully synchronized during development periods between stable releases.


Submitting Patches

Please see the doc/SubmittingPatches.txt file inside the Syslinux source code.

If it's in a public git tree, a common procedure is to follow a <something>-for-<someone> branch naming convention where <something> is what's done and <someone> is the person to whom you are addressing the change.

Syslinux internals

A series of pages describing the Syslinux internal architecture and functionality (in an initial stage of development), can be found at Category:SYSLINUX_Internals. Please note that those pages might possibly be incomplete, inaccurate or outdated.

Any contributions are welcome!

Resources