mirror of
https://gitlab.com/shorewall/code.git
synced 2024-12-22 22:30:58 +01:00
Update Build document to reflect migration to Git
Signed-off-by: Tom Eastep <teastep@shorewall.net> git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@9807 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
parent
9d03fe20e0
commit
a5f37c860f
160
docs/Build.xml
160
docs/Build.xml
@ -5,7 +5,7 @@
|
|||||||
<!--$Id$-->
|
<!--$Id$-->
|
||||||
|
|
||||||
<articleinfo>
|
<articleinfo>
|
||||||
<title>Building Shorewall from SVN</title>
|
<title>Building Shorewall from Git</title>
|
||||||
|
|
||||||
<authorgroup>
|
<authorgroup>
|
||||||
<author>
|
<author>
|
||||||
@ -37,37 +37,17 @@
|
|||||||
<note>
|
<note>
|
||||||
<para>This information is provided primarily for Shorewall developers.
|
<para>This information is provided primarily for Shorewall developers.
|
||||||
Users are expected to install from pre-built tarballs or packages.</para>
|
Users are expected to install from pre-built tarballs or packages.</para>
|
||||||
|
|
||||||
<para>Beginning with Shorewall 4.4, the Shorewall project will use Git as
|
|
||||||
it's SCM system rather than SVN. This document will be updated prior to
|
|
||||||
the release of 4.4 to refect the move to Git.</para>
|
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<title>SVN Taxonomy</title>
|
<title>Git Taxonomy</title>
|
||||||
|
|
||||||
<para>The Shorewall SVN tree at Sourceforge has a number of branches which
|
<para>The Shorewall Git tree at Sourceforge serves as the master
|
||||||
are described in the following sections. It is not possible to simply
|
repository for Shorewall 4.4 and later versions. It is not possible to
|
||||||
export a directory from SVN and run the <command>install.sh</command>
|
simply export a directory from SVN and run the
|
||||||
script in that directory. A build step is required to produce a directory
|
<command>install.sh</command> script in that directory. A build step is
|
||||||
that is suitable for the <command>install.sh</command> script to run
|
required to produce a directory that is suitable for the
|
||||||
in.</para>
|
<command>install.sh</command> script to run in.</para>
|
||||||
|
|
||||||
<section>
|
|
||||||
<title>tags</title>
|
|
||||||
|
|
||||||
<para>As new stable releases are made, they are copied into this branch.
|
|
||||||
Each release has it's own directory which is named with the minor
|
|
||||||
release number (e.g., 4.2.6).</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<title>branches</title>
|
|
||||||
|
|
||||||
<para>The latest copy of each stable major release is kept in this
|
|
||||||
branch. Each major release has its own directory which is named with the
|
|
||||||
major release number (e.g., 4.2).</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<title>trunk</title>
|
<title>trunk</title>
|
||||||
@ -169,48 +149,17 @@
|
|||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
||||||
<para>The <replaceable>version</replaceable> may either be a minor
|
<para>The <replaceable>version</replaceable> may either be a minor
|
||||||
version or a patch version. The sub-directores that are updates are
|
version or a patch version.</para>
|
||||||
those which match the specified version:</para>
|
|
||||||
|
|
||||||
<variablelist>
|
|
||||||
<varlistentry>
|
|
||||||
<term>Minor Version (e.g., 4.2.7)</term>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Updates Shorewall, Shorewall-common, Shorewall-perl,
|
|
||||||
Shorewall-shell, Shorewall-lite, Shorewall6 and Shorewall6-lite.
|
|
||||||
Only those directories that are present are updated.</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>Patch Version (e.g., 4.2.7.1)</term>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Update those directories matching the patch version
|
|
||||||
<replaceable>n</replaceable> (last digit):
|
|
||||||
Shorewall-<replaceable>n</replaceable>
|
|
||||||
,Shorewall-common-<replaceable>n</replaceable>,
|
|
||||||
Shorewall-shell-<replaceable>n</replaceable>,
|
|
||||||
Shorewall-lite-<replaceable>n</replaceable>,
|
|
||||||
Shorewall6-<replaceable>n</replaceable>, and
|
|
||||||
Shorewall6-lite-<replaceable>n</replaceable>.</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
</variablelist>
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<title>buildshorewall and build44</title>
|
<title>build44</title>
|
||||||
|
|
||||||
<para>These are the scripts that build Shorewall packages from SVN. The
|
<para>This is the script that builds Shorewall packages from Git.
|
||||||
<command>buildshorewall</command> script builds Shorewall 4.0 and
|
</para>
|
||||||
Shorewall 4.2 packages; the <command>build44</command> script builds
|
|
||||||
Shorewall 4.3 and 4.4 packages. Because the scripts work similarly, they
|
|
||||||
will be described together.</para>
|
|
||||||
|
|
||||||
<para>The build scripts copy content from SVN using the <command>svn
|
<para>The script copies content from Git using the <command>svn
|
||||||
export</command> command. They then use that content to build the
|
archive</command> command. It then uses that content to build the
|
||||||
packages. In addition to the usual Gnu utilities, the following software
|
packages. In addition to the usual Gnu utilities, the following software
|
||||||
is required:</para>
|
is required:</para>
|
||||||
|
|
||||||
@ -311,10 +260,10 @@
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>SVN</term>
|
<term>GIT</term>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Shorewall SVN repository</para>
|
<para>Shorewall GIT repository</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
@ -326,24 +275,14 @@
|
|||||||
<para>The general form of the build command is:</para>
|
<para>The general form of the build command is:</para>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<para><replaceable>buildscript</replaceable> [
|
<para><command>build44</command> [ -<replaceable>options</replaceable>
|
||||||
-<replaceable>options</replaceable> ]
|
] <replaceable>release</replaceable> [ <replaceable>prior
|
||||||
<replaceable>release</replaceable> [ <replaceable>prior
|
|
||||||
release</replaceable> ]</para>
|
release</replaceable> ]</para>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
||||||
<para>where</para>
|
<para>where</para>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
|
||||||
<term><emphasis>buildscript</emphasis></term>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>is either <command>buildshorewall</command> or
|
|
||||||
<command>build44</command></para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>opt<emphasis>i</emphasis>ons</term>
|
<term>opt<emphasis>i</emphasis>ons</term>
|
||||||
|
|
||||||
@ -380,9 +319,7 @@
|
|||||||
<term>c</term>
|
<term>c</term>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Build the <firstterm>common</firstterm> package
|
<para>Build the shorewall package.</para>
|
||||||
(shorewall-common on versions 4.0 and 4.2 and shorewall on
|
|
||||||
4.3 and later)</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@ -436,7 +373,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The release version to build. Must match the version in the
|
<para>The release version to build. Must match the version in the
|
||||||
associated SVN path.</para>
|
associated Git path.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@ -565,61 +502,4 @@
|
|||||||
</blockquote>
|
</blockquote>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
|
||||||
<title>Patch Releases</title>
|
|
||||||
|
|
||||||
<para>Patch releases are created when a defect is found in the current
|
|
||||||
stable release of one of the products and the nature of the problem
|
|
||||||
warrents releasing a fix before the next minor release. The basic steps in
|
|
||||||
creating a patch release <replaceable>n</replaceable> are as
|
|
||||||
follows:</para>
|
|
||||||
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Create
|
|
||||||
tags/<replaceable>minor-version</replaceable>/Shorewall-common-<replaceable>n</replaceable>
|
|
||||||
or Shorewall-<replaceable>n</replaceable> depending on which release.
|
|
||||||
If that product is being changed, the <command>svn cp</command>
|
|
||||||
command can be used. Otherwise, use <command>svn mkdir</command> and
|
|
||||||
then <command>svn cp</command> the <filename>changelog.txt</filename>
|
|
||||||
and <filename>releasenotes.txt</filename> files from the last release
|
|
||||||
(either the minor release itself or the preceding patch
|
|
||||||
release.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>For each of the other products, create a
|
|
||||||
<replaceable>product-n</replaceable> directory (e.g.,
|
|
||||||
Shorewall-perl-<replaceable>n</replaceable>) using <command>svn
|
|
||||||
cp</command>. Again the last released version of the minor version of
|
|
||||||
the product should be the source.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Apply the changes necessary to fix the bug, including updating
|
|
||||||
the change log and release notes.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Run <command>setversion</command> to set the version of the
|
|
||||||
updated product(s).</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Create
|
|
||||||
<filename>tags/<replaceable>minor-version</replaceable>/known_problems.txt</filename>
|
|
||||||
if it doesn already exist and add a description of the defect and
|
|
||||||
indicate the patch release in which it was corrected.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Commit the fix to SVN.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Build the product(s).</para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
</section>
|
|
||||||
</article>
|
</article>
|
||||||
|
Loading…
Reference in New Issue
Block a user