[prev in list] [next in list] [prev in thread] [next in thread] 

List:       leaf-cvs-commits
Subject:    [Leaf-cvs-commits] devel/hejl book1.html,NONE,1.1 buildtool_gsg.pdf,NONE,1.1 c107.html,NONE,1.1 c108
From:       Martin Hejl <hejl () users ! sourceforge ! net>
Date:       2003-07-25 18:52:55
[Download RAW message or body]

Update of /cvsroot/leaf/devel/hejl
In directory sc8-pr-cvs1:/tmp/cvs-serv7177

Modified Files:
	bt_install.xml bt_sources.xml bt_usage.xml buildpacket.xml 
	buildtool_gsg.xml 
Added Files:
	book1.html buildtool_gsg.pdf c107.html c108.html c34.html 
	c35.html c425.html c426.html c44.html c45.html c78.html 
	c79.html x101.html x102.html x130.html x131.html x227.html 
	x228.html x39.html x40.html x433.html x434.html x480.html 
	x481.html x53.html x54.html x58.html x59.html x64.html 
	x65.html x84.html x85.html x89.html x90.html x92.html x93.html 
Log Message:
Added buildpacket step by step guide
created pdfs and html from docbook


--- NEW FILE: book1.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Buildtool getting started guide</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="NEXT"
TITLE="Introduction"
HREF="c34.html"></HEAD
> <BODY
CLASS="book"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="BOOK"
> <A
NAME="buildtoolGS"
> </A
> <DIV
CLASS="TITLEPAGE"
> <H1
CLASS="title"
> <A
NAME="AEN2"
> </A
> Buildtool getting started guide</H1
> <H3
CLASS="author"
> <A
NAME="AEN5"
> </A
> Arne Bernin</H3
> <DIV
CLASS="affiliation"
> <DIV
CLASS="address"
> <P
CLASS="address"
> arne@alamut.de</P
> </DIV
> </DIV
> <H3
CLASS="author"
> <A
NAME="AEN11"
> </A
> Martin Hejl</H3
> <DIV
CLASS="affiliation"
> <DIV
CLASS="address"
> <P
CLASS="address"
> martin@hejl.de</P
> </DIV
> </DIV
> <HR></DIV
> <DIV
CLASS="TOC"
> <DL
> <DT
> <B
> Table of Contents</B
> </DT
> <DT
> <A
HREF="c34.html"
> Introduction</A
> </DT
> <DD
> <DL
> <DT
> <A
HREF="c34.html#AEN36"
> What is buildtool?</A
> </DT
> <DT
> <A
HREF="x39.html"
> Why bother?</A
> </DT
> </DL
> </DD
> <DT
> <A
HREF="c44.html"
> Installation</A
> </DT
> <DD
> <DL
> <DT
> <A
HREF="c44.html#buildtool_checkout"
> CVS checkout</A
> </DT
> <DT
> <A
HREF="x53.html"
> Perl</A
> </DT
> <DT
> <A
HREF="x58.html"
> Initial configuration</A
> </DT
> <DT
> <A
HREF="x64.html"
> Toolchain download/build</A
> </DT
> </DL
> </DD
> <DT
> <A
HREF="c78.html"
> Buildtool usage</A
> </DT
> <DD
> <DL
> <DT
> <A
HREF="c78.html#AEN80"
> Options</A
> </DT
> <DT
> <A
HREF="x84.html"
> Getting information about the sources that can be built</A
> </DT
> <DT
> <A
HREF="x89.html"
> The difference between sources and packages</A
> </DT
> <DT
> <A
HREF="x92.html"
> Downloading the sources for a package</A
> </DT
> <DT
> <A
HREF="x101.html"
> Compiling the sources for a package</A
> </DT
> </DL
> </DD
> <DT
> <A
HREF="c107.html"
> Creating buildtool sources/packages</A
> </DT
> <DD
> <DL
> <DT
> <A
HREF="c107.html#AEN109"
> Overview</A
> </DT
> <DT
> <A
HREF="x130.html"
> Step by step guide to creating a simple config</A
> </DT
> <DD
> <DL
> <DT
> <A
HREF="x130.html#AEN144"
> Creating the source definition for syslinux, util-linux,
      dosfstools</A
> </DT
> <DT
> <A
HREF="x130.html#AEN166"
> Creating the makefile for syslinux</A
> </DT
> <DT
> <A
HREF="x130.html#AEN175"
> Creating the source definition for fdisk</A
> </DT
> <DT
> <A
HREF="x130.html#AEN182"
> The makefile for util-linux</A
> </DT
> <DT
> <A
HREF="x130.html#AEN187"
> Source definition for dosfstools</A
> </DT
> <DT
> <A
HREF="x130.html#AEN194"
> Makefile for dosfstools</A
> </DT
> <DT
> <A
HREF="x130.html#AEN198"
> Finishing up hdsupp</A
> </DT
> </DL
> </DD
> <DT
> <A
HREF="x227.html"
> Buildtool reference</A
> </DT
> <DD
> <DL
> <DT
> <A
HREF="x227.html#AEN229"
> conf/global.cf</A
> </DT
> <DT
> <A
HREF="x227.html#AEN275"
> buildtool.cfg</A
> </DT
> <DT
> <A
HREF="x227.html#AEN290"
> buildtool.mk</A
> </DT
> <DT
> <A
HREF="x227.html#AEN364"
> Directory structure</A
> </DT
> </DL
> </DD
> </DL
> </DD
> <DT
> <A
HREF="c425.html"
> Creating lrp packages with buildpacket</A
> </DT
> <DD
> <DL
> <DT
> <A
HREF="c425.html#AEN427"
> Step by step guide to setting up the configuration for hdsupp.lrp</A
> </DT
> <DT
> <A
HREF="x433.html"
> Configuration</A
> </DT
> <DD
> <DL
> <DT
> <A
HREF="x433.html#AEN437"
> Version</A
> </DT
> <DT
> <A
HREF="x433.html#AEN440"
> Revision</A
> </DT
> <DT
> <A
HREF="x433.html#AEN443"
> Skeleton</A
> </DT
> <DT
> <A
HREF="x433.html#AEN446"
> Permissions</A
> </DT
> <DT
> <A
HREF="x433.html#AEN449"
> Owner</A
> </DT
> <DT
> <A
HREF="x433.html#AEN452"
> Help</A
> </DT
> <DT
> <A
HREF="x433.html#AEN462"
> Contents</A
> </DT
> <DT
> <A
HREF="x433.html#AEN467"
> File</A
> </DT
> </DL
> </DD
> <DT
> <A
HREF="x480.html"
> Creating packages</A
> </DT
> <DD
> <DL
> <DT
> <A
HREF="x480.html#AEN487"
> Options</A
> </DT
> </DL
> </DD
> </DL
> </DD
> </DL
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> &nbsp;</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> &nbsp;</TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="c34.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> &nbsp;</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> &nbsp;</TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Introduction</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: buildtool_gsg.pdf ---
%PDF-1.3
1 0 obj
<< /S /GoTo /D (1.0) >>
endobj
4 0 obj
(Buildtool getting started guide)
endobj
5 0 obj
<< /S /GoTo /D (2.0) >>
endobj
8 0 obj
(Table of Contents)
endobj
9 0 obj
<< /S /GoTo /D (3.0) >>
endobj
12 0 obj
(Chapter 1. Introduction)
endobj
[...4505 lines suppressed...]
0000092949 00000 n 
0000109997 00000 n 
0000130169 00000 n 
0000155322 00000 n 
0000156455 00000 n 
0000156549 00000 n 
0000161277 00000 n 
0000168045 00000 n 
0000168084 00000 n 
0000168122 00000 n 
0000168292 00000 n 
trailer
<<
/Size 823
/Root 821 0 R
/Info 822 0 R
> > 
startxref
168485
%%EOF

--- NEW FILE: c107.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Creating buildtool sources/packages</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="PREVIOUS"
TITLE="Compiling the sources for a package"
HREF="x101.html"><LINK
REL="NEXT"
TITLE="Step by step guide to creating a simple config"
HREF="x130.html"></HEAD
> <BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x101.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> </TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x130.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="chapter"
> <H1
> <A
NAME="AEN107"
> </A
> Creating buildtool sources/packages</H1
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN109"
> </A
> Overview</H1
> <P
> For each package, 3 files control how its built:
    <P
> </P
> <DIV
CLASS="variablelist"
> <DL
> <DT
> conf/global.cfg</DT
> <DD
> <P
> Defines
    the servers that the config files for the packages are downloaded from,
    and the packages/sources themselves as well as the dependencies of a given
    package. All other files that are part of a package and should be
    downloaded from somewhere have to be explicitly named in the
    <TT
CLASS="filename"
> buildtool.cfg</TT
> which is specific to the package. The
    file <TT
CLASS="filename"
> conf/global.cfg</TT
> is the same for all
    packages/sources, you can find it in the <TT
CLASS="filename"
> conf</TT
> subdir
    in your Buildtool root directory.</P
> </DD
> <DT
> buildtool.cfg</DT
> <DD
> <P
> (package
    specific - will be downloaded with the information from
    <TT
CLASS="filename"
> conf/global.cfg</TT
> ). Defines where to get the
    sources/patches and also has the definitions for the package itself (used
    by buildpacket).</P
> </DD
> <DT
> buildtool.mk</DT
> <DD
> <P
> (package
    specific - will be downloaded with the information from
    <TT
CLASS="filename"
> buildtool.cfg</TT
> ). Makefile for actually building the
    sources.</P
> </DD
> </DL
> </DIV
> </P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x101.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x130.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Compiling the sources for a package</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> &nbsp;</TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Step by step guide to creating a simple config</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: c108.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Creating buildtool sources/packages</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="PREVIOUS"
TITLE="Compiling the sources for a package"
HREF="x102.html"><LINK
REL="NEXT"
TITLE="Step by step guide to creating a simple config"
HREF="x131.html"></HEAD
> <BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x102.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> </TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x131.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="chapter"
> <H1
> <A
NAME="AEN108"
> </A
> Creating buildtool sources/packages</H1
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN110"
> </A
> Overview</H1
> <P
> For each package, 3 files control how its built:
    <P
> </P
> <DIV
CLASS="variablelist"
> <DL
> <DT
> conf/global.cfg</DT
> <DD
> <P
> Defines
    the servers that the config files for the packages are downloaded from,
    and the packages/sources themselves as well as the dependencies of a given
    package. All other files that are part of a package and should be
    downloaded from somewhere have to be explicitly named in the
    <TT
CLASS="filename"
> buildtool.cfg</TT
> which is specific to the package. The
    file <TT
CLASS="filename"
> conf/global.cfg</TT
> is the same for all
    packages/sources, you can find it in the <TT
CLASS="filename"
> conf</TT
> subdir
    in your Buildtool root directory.</P
> </DD
> <DT
> buildtool.cfg</DT
> <DD
> <P
> (package
    specific - will be downloaded with the information from
    <TT
CLASS="filename"
> conf/global.cfg</TT
> ). Defines where to get the
    sources/patches and also has the definitions for the package itself (used
    by buildpacket).</P
> </DD
> <DT
> buildtool.mk</DT
> <DD
> <P
> (package
    specific - will be downloaded with the information from
    <TT
CLASS="filename"
> buildtool.cfg</TT
> ). Makefile for actually building the
    sources.</P
> </DD
> </DL
> </DIV
> </P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x102.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x131.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Compiling the sources for a package</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> &nbsp;</TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Step by step guide to creating a simple config</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: c34.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Introduction</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="PREVIOUS"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="NEXT"
TITLE="Why bother?"
HREF="x39.html"></HEAD
> <BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="book1.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> </TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x39.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="chapter"
> <H1
> <A
NAME="buildtool_intro"
> </A
> Introduction</H1
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN36"
> </A
> What is buildtool?</H1
> <P
> &#13;Buildtool is a set of perl-scripts/packages to build lrp/leaf-packages from \
> source. Everything in the build process is automated, from downloading the sources \
> and applying patches to configuring/building the source and creating the \
> lrp-package. 
</P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x39.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Buildtool getting started guide</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> &nbsp;</TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Why bother?</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: c35.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Introduction</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="PREVIOUS"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="NEXT"
TITLE="Why bother?"
HREF="x40.html"></HEAD
> <BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="book1.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> </TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x40.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="chapter"
> <H1
> <A
NAME="buildtool_intro"
> </A
> Introduction</H1
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN37"
> </A
> What is buildtool?</H1
> <P
> &#13;Buildtool is a set of perl-scripts/packages to build lrp/leaf-packages from \
> source. Everything in the build process is automated, from downloading the sources \
> and applying patches to configuring/building the source and creating the \
> lrp-package. 
</P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x40.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Buildtool getting started guide</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> &nbsp;</TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Why bother?</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: c425.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Creating lrp packages with buildpacket</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="PREVIOUS"
TITLE="Buildtool reference"
HREF="x227.html"><LINK
REL="NEXT"
TITLE="Configuration"
HREF="x433.html"></HEAD
> <BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x227.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> </TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x433.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="chapter"
> <H1
> <A
NAME="AEN425"
> </A
> Creating lrp packages with buildpacket</H1
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN427"
> </A
> Step by step guide to setting up the configuration for hdsupp.lrp</H1
> <P
> In this section, we will finish up the hdsupp package, so
    buildpacket will be able to create an lrp-file from the sources buildtool
    created. To do this, open source/hdsupp/buildtool.cfg and append the
    following text:</P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Package&#62;
  &#60;hdsupp&#62;
    Version  = 1.0
    Revision = 1
    Help &#60;&#60;EOF
    Tools to be create a bootable partition from within Bering-uClibc.

    The procedure to get a plain syslinux partition (if you want to use lilo, 
    you're on your own) is something like this:
    1. make sure your Bering install actually supports your harddrive 
       (i.e. insert the appropriate modules)
    2. Run fdisk to create the partitions. I usually create an empty DOS 
       partition table (using the 'o' command) create a primary partition, make 
       that bootable (using the 'a' command)
    3. Run mkfs.msdos on the newly created partition (e.g. mkfs.msdos /dev/hda1)
    4. Copy the MBR to the drive using (assuming your harddrive is /dev/hda)
       dd if=/usr/bin/mbr.bin of=/dev/hda bs=512 count=1
    5. Mount the drive and copy the bering files onto the drive (please read
       the bering users guide, section "Booting from an IDE device", it has some 
       vital info for that part of the process)
       Remember to change the 'boot' and 'PKGPATH' to point to your harddrive.
    6. run syslinux (e.g. syslinux /dev/hda1) This is usually the last thing I do
       (after unmounting the partition again, of course), because that way, I can
       simply copy everything from the floppy without having to worry about leaving 
       ldlinux.sys alone (since that gets overwritten with the correct version by
       running syslinux)
    EOF

    &#60;Permissions&#62;
      Files = 644
      Directories = 755
    &#60;/Permissions&#62;

    &#60;Owner&#62;
      Files = root:root
      Directories = root:root
    &#60;/Owner&#62;

    &#60;Contents&#62;
      &#60;File&#62;
        Source          = sbin/fdisk
        Filename        = sbin/fdisk
        Type            = binary
        Permissions     = 755
      &#60;/File&#62;
  
      &#60;File&#62;
        Source          = sbin/mkfs.minix
        Filename        = sbin/mkfs.minix
        Type            = binary
        Permissions     = 755
      &#60;/File&#62;
  
      &#60;File&#62;
        Source          = sbin/mkfs.msdos 
        Filename        = sbin/mkfs.msdos 
        Type            = binary
        Permissions     = 755
      &#60;/File&#62;
  
      &#60;File&#62;
        Source          = usr/sbin/syslinux 
        Filename        = usr/sbin/syslinux 
        Type            = binary
        Permissions     = 755
      &#60;/File&#62;
  
      &#60;File&#62;
        Source          = usr/sbin/mbr.bin 
        Filename        = usr/sbin/mbr.bin 
        Type            = binary
        # We don't neet to specify permissions here, since the default 644 will do \
just fine  &#60;/File&#62;
    &#60;/Contents&#62;  
  &#60;/hdsupp&#62;
&#60;/Package&#62;</PRE
> </TD
> </TR
> </TABLE
> <P
> </P
> <P
> </P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x227.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x433.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Buildtool reference</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> &nbsp;</TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Configuration</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: c426.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Creating lrp packages with buildpacket</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="PREVIOUS"
TITLE="Buildtool reference"
HREF="x228.html"><LINK
REL="NEXT"
TITLE="Configuration"
HREF="x434.html"></HEAD
> <BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x228.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> </TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x434.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="chapter"
> <H1
> <A
NAME="AEN426"
> </A
> Creating lrp packages with buildpacket</H1
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN428"
> </A
> Step by step guide to setting up the configuration for hdsupp.lrp</H1
> <P
> In this section, we will finish up the hdsupp package, so
    buildpacket will be able to create an lrp-file from the sources buildtool
    created. To do this, open source/hdsupp/buildtool.cfg and append the
    following text:</P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Package&#62;
  &#60;hdsupp&#62;
    Version  = 1.0
    Revision = 1
    Help &#60;&#60;EOF
    Tools to be create a bootable partition from within Bering-uClibc.

    The procedure to get a plain syslinux partition (if you want to use lilo, 
    you're on your own) is something like this:
    1. make sure your Bering install actually supports your harddrive 
       (i.e. insert the appropriate modules)
    2. Run fdisk to create the partitions. I usually create an empty DOS 
       partition table (using the 'o' command) create a primary partition, make 
       that bootable (using the 'a' command)
    3. Run mkfs.msdos on the newly created partition (e.g. mkfs.msdos /dev/hda1)
    4. Copy the MBR to the drive using (assuming your harddrive is /dev/hda)
       dd if=/usr/bin/mbr.bin of=/dev/hda bs=512 count=1
    5. Mount the drive and copy the bering files onto the drive (please read
       the bering users guide, section "Booting from an IDE device", it has some 
       vital info for that part of the process)
       Remember to change the 'boot' and 'PKGPATH' to point to your harddrive.
    6. run syslinux (e.g. syslinux /dev/hda1) This is usually the last thing I do
       (after unmounting the partition again, of course), because that way, I can
       simply copy everything from the floppy without having to worry about leaving 
       ldlinux.sys alone (since that gets overwritten with the correct version by
       running syslinux)
    EOF

    &#60;Permissions&#62;
      Files = 644
      Directories = 755
    &#60;/Permissions&#62;

    &#60;Owner&#62;
      Files = root:root
      Directories = root:root
    &#60;/Owner&#62;

    &#60;Contents&#62;
      &#60;File&#62;
        Source          = sbin/fdisk
        Filename        = sbin/fdisk
        Type            = binary
        Permissions     = 755
      &#60;/File&#62;
  
      &#60;File&#62;
        Source          = sbin/mkfs.minix
        Filename        = sbin/mkfs.minix
        Type            = binary
        Permissions     = 755
      &#60;/File&#62;
  
      &#60;File&#62;
        Source          = sbin/mkfs.msdos 
        Filename        = sbin/mkfs.msdos 
        Type            = binary
        Permissions     = 755
      &#60;/File&#62;
  
      &#60;File&#62;
        Source          = usr/sbin/syslinux 
        Filename        = usr/sbin/syslinux 
        Type            = binary
        Permissions     = 755
      &#60;/File&#62;
  
      &#60;File&#62;
        Source          = usr/sbin/mbr.bin 
        Filename        = usr/sbin/mbr.bin 
        Type            = binary
        # We don't neet to specify permissions here, since the default 644 will do \
just fine  &#60;/File&#62;
    &#60;/Contents&#62;  
  &#60;/hdsupp&#62;
&#60;/Package&#62;</PRE
> </TD
> </TR
> </TABLE
> <P
> </P
> <P
> </P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x228.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x434.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Buildtool reference</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> &nbsp;</TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Configuration</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: c44.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Installation</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="PREVIOUS"
TITLE="Why bother?"
HREF="x39.html"><LINK
REL="NEXT"
TITLE="Perl"
HREF="x53.html"></HEAD
> <BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x39.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> </TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x53.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="chapter"
> <H1
> <A
NAME="buildtool_install"
> </A
> Installation</H1
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="buildtool_checkout"
> </A
> CVS checkout</H1
> <P
> You can check out buildtool from thr sourceforge CVS Server. If you have an \
> sourceforge user account use: 
    <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> export CVS_RSH=ssh
cvs -z3 -d:ext:developername@cvs.sourceforge.net:/cvsroot/leaf \
  co src/bering-uclibc/buildtool</PRE
> </TD
> </TR
> </TABLE
> </P
> <P
> If you don't have an account use anonymous access to the repository:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/leaf login</PRE
> </TD
> </TR
> </TABLE
> 
Just press return if you see the password prompt. After login checkout with:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> cvs -z3 -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/leaf co \
> src/bering-uclibc/buildtool</PRE </TD
> </TR
> </TABLE
> 
</P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x39.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x53.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Why bother?</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> &nbsp;</TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Perl</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: c45.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Installation</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="PREVIOUS"
TITLE="Why bother?"
HREF="x40.html"><LINK
REL="NEXT"
TITLE="Perl"
HREF="x54.html"></HEAD
> <BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x40.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> </TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x54.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="chapter"
> <H1
> <A
NAME="buildtool_install"
> </A
> Installation</H1
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="buildtool_checkout"
> </A
> CVS checkout</H1
> <P
> You can check out buildtool from thr sourceforge CVS Server. If you have an \
> sourceforge user account use: 
    <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> export CVS_RSH=ssh
cvs -z3 -d:ext:developername@cvs.sourceforge.net:/cvsroot/leaf \
  co src/bering-uclibc/buildtool</PRE
> </TD
> </TR
> </TABLE
> </P
> <P
> If you don't have an account use anonymous access to the repository:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/leaf login</PRE
> </TD
> </TR
> </TABLE
> 
Just press return if you see the password prompt. After login checkout with:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> cvs -z3 -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/leaf co \
> src/bering-uclibc/buildtool</PRE </TD
> </TR
> </TABLE
> 
</P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x40.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x54.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Why bother?</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> &nbsp;</TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Perl</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: c78.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Buildtool usage</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="PREVIOUS"
TITLE="Toolchain download/build"
HREF="x64.html"><LINK
REL="NEXT"
TITLE="Getting information about the sources that can be built"
HREF="x84.html"></HEAD
> <BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x64.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> </TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x84.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="chapter"
> <H1
> <A
NAME="AEN78"
> </A
> Buildtool usage</H1
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN80"
> </A
> Options</H1
> <P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> usage: ./buildtool.pl command [pkgname]|[srcname] [...]

commands:
describe [pkgname]|[srcname]      shows descriptionlines of package
[-f] source [pkgname]|[srcname]   downloads, unpacks and patches
                                  the wanted package/source
[-f] build [pkgname]|[srcname]    the same as source, but builds
                                  and installs sources/packages also
[-f] clean [pkgname]|[srcname]    make a 'make clean' in srcdir
[-f] dlclean [pkgname]|[srcname]  remove everything from dldir
[-f] srcclean [pkgname]|[srcname] make a 'make srcclean' in srcdir
distclean                         remove everything
maketar                           make a tar for distribution

The -f switch allows you to force building sourcing and cleaning
 even if it seems the packages/sources are already installed or cleaned.</PRE
> </TD
> </TR
> </TABLE
> </P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x64.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x84.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Toolchain download/build</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> &nbsp;</TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Getting information about the sources that can be built</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: c79.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Buildtool usage</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="PREVIOUS"
TITLE="Toolchain download/build"
HREF="x65.html"><LINK
REL="NEXT"
TITLE="Getting information about the sources that can be built"
HREF="x85.html"></HEAD
> <BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x65.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> </TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x85.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="chapter"
> <H1
> <A
NAME="AEN79"
> </A
> Buildtool usage</H1
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN81"
> </A
> Options</H1
> <P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> usage: ./buildtool.pl command [pkgname]|[srcname] [...]

commands:
describe [pkgname]|[srcname]      shows descriptionlines of package
[-f] source [pkgname]|[srcname]   downloads, unpacks and patches
                                  the wanted package/source
[-f] build [pkgname]|[srcname]    the same as source, but builds
                                  and installs sources/packages also
[-f] clean [pkgname]|[srcname]    make a 'make clean' in srcdir
[-f] dlclean [pkgname]|[srcname]  remove everything from dldir
[-f] srcclean [pkgname]|[srcname] make a 'make srcclean' in srcdir
distclean                         remove everything
maketar                           make a tar for distribution

The -f switch allows you to force building sourcing and cleaning
 even if it seems the packages/sources are already installed or cleaned.</PRE
> </TD
> </TR
> </TABLE
> </P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x65.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x85.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Toolchain download/build</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> &nbsp;</TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Getting information about the sources that can be built</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x101.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Compiling the sources for a package</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Buildtool usage"
HREF="c78.html"><LINK
REL="PREVIOUS"
TITLE="Downloading the sources for a package"
HREF="x92.html"><LINK
REL="NEXT"
TITLE="Creating buildtool sources/packages"
HREF="c107.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x92.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Buildtool usage</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="c107.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN101"
> </A
> Compiling the sources for a package</H1
> <P
> Running <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> ./buildtool.pl build somepackageName</PRE
> </TD
> </TR
> </TABLE
> 
    will cause buildtool to actually compile the source and install it to the
    <TT
CLASS="filename"
> build</TT
> directory (and all its dependencies). After
    this has completed successfully, all binaries required for the lrp package
    (linked against uClibc) reside in the <TT
CLASS="filename"
> build</TT
> 
    directory.</P
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x92.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="c107.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Downloading the sources for a package</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c78.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Creating buildtool sources/packages</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x102.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Compiling the sources for a package</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Buildtool usage"
HREF="c79.html"><LINK
REL="PREVIOUS"
TITLE="Downloading the sources for a package"
HREF="x93.html"><LINK
REL="NEXT"
TITLE="Creating buildtool sources/packages"
HREF="c108.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x93.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Buildtool usage</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="c108.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN102"
> </A
> Compiling the sources for a package</H1
> <P
> Running <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> ./buildtool.pl build somepackageName</PRE
> </TD
> </TR
> </TABLE
> 
    will cause buildtool to actually compile the source and install it to the
    <TT
CLASS="filename"
> build</TT
> directory (and all its dependencies). After
    this has completed successfully, all binaries required for the lrp package
    (linked against uClibc) reside in the <TT
CLASS="filename"
> build</TT
> 
    directory.</P
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x93.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="c108.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Downloading the sources for a package</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c79.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Creating buildtool sources/packages</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x130.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Step by step guide to creating a simple config</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Creating buildtool sources/packages"
HREF="c107.html"><LINK
REL="PREVIOUS"
TITLE="Creating buildtool sources/packages"
HREF="c107.html"><LINK
REL="NEXT"
TITLE="Buildtool reference"
HREF="x227.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="c107.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Creating buildtool sources/packages</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x227.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN130"
> </A
> Step by step guide to creating a simple config</H1
> <P
> This section should give you a quick glance at how the configuration
    for a specific source is created (but it won't show the hours of
    fighting with some source because it refuses to build - you will
    experience that soon enough when you create your own package. I don't
    want to discourage you, but cross-compiling often is more difficult than
    building on the target system). For a more complete overview, please see
    the following sections of this chapter.</P
> <P
> For this exercise, we will create a package called hdsupp.lrp, which
    contains utilities for preparing a harddisk or compact flash disk for
    running under Bering uClibc. This package will contain
    <TT
CLASS="filename"
> fdisk</TT
> , <TT
CLASS="filename"
> syslinux</TT
> and
    <TT
CLASS="filename"
> mkfs.msdos</TT
> .</P
> <P
> Because there is no combined tarball for <TT
CLASS="filename"
> syslinux</TT
> ,
    <TT
CLASS="filename"
> fdisk</TT
> and <TT
CLASS="filename"
> mkfs.msdos</TT
> , we will
    have to create 3 different source definitions for buildtool. We will start
    with syslinux, since that is the easiest one.</P
> <P
> By the time you read this, hdsupp will already be part of the
    buildtool checkout. This means that the settings for syslinux, util-linux
    and dosfstools in <TT
CLASS="filename"
> conf/global.cfg</TT
> will already be
    there. You can decide to either just skip that section, or (for the sake
    of learning something) delete that part of <TT
CLASS="filename"
> conf/global.cfg</TT
> 
    and enter the information again manually. The following sections will
    assume that buildtool knows nothing about syslinux, util-linux and
    dosfstools.</P
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN144"
> </A
> Creating the source definition for syslinux, util-linux,
      dosfstools</H2
> <P
> First of all we need to edit <TT
CLASS="filename"
> conf/global.cfg</TT
> 
      to contain a source definition for syslinux, util-linux, dosfstools.
      <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Source syslinux&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = syslinux
  Description = Syslinux boot-loader plus an MBR
&#60;/Source&#62;

&#60;Source util-linux&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = util-linux
  Description = provides fdisk and mkfs.minix
&#60;/Source&#62;

&#60;Source dosfstools&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = dosfstools
  Description = provides mkfs.dos
&#60;/Source&#62;</PRE
> </TD
> </TR
> </TABLE
> For now, we'll just pretend that the
      <TT
CLASS="filename"
> buildtool.cfg</TT
> file will be in the leaf CVS. In this
      section, we will create everything needed for syslinux - the other
      sources will be taken care or later.</P
> <P
> Next, we need to create a directory called <TT
CLASS="filename"
> syslinux</TT
> 
      in <TT
CLASS="filename"
> source</TT
> . Doing <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> mkdir source/syslinux</PRE
> </TD
> </TR
> </TABLE
> will
      do the job. This directory will contain <TT
CLASS="filename"
> buildtool.cfg</TT
> ,
      <TT
CLASS="filename"
> buildtool.mk</TT
> and the syslinux sources.</P
> <P
> Create a new file <TT
CLASS="filename"
> source/syslinux/buildtool.cfg</TT
> 
      and enter the following information. <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Server cvs-sourceforge&#62;
  Type = viewcvs
  Name = cvs.sourceforge.net/cgi-bin/viewcvs.cgi
  Serverpath = /leaf/src/bering-uclibc/apps
&#60;/Server&#62;

&#60;Server kernel.org&#62;
  Type = http
  Name = www.kernel.org
  Serverpath = pub/linux/utils/boot/syslinux 
&#60;/Server&#62;

&#60;File buildtool.mk&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = syslinux
&#60;/File&#62;

&#60;File syslinux-2.05.tar.bz2&#62;
  Server = kernel.org
  envname = SYSLINUX_SOURCE
&#60;/File&#62;</PRE
> </TD
> </TR
> </TABLE
> </P
> <P
> The two server definitions tell buildtool which server it should
      use to dowload the files from. In this case it is the leaf-cvs
      repository for <TT
CLASS="filename"
> buildtool.mk</TT
> and kernel.org for the
      syslinux sources. Next we define the file definitiones themselves -
      specifying HEAD for revision of buildtool.mk is convenient during
      development of a package (since the revision number can change often
      while one is trying to correct some bugs).</P
> <P
> Note the <TT
CLASS="filename"
> envname</TT
> parameter - with this
      definition in the cfg-file, buildtool will set an environment variable
      (named <TT
CLASS="filename"
> SYSLINUX_SOURCE</TT
> in this case) containing the
      filename of the syslinux sources (<TT
CLASS="filename"
> syslinux-2.04.tar.bz2</TT
> 
      in our example). This saves us from having to hardcode any
      version-specific information into the makefile. Specifying
      <TT
CLASS="filename"
> envname</TT
> is not mandatory, but it keeps things
      simple for upgrading to a new version of a source.</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN166"
> </A
> Creating the makefile for syslinux</H2
> <P
> Obviously, this guide will not be able to teach you how to write
      makefiles, or what to do when there are errors during build. We'll
      simply focus on creating a makefile that produces the binaries and
      conforms to what buildtool expects.</P
> <P
> Create a new file <TT
CLASS="filename"
> source/syslinux/buildtool.mk</TT
> 
      and enter the following contents: <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> #############################################################
#
# syslinux 
#
#############################################################

include $(MASTERMAKEFILE)
SYSLINUX_DIR:=syslinux-2.05
SYSLINUX_TARGET_DIR:=$(BT_BUILD_DIR)/syslinux

source: 
  bzcat $(SYSLINUX_SOURCE) |  tar -xvf - 
  -mkdir $(SYSLINUX_TARGET_DIR)

build:
  export LANG=en_US  # Hack for Redhat 9
  $(MAKE) CC=$(TARGET_CC) -C $(SYSLINUX_DIR) syslinux
  -$(BT_STRIP) --strip-unneeded $(SYSLINUX_DIR)/syslinux
  $(MAKE) CC=$(TARGET_CC) -C $(SYSLINUX_DIR) INSTALLROOT=$(SYSLINUX_TARGET_DIR) \
install  cp $(SYSLINUX_DIR)/mbr.bin $(SYSLINUX_TARGET_DIR)/usr/bin/mbr.bin
  mkdir -p $(BT_STAGING_DIR)/usr/bin
  -cp $(SYSLINUX_TARGET_DIR)/usr/bin/syslinux $(BT_STAGING_DIR)/usr/bin/
  -cp $(SYSLINUX_DIR)/usr/bin/mbr.bin $(BT_STAGING_DIR)/usr/bin/

clean: 
  rm -rf $(SYSLINUX_TARGET_DIR)
  $(MAKE) -C $(SYSLINUX_DIR) clean</PRE
> </TD
> </TR
> </TABLE
> As with all makefiles, make
      sure that the delimiter in front of the commands (like
      <B
CLASS="command"
> $(MAKE) -C $(SYSLINUX_DIR) clean</B
> above) is a
      <I
CLASS="emphasis"
> tab</I
> and not <I
CLASS="emphasis"
> spaces</I
> .</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN175"
> </A
> Creating the source definition for fdisk</H2
> <P
> On Debian, fdisk (and also mkfs.minix, which we will use for the
      hdsupp package as well) is part of the util-linux package. So, we use
      the sources that are luckily already provided in the bering uClibc CVS
      (no need to pretend they're in CVS this time).</P
> <P
> Create a directory <TT
CLASS="filename"
> source/util-linux/</TT
> and a
      new file <TT
CLASS="filename"
> source/util-linux/buildtool.cfg</TT
> and enter
      the following information. <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Server cvs-sourceforge&#62;
  Type = viewcvs
  Name = cvs.sourceforge.net/cgi-bin/viewcvs.cgi
  Serverpath = /leaf/src/bering-uclibc/apps
&#60;/Server&#62;

&#60;File buildtool.mk&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = util-linux
&#60;/File&#62;

&#60;File util-linux_2.11n.orig.tar.gz&#62;
  Server = cvs-sourceforge
  envname = UTIL_LINUX_SOURCE
&#60;/File&#62;

&#60;File util-linux_2.11n-4.diff.gz&#62;So
  Server = cvs-sourceforge
  envname = UTIL_LINUX_PATCH1
&#60;/File&#62;</PRE
> </TD
> </TR
> </TABLE
> </P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN182"
> </A
> The makefile for util-linux</H2
> <P
> As with syslinux, we need to create a makefile. This time the
      source target will also include applying a patch</P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> #############################################################
#
# util-linux
#
#############################################################

include $(MASTERMAKEFILE)
UTIL_LINUX_DIR:=util-linux-2.11n
UTIL_LINUX_TARGET_DIR:=$(BT_BUILD_DIR)/util-linux
export CC=$(TARGET_CC)
export CFLAGS=-I$(BT_STAGING_DIR)/include 
export LDFLAGS=-L$(BT_STAGING_DIR)/lib -L$(BT_STAGING_DIR)/usr/lib

source: 
  zcat $(UTIL_LINUX_SOURCE) |  tar -xvf - 
  zcat $(UTIL_LINUX_PATCH1) | patch -d $(UTIL_LINUX_DIR) -p1
  cd $(UTIL_LINUX_DIR) &#38;&#38; ./configure
  perl -i -p -e 's,HAVE_SLANG=yes,HAVE_SLANG=no,' $(UTIL_LINUX_DIR)/MCONFIG
  perl -i -p -e 's,LIBSLANG=-lslang,LIBSLANG=,' $(UTIL_LINUX_DIR)/MCONFIG
  -mkdir $(UTIL_LINUX_TARGET_DIR)

build:
  $(MAKE) CC=$(TARGET_CC) -C $(UTIL_LINUX_DIR) misc-utils 
  $(MAKE) CC=$(TARGET_CC) -C $(UTIL_LINUX_DIR) disk-utils 
  $(MAKE) CC=$(TARGET_CC) -C $(UTIL_LINUX_DIR) fdisk fdisk
  -$(BT_STRIP) --strip-unneeded $(UTIL_LINUX_DIR)/fdisk/fdisk
  -$(BT_STRIP) --strip-unneeded $(UTIL_LINUX_DIR)/disk-utils/mkfs.minix
  -cp $(UTIL_LINUX_DIR)/fdisk/fdisk $(UTIL_LINUX_TARGET_DIR)/
  -cp $(UTIL_LINUX_DIR)/disk-utils/mkfs.minix $(UTIL_LINUX_TARGET_DIR)/
  mkdir -p $(BT_STAGING_DIR)/sbin
  -cp $(UTIL_LINUX_DIR)/fdisk/fdisk $(BT_STAGING_DIR)/sbin/
  -cp $(UTIL_LINUX_DIR)/disk-utils/mkfs.minix $(BT_STAGING_DIR)/sbin/
  
clean: 
  rm -rf $(UTIL_LINUX_TARGET_DIR)
  $(MAKE) -C $(UTIL_LINUX_DIR) clean</PRE
> </TD
> </TR
> </TABLE
> <P
> This one shows where things get a bit more tricky - for some
      reason, the configure-script that comes with util-linux insisted on
      building cfdisk (which needs ncurses). So, after running configure, we
      remove the definitions that cause this from MCONFIG (this is what the
      two calls to Perl do).</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN187"
> </A
> Source definition for dosfstools</H2
> <P
> Dosfstools provides mkfs.msdos. Again we need to create a
      directory for the sources/configs first. So, create a directory
      <TT
CLASS="filename"
> source/dosfstools</TT
> and a new file
      <TT
CLASS="filename"
> source/dosfstools/buildtool.cfg</TT
> with the following
      content:</P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Server cvs-sourceforge&#62;
  Type = viewcvs
  Name = cvs.sourceforge.net/cgi-bin/viewcvs.cgi
  Serverpath = /leaf/src/bering-uclibc/apps
&#60;/Server&#62;

&#60;Server debian&#62;
  Type = http
  Name = ftp.debian.org
  Serverpath = debian/pool/main/d/dosfstools
&#60;/Server&#62;

&#60;File buildtool.mk&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = dosfstools
&#60;/File&#62;

&#60;File dosfstools_2.9.orig.tar.gz&#62;
  Server = debian
  envname = DOSFSTOOLS_SOURCE
&#60;/File&#62;

&#60;File dosfstools_2.9-1.diff.gz&#62;
  Server = debian
  envname = DOSFSTOOLS_PATCH1
&#60;/File&#62;</PRE
> </TD
> </TR
> </TABLE
> <P
> Pretty much like the definitions before. Don't let yourself be
      fooled - despite the name ftp.debian.org, we can access this server
      using the http protocol.</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN194"
> </A
> Makefile for dosfstools</H2
> <P
> As one would expect the makefile for dosfstools looks just like
      the other ones.</P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> #############################################################
#
# dosfstools
#
#############################################################

include $(MASTERMAKEFILE)
DOSFSTOOLS_DIR:=dosfstools-2.9
DOSFSTOOLS_TARGET_DIR:=$(BT_BUILD_DIR)/dosfstools
export CC=$(TARGET_CC)

source: 
  zcat $(DOSFSTOOLS_SOURCE) |  tar -xvf - 
  zcat $(DOSFSTOOLS_PATCH1) | patch -d $(DOSFSTOOLS_DIR) -p1
  perl -i -p -e 's,CC\s*=\s*gcc,#CC = gcc,' $(DOSFSTOOLS_DIR)/Makefile
  perl -i -p -e 's,PREFIX\s*=.*,PREFIX = $(DOSFSTOOLS_TARGET_DIR),' \
                $(DOSFSTOOLS_DIR)/Makefile
  -mkdir $(DOSFSTOOLS_TARGET_DIR)

build:
  export PREFIX=$(DOSFSTOOLS_TARGET_DIR)
  $(MAKE) CC=$(TARGET_CC) -C $(DOSFSTOOLS_DIR) 
  $(MAKE) CC=$(TARGET_CC) -C $(DOSFSTOOLS_DIR) install
  -$(BT_STRIP) --strip-unneeded $(DOSFSTOOLS_TARGET_DIR)/sbin/mkdosfs
  mkdir -p $(BT_STAGING_DIR)/sbin
  -cp $(DOSFSTOOLS_TARGET_DIR)/sbin/mkfs.msdos $(BT_STAGING_DIR)/sbin/


clean:
  rm -rf $(DOSFSTOOLS_TARGET_DIR)
  $(MAKE) -C $(DOSFSTOOLS_DIR) clean</PRE
> </TD
> </TR
> </TABLE
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN198"
> </A
> Finishing up hdsupp</H2
> <P
> Finallly - almost there. Hdsupp will be a "wrapper
      package" - it doesn't really compile anything, it just makes
      sure that all sources it needs have been compiled, copies the binaries
      to the staging dir (this part could also be done in the individual .mk
      files) and creates the lrp package.</P
> <P
> In the beginning of this guide, we haven't added a definition
      for hdsupp to <TT
CLASS="filename"
> conf/global.cfg</TT
> . We'll change
      that now. Hdsupp is special, since one of its functions is to make sure
      all of the sources have been compiled already - it has
      <I
CLASS="emphasis"
> dependencies</I
> . In buildtool, we use the
      <B
CLASS="command"
> required</B
> tag to indicate dependencies. This tag lists
      all sources that must be built before hdsupp can be built. Notice that
      hdsupp is not specified as a source, but as a package (at this point, it
      makes no difference to buildtool, but it most likely will in the future
      - only packages will be able to produce lrp-files).</P
> <P
> So, enter the following to <TT
CLASS="filename"
> conf/global.cfg</TT
> > </P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Package hdsupp&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = hdsupp
  Description = HD-Support package containing the tools needed to make a harddisc or \
compact flash bootable  &#60;Requires&#62; 
    Name = syslinux
    Name = util-linux         
    Name = dosfstools
  &#60;/Requires&#62;  
&#60;/Package&#62;</PRE
> </TD
> </TR
> </TABLE
> <DIV
CLASS="section"
> <H3
CLASS="section"
> <A
NAME="AEN208"
> </A
> Hdsupp package definition</H3
> <P
> As before we need to create a directory for hdsupp containing
        buildtool.cfg and buildtool.mk. Create a new directory
        <TT
CLASS="filename"
> source/hdsupp</TT
> , a file <TT
CLASS="filename"
> buildtool.cfg</TT
> 
        and enter the following information to <TT
CLASS="filename"
> buildtool.cfg</TT
> > </P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Server cvs-sourceforge&#62;
  Type = viewcvs
  Name = cvs.sourceforge.net/cgi-bin/viewcvs.cgi
  Serverpath = /leaf/src/bering-uclibc/apps
&#60;/Server&#62;

&#60;File buildtool.mk&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = hdsupp
&#60;/File&#62;</PRE
> </TD
> </TR
> </TABLE
> <P
> As you can see, this one is extremely simple. Since hdsupp
        doesn't provide any sources, we only need to specify buildtool.mk.</P
> <P
> This is not all we need to add here - there's more to get
        <TT
CLASS="filename"
> buildpacket</TT
> to work. But this will be taken care
        of in the "Step by step" section of the buildpacket chapter.
        (TODO add link)</P
> </DIV
> <DIV
CLASS="section"
> <H3
CLASS="section"
> <A
NAME="AEN218"
> </A
> Hdsupp makefile</H3
> <P
> You may be wondering why we need a makefile at all, since hdsupp
        does not provide any sources. You are right - we don't
        <I
CLASS="emphasis"
> need</I
> a makefile. But to keep buildtool happy (and
        to make sure that buildpacket can verify that hdsupp has actually been
        build), we will provide one that simply does nothing. </P
> <P
> As before create a new file called <TT
CLASS="filename"
> buildtool.mk</TT
> 
        in <TT
CLASS="filename"
> sources/hdsupp</TT
> and enter the following
        contents:</P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> #############################################################
#
# hdsupp
#
#############################################################

include $(MASTERMAKEFILE)

source: 
  # nothing to be done

build:
  # nothing to be done

clean:
  # nothing to be done</PRE
> </TD
> </TR
> </TABLE
> <P
> That's it. You can now enter ./buildtool.pl build hdsupp and
        (hopefully) buildtool will download and compile everything needed. If
        something goes wrong, have a look at the buildtool-logfile (usually
        the the error-messages are pretty clear about what's wrong).</P
> </DIV
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="c107.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x227.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Creating buildtool sources/packages</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c107.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Buildtool reference</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x131.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Step by step guide to creating a simple config</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Creating buildtool sources/packages"
HREF="c108.html"><LINK
REL="PREVIOUS"
TITLE="Creating buildtool sources/packages"
HREF="c108.html"><LINK
REL="NEXT"
TITLE="Buildtool reference"
HREF="x228.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="c108.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Creating buildtool sources/packages</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x228.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN131"
> </A
> Step by step guide to creating a simple config</H1
> <P
> This section should give you a quick glance at how the configuration
    for a specific source is created (but it won't show the hours of
    fighting with some source because it refuses to build - you will
    experience that soon enough when you create your own package. I don't
    want to discourage you, but cross-compiling often is more difficult than
    building on the target system). For a more complete overview, please see
    the following sections of this chapter.</P
> <P
> For this exercise, we will create a package called hdsupp.lrp, which
    contains utilities for preparing a harddisk or compact flash disk for
    running under Bering uClibc. This package will contain
    <TT
CLASS="filename"
> fdisk</TT
> , <TT
CLASS="filename"
> syslinux</TT
> and
    <TT
CLASS="filename"
> mkfs.msdos</TT
> .</P
> <P
> Because there is no combined tarball for <TT
CLASS="filename"
> syslinux</TT
> ,
    <TT
CLASS="filename"
> fdisk</TT
> and <TT
CLASS="filename"
> mkfs.msdos</TT
> , we will
    have to create 3 different source definitions for buildtool. We will start
    with syslinux, since that is the easiest one.</P
> <P
> By the time you read this, hdsupp will already be part of the
    buildtool checkout. This means that the settings for syslinux, util-linux
    and dosfstools in <TT
CLASS="filename"
> conf/global.cfg</TT
> will already be
    there. You can decide to either just skip that section, or (for the sake
    of learning something) delete that part of <TT
CLASS="filename"
> conf/global.cfg</TT
> 
    and enter the information again manually. The following sections will
    assume that buildtool knows nothing about syslinux, util-linux and
    dosfstools.</P
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN145"
> </A
> Creating the source definition for syslinux, util-linux,
      dosfstools</H2
> <P
> First of all we need to edit <TT
CLASS="filename"
> conf/global.cfg</TT
> 
      to contain a source definition for syslinux, util-linux, dosfstools.
      <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Source syslinux&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = syslinux
  Description = Syslinux boot-loader plus an MBR
&#60;/Source&#62;

&#60;Source util-linux&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = util-linux
  Description = provides fdisk and mkfs.minix
&#60;/Source&#62;

&#60;Source dosfstools&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = dosfstools
  Description = provides mkfs.dos
&#60;/Source&#62;</PRE
> </TD
> </TR
> </TABLE
> For now, we'll just pretend that the
      <TT
CLASS="filename"
> buildtool.cfg</TT
> file will be in the leaf CVS. In this
      section, we will create everything needed for syslinux - the other
      sources will be taken care or later.</P
> <P
> Next, we need to create a directory called <TT
CLASS="filename"
> syslinux</TT
> 
      in <TT
CLASS="filename"
> source</TT
> . Doing <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> mkdir source/syslinux</PRE
> </TD
> </TR
> </TABLE
> will
      do the job. This directory will contain <TT
CLASS="filename"
> buildtool.cfg</TT
> ,
      <TT
CLASS="filename"
> buildtool.mk</TT
> and the syslinux sources.</P
> <P
> Create a new file <TT
CLASS="filename"
> source/syslinux/buildtool.cfg</TT
> 
      and enter the following information. <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Server cvs-sourceforge&#62;
  Type = viewcvs
  Name = cvs.sourceforge.net/cgi-bin/viewcvs.cgi
  Serverpath = /leaf/src/bering-uclibc/apps
&#60;/Server&#62;

&#60;Server kernel.org&#62;
  Type = http
  Name = www.kernel.org
  Serverpath = pub/linux/utils/boot/syslinux 
&#60;/Server&#62;

&#60;File buildtool.mk&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = syslinux
&#60;/File&#62;

&#60;File syslinux-2.05.tar.bz2&#62;
  Server = kernel.org
  envname = SYSLINUX_SOURCE
&#60;/File&#62;</PRE
> </TD
> </TR
> </TABLE
> </P
> <P
> The two server definitions tell buildtool which server it should
      use to dowload the files from. In this case it is the leaf-cvs
      repository for <TT
CLASS="filename"
> buildtool.mk</TT
> and kernel.org for the
      syslinux sources. Next we define the file definitiones themselves -
      specifying HEAD for revision of buildtool.mk is convenient during
      development of a package (since the revision number can change often
      while one is trying to correct some bugs).</P
> <P
> Note the <TT
CLASS="filename"
> envname</TT
> parameter - with this
      definition in the cfg-file, buildtool will set an environment variable
      (named <TT
CLASS="filename"
> SYSLINUX_SOURCE</TT
> in this case) containing the
      filename of the syslinux sources (<TT
CLASS="filename"
> syslinux-2.04.tar.bz2</TT
> 
      in our example). This saves us from having to hardcode any
      version-specific information into the makefile. Specifying
      <TT
CLASS="filename"
> envname</TT
> is not mandatory, but it keeps things
      simple for upgrading to a new version of a source.</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN167"
> </A
> Creating the makefile for syslinux</H2
> <P
> Obviously, this guide will not be able to teach you how to write
      makefiles, or what to do when there are errors during build. We'll
      simply focus on creating a makefile that produces the binaries and
      conforms to what buildtool expects.</P
> <P
> Create a new file <TT
CLASS="filename"
> source/syslinux/buildtool.mk</TT
> 
      and enter the following contents: <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> #############################################################
#
# syslinux 
#
#############################################################

include $(MASTERMAKEFILE)
SYSLINUX_DIR:=syslinux-2.05
SYSLINUX_TARGET_DIR:=$(BT_BUILD_DIR)/syslinux

source: 
  bzcat $(SYSLINUX_SOURCE) |  tar -xvf - 
  -mkdir $(SYSLINUX_TARGET_DIR)

build:
  export LANG=en_US  # Hack for Redhat 9
  $(MAKE) CC=$(TARGET_CC) -C $(SYSLINUX_DIR) syslinux
  -$(BT_STRIP) --strip-unneeded $(SYSLINUX_DIR)/syslinux
  $(MAKE) CC=$(TARGET_CC) -C $(SYSLINUX_DIR) INSTALLROOT=$(SYSLINUX_TARGET_DIR) \
install  cp $(SYSLINUX_DIR)/mbr.bin $(SYSLINUX_TARGET_DIR)/usr/bin/mbr.bin
  mkdir -p $(BT_STAGING_DIR)/usr/bin
  -cp $(SYSLINUX_TARGET_DIR)/usr/bin/syslinux $(BT_STAGING_DIR)/usr/bin/
  -cp $(SYSLINUX_DIR)/usr/bin/mbr.bin $(BT_STAGING_DIR)/usr/bin/

clean: 
  rm -rf $(SYSLINUX_TARGET_DIR)
  $(MAKE) -C $(SYSLINUX_DIR) clean</PRE
> </TD
> </TR
> </TABLE
> As with all makefiles, make
      sure that the delimiter in front of the commands (like
      <B
CLASS="command"
> $(MAKE) -C $(SYSLINUX_DIR) clean</B
> above) is a
      <I
CLASS="emphasis"
> tab</I
> and not <I
CLASS="emphasis"
> spaces</I
> .</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN176"
> </A
> Creating the source definition for fdisk</H2
> <P
> On Debian, fdisk (and also mkfs.minix, which we will use for the
      hdsupp package as well) is part of the util-linux package. So, we use
      the sources that are luckily already provided in the bering uClibc CVS
      (no need to pretend they're in CVS this time).</P
> <P
> Create a directory <TT
CLASS="filename"
> source/util-linux/</TT
> and a
      new file <TT
CLASS="filename"
> source/util-linux/buildtool.cfg</TT
> and enter
      the following information. <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Server cvs-sourceforge&#62;
  Type = viewcvs
  Name = cvs.sourceforge.net/cgi-bin/viewcvs.cgi
  Serverpath = /leaf/src/bering-uclibc/apps
&#60;/Server&#62;

&#60;File buildtool.mk&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = util-linux
&#60;/File&#62;

&#60;File util-linux_2.11n.orig.tar.gz&#62;
  Server = cvs-sourceforge
  envname = UTIL_LINUX_SOURCE
&#60;/File&#62;

&#60;File util-linux_2.11n-4.diff.gz&#62;So
  Server = cvs-sourceforge
  envname = UTIL_LINUX_PATCH1
&#60;/File&#62;</PRE
> </TD
> </TR
> </TABLE
> </P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN183"
> </A
> The makefile for util-linux</H2
> <P
> As with syslinux, we need to create a makefile. This time the
      source target will also include applying a patch</P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> #############################################################
#
# util-linux
#
#############################################################

include $(MASTERMAKEFILE)
UTIL_LINUX_DIR:=util-linux-2.11n
UTIL_LINUX_TARGET_DIR:=$(BT_BUILD_DIR)/util-linux
export CC=$(TARGET_CC)
export CFLAGS=-I$(BT_STAGING_DIR)/include 
export LDFLAGS=-L$(BT_STAGING_DIR)/lib -L$(BT_STAGING_DIR)/usr/lib

source: 
  zcat $(UTIL_LINUX_SOURCE) |  tar -xvf - 
  zcat $(UTIL_LINUX_PATCH1) | patch -d $(UTIL_LINUX_DIR) -p1
  cd $(UTIL_LINUX_DIR) &#38;&#38; ./configure
  perl -i -p -e 's,HAVE_SLANG=yes,HAVE_SLANG=no,' $(UTIL_LINUX_DIR)/MCONFIG
  perl -i -p -e 's,LIBSLANG=-lslang,LIBSLANG=,' $(UTIL_LINUX_DIR)/MCONFIG
  -mkdir $(UTIL_LINUX_TARGET_DIR)

build:
  $(MAKE) CC=$(TARGET_CC) -C $(UTIL_LINUX_DIR) misc-utils 
  $(MAKE) CC=$(TARGET_CC) -C $(UTIL_LINUX_DIR) disk-utils 
  $(MAKE) CC=$(TARGET_CC) -C $(UTIL_LINUX_DIR) fdisk fdisk
  -$(BT_STRIP) --strip-unneeded $(UTIL_LINUX_DIR)/fdisk/fdisk
  -$(BT_STRIP) --strip-unneeded $(UTIL_LINUX_DIR)/disk-utils/mkfs.minix
  -cp $(UTIL_LINUX_DIR)/fdisk/fdisk $(UTIL_LINUX_TARGET_DIR)/
  -cp $(UTIL_LINUX_DIR)/disk-utils/mkfs.minix $(UTIL_LINUX_TARGET_DIR)/
  mkdir -p $(BT_STAGING_DIR)/sbin
  -cp $(UTIL_LINUX_DIR)/fdisk/fdisk $(BT_STAGING_DIR)/sbin/
  -cp $(UTIL_LINUX_DIR)/disk-utils/mkfs.minix $(BT_STAGING_DIR)/sbin/
  
clean: 
  rm -rf $(UTIL_LINUX_TARGET_DIR)
  $(MAKE) -C $(UTIL_LINUX_DIR) clean</PRE
> </TD
> </TR
> </TABLE
> <P
> This one shows where things get a bit more tricky - for some
      reason, the configure-script that comes with util-linux insisted on
      building cfdisk (which needs ncurses). So, after running configure, we
      remove the definitions that cause this from MCONFIG (this is what the
      two calls to Perl do).</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN188"
> </A
> Source definition for dosfstools</H2
> <P
> Dosfstools provides mkfs.msdos. Again we need to create a
      directory for the sources/configs first. So, create a directory
      <TT
CLASS="filename"
> source/dosfstools</TT
> and a new file
      <TT
CLASS="filename"
> source/dosfstools/buildtool.cfg</TT
> with the following
      content:</P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Server cvs-sourceforge&#62;
  Type = viewcvs
  Name = cvs.sourceforge.net/cgi-bin/viewcvs.cgi
  Serverpath = /leaf/src/bering-uclibc/apps
&#60;/Server&#62;

&#60;Server debian&#62;
  Type = http
  Name = ftp.debian.org
  Serverpath = debian/pool/main/d/dosfstools
&#60;/Server&#62;

&#60;File buildtool.mk&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = dosfstools
&#60;/File&#62;

&#60;File dosfstools_2.9.orig.tar.gz&#62;
  Server = debian
  envname = DOSFSTOOLS_SOURCE
&#60;/File&#62;

&#60;File dosfstools_2.9-1.diff.gz&#62;
  Server = debian
  envname = DOSFSTOOLS_PATCH1
&#60;/File&#62;</PRE
> </TD
> </TR
> </TABLE
> <P
> Pretty much like the definitions before. Don't let yourself be
      fooled - despite the name ftp.debian.org, we can access this server
      using the http protocol.</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN195"
> </A
> Makefile for dosfstools</H2
> <P
> As one would expect the makefile for dosfstools looks just like
      the other ones.</P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> #############################################################
#
# dosfstools
#
#############################################################

include $(MASTERMAKEFILE)
DOSFSTOOLS_DIR:=dosfstools-2.9
DOSFSTOOLS_TARGET_DIR:=$(BT_BUILD_DIR)/dosfstools
export CC=$(TARGET_CC)

source: 
  zcat $(DOSFSTOOLS_SOURCE) |  tar -xvf - 
  zcat $(DOSFSTOOLS_PATCH1) | patch -d $(DOSFSTOOLS_DIR) -p1
  perl -i -p -e 's,CC\s*=\s*gcc,#CC = gcc,' $(DOSFSTOOLS_DIR)/Makefile
  perl -i -p -e 's,PREFIX\s*=.*,PREFIX = $(DOSFSTOOLS_TARGET_DIR),' \
                $(DOSFSTOOLS_DIR)/Makefile
  -mkdir $(DOSFSTOOLS_TARGET_DIR)

build:
  export PREFIX=$(DOSFSTOOLS_TARGET_DIR)
  $(MAKE) CC=$(TARGET_CC) -C $(DOSFSTOOLS_DIR) 
  $(MAKE) CC=$(TARGET_CC) -C $(DOSFSTOOLS_DIR) install
  -$(BT_STRIP) --strip-unneeded $(DOSFSTOOLS_TARGET_DIR)/sbin/mkdosfs
  mkdir -p $(BT_STAGING_DIR)/sbin
  -cp $(DOSFSTOOLS_TARGET_DIR)/sbin/mkfs.msdos $(BT_STAGING_DIR)/sbin/


clean:
  rm -rf $(DOSFSTOOLS_TARGET_DIR)
  $(MAKE) -C $(DOSFSTOOLS_DIR) clean</PRE
> </TD
> </TR
> </TABLE
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN199"
> </A
> Finishing up hdsupp</H2
> <P
> Finallly - almost there. Hdsupp will be a "wrapper
      package" - it doesn't really compile anything, it just makes
      sure that all sources it needs have been compiled, copies the binaries
      to the staging dir (this part could also be done in the individual .mk
      files) and creates the lrp package.</P
> <P
> In the beginning of this guide, we haven't added a definition
      for hdsupp to <TT
CLASS="filename"
> conf/global.cfg</TT
> . We'll change
      that now. Hdsupp is special, since one of its functions is to make sure
      all of the sources have been compiled already - it has
      <I
CLASS="emphasis"
> dependencies</I
> . In buildtool, we use the
      <B
CLASS="command"
> required</B
> tag to indicate dependencies. This tag lists
      all sources that must be built before hdsupp can be built. Notice that
      hdsupp is not specified as a source, but as a package (at this point, it
      makes no difference to buildtool, but it most likely will in the future
      - only packages will be able to produce lrp-files).</P
> <P
> So, enter the following to <TT
CLASS="filename"
> conf/global.cfg</TT
> > </P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Package hdsupp&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = hdsupp
  Description = HD-Support package containing the tools needed to make a harddisc or \
compact flash bootable  &#60;Requires&#62; 
    Name = syslinux
    Name = util-linux         
    Name = dosfstools
  &#60;/Requires&#62;  
&#60;/Package&#62;</PRE
> </TD
> </TR
> </TABLE
> <DIV
CLASS="section"
> <H3
CLASS="section"
> <A
NAME="AEN209"
> </A
> Hdsupp package definition</H3
> <P
> As before we need to create a directory for hdsupp containing
        buildtool.cfg and buildtool.mk. Create a new directory
        <TT
CLASS="filename"
> source/hdsupp</TT
> , a file <TT
CLASS="filename"
> buildtool.cfg</TT
> 
        and enter the following information to <TT
CLASS="filename"
> buildtool.cfg</TT
> > </P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Server cvs-sourceforge&#62;
  Type = viewcvs
  Name = cvs.sourceforge.net/cgi-bin/viewcvs.cgi
  Serverpath = /leaf/src/bering-uclibc/apps
&#60;/Server&#62;

&#60;File buildtool.mk&#62;
  Server = cvs-sourceforge
  Revision = HEAD
  Directory = hdsupp
&#60;/File&#62;</PRE
> </TD
> </TR
> </TABLE
> <P
> As you can see, this one is extremely simple. Since hdsupp
        doesn't provide any sources, we only need to specify buildtool.mk.</P
> <P
> This is not all we need to add here - there's more to get
        <TT
CLASS="filename"
> buildpacket</TT
> to work. But this will be taken care
        of in the "Step by step" section of the buildpacket chapter.
        (TODO add link)</P
> </DIV
> <DIV
CLASS="section"
> <H3
CLASS="section"
> <A
NAME="AEN219"
> </A
> Hdsupp makefile</H3
> <P
> You may be wondering why we need a makefile at all, since hdsupp
        does not provide any sources. You are right - we don't
        <I
CLASS="emphasis"
> need</I
> a makefile. But to keep buildtool happy (and
        to make sure that buildpacket can verify that hdsupp has actually been
        build), we will provide one that simply does nothing. </P
> <P
> As before create a new file called <TT
CLASS="filename"
> buildtool.mk</TT
> 
        in <TT
CLASS="filename"
> sources/hdsupp</TT
> and enter the following
        contents:</P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> #############################################################
#
# hdsupp
#
#############################################################

include $(MASTERMAKEFILE)

source: 
  # nothing to be done

build:
  # nothing to be done

clean:
  # nothing to be done</PRE
> </TD
> </TR
> </TABLE
> <P
> That's it. You can now enter ./buildtool.pl build hdsupp and
        (hopefully) buildtool will download and compile everything needed. If
        something goes wrong, have a look at the buildtool-logfile (usually
        the the error-messages are pretty clear about what's wrong).</P
> </DIV
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="c108.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x228.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Creating buildtool sources/packages</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c108.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Buildtool reference</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x227.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Buildtool reference</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Creating buildtool sources/packages"
HREF="c107.html"><LINK
REL="PREVIOUS"
TITLE="Step by step guide to creating a simple config"
HREF="x130.html"><LINK
REL="NEXT"
TITLE="Creating lrp packages with buildpacket"
HREF="c425.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x130.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Creating buildtool sources/packages</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="c425.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN227"
> </A
> Buildtool reference</H1
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN229"
> </A
> conf/global.cf</H2
> <P
> In this file you need to set two definitions - first, the server
      that <TT
CLASS="filename"
> buildtool.cfg</TT
> gets downloaded from.</P
> <P
> Sample: <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Server hejl&#62;
  Type = http
  Name = lrp.hejl.de
  Serverpath = /devel
&#60;/Server&#62;
&#60;Package openssh&#62;
  Server = hejl
  Directory = openssh
  Description = OpenSSH (ssh, sshd, ssh-key, sftp)
  &#60;Requires&#62; 
    Name = openssl
    Name = zlib             
    Name = tcp_wrappers
  &#60;/Requires&#62;     
&#60;/Package&#62;</PRE
> </TD
> </TR
> </TABLE
> </P
> <P
> The server section specifies that buildtool will use the url
      <TT
CLASS="filename"
> http://lrp.hejl.de/devel</TT
> as a base to download the
      config for the package. This url consists of two parts: The Name of the
      server and the serverpath which will be appended to the servername.
      Don't use an url here, since the protocol section of the url will be
      automatically added by buildtool (depending on what is specified as
      "Type").</P
> <P
> Possible entries in the Server section are:
      <P
> </P
> <DIV
CLASS="variablelist"
> <DL
> <DT
> Type</DT
> <DD
> <P
> The type of
      the server (Currently, the supported download types are: http, ftp,
      viewcvs and file).</P
> </DD
> <DT
> Name</DT
> <DD
> <P
> The
      name of the server (only for http, ftp and viewcvs.) without any leading
      protocol (like http://). Note if you use viewvcs.cgi you have to add
      here the pathname of the cgi script
      (cvs.sourceforge.net/cgi-bin/viewcvs.cgi for example)</P
> </DD
> <DT
> Serverpath</DT
> <DD
> <P
> The
      directory/pathname that comes after the servername (will be added there
      by buildtool). In case of a viewcvs server it will be added after the
      *checkout* that will be appended to the server' s Name (*checkout*
      is needed to tell viewcvs to really download a file). You should not use
      http for files that are downloaded via viewcvs - even though this is
      possible, buildtool tries to fetch the correct version, even if there
      already is a never version of the file in the repository (in that case,
      the download via http would fail). For type "File" this should
      contain a relative path to the file. This really only makes sense for
      files that are part of the CVS checkout.</P
> </DD
> </DL
> </DIV
> </P
> <P
> Possible entries in the package/source section are:
      <P
> </P
> <DIV
CLASS="variablelist"
> <DL
> <DT
> Server</DT
> <DD
> <P
> The name
      of the server to use (has to be defined as server in the server section,
      see above).</P
> </DD
> <DT
> Directory</DT
> <DD
> <P
> This
      is an additional directory name that will be appended to the serverpath.
      This makes it possible to define just one server for downloads from
      multiple directories.</P
> </DD
> <DT
> Description</DT
> <DD
> <P
> The
      string that is shown when entering <B
CLASS="command"
> ./buildtool.pl describe</B
> </P
> </DD
> <DT
> Requires</DT
> <DD
> <P
> The
      Requires section should contain a list of package names that must be
      built before building this package. The entries in here are put in line
      by line starting with the keyword <I
CLASS="emphasis"
> Name</I
> .</P
> </DD
> </DL
> </DIV
> </P
> <P
> The package section specifies which server to use (there has to be
      a corresponding server section) and which directory to download the
      config files from. So, in this example, <TT
CLASS="filename"
> buildtool.cfg</TT
> 
      for the package openssh will be downloaded from <TT
CLASS="filename"
> http://lrp.hejl.de/devel/openssh</TT
> 
      (this is defined by the url from the server section plus the directory
      defined by the package definition.</P
> <P
> The required section in this example defines, that before trying
      to build openssh, buildtool must build openssl, zlib and tcp_wrappers
      (and whatever packages they require).</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN275"
> </A
> buildtool.cfg</H2
> <P
> Contains two main sections. First of all the server and file
      specifications used for downloading the sources, and the package
      specification (which will be used by buildpacket). See the documentation
      on buildpacket for the package specification.</P
> <P
> Example: <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Server hejl&#62;
  Type = http
  Name = lrp.hejl.de
  Serverpath = /devel
&#60;/Server&#62;
&#60;Server debian&#62;
  Type = http
  Name = ftp.debian.org
  Serverpath = /debian/openssh
&#60;/Server&#62;
&#60;File buildtool.mk&#62;
  Server = hejl
  Directory = openssh
&#60;/File&#62;
&#60;File openssh_3.6.1p1.orig.tar.gz&#62;
  Server = debian
  envname = OPENSSH_SOURCE                
&#60;/File&#62;

&#60;File openssh_3.6.1p2-2.diff.gz&#62;
  Server = debian
  envname = OPENSSH_PATCH2                                
&#60;/File&#62;</PRE
> </TD
> </TR
> </TABLE
> </P
> <P
> The server section followes the same rules as in
      <TT
CLASS="filename"
> conf/global.cfg</TT
> . At this point, all servers that
      are referenced by a file section, need to be defined in this file (even
      if they have already been defined in <TT
CLASS="filename"
> conf/global.cfg</TT
> ).
      This may change in the future, so that servers need to be defined only
      once.</P
> <P
> Each file section defines a file to download. These usually are
      source archives and patches. The url to download the file is
      <TT
CLASS="filename"
> serverURL/Directory/File-section-name</TT
> . In our
      example, the three files that will be downloaded are:
      <TT
CLASS="filename"
> http://lrp.hejl.de/devel/openssh/buildtool.mk</TT
> 
      <TT
CLASS="filename"
> http://ftp.debian.org/debian/openssh/openssh_3.6.1p1.orig.tar.gz</TT
> 
      and <TT
CLASS="filename"
> http://ftp.debian.org/debian/openssh/openssh_3.6.1p2-2.diff.gz</TT
> </P
> <P
> For patches, you can use the <TT
CLASS="filename"
> envname</TT
> option.
      The effect of this option is that the value given with this option will
      be used as an environment variable, containing the name of the
      patch-file (this way, if a new patch comes out, replacing an old one,
      the -mk file doesn't need to be changed).</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN290"
> </A
> buildtool.mk</H2
> <P
> <TT
CLASS="filename"
> buildtool.mk</TT
> is the makefile that will be use
      to extract the source archive, apply the patches and compile the source.
      It must include the "mastermakefile" <TT
CLASS="filename"
> make/MasterInclude.mk</TT
> .
      Luckily, the environment variable MASTERMAKEFILE contains the file name
      of this file (including the full path). In short, every buildtool.mk
      file should start with: <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> include $(MASTERMAKEFILE)</PRE
> </TD
> </TR
> </TABLE
> </P
> <DIV
CLASS="section"
> <H3
CLASS="section"
> <A
NAME="AEN296"
> </A
> targets</H3
> <P
> The following targets need to be defined in each mk-file (these
        are the ones that are called by buildtool - of course you are free to
        define additional ones you need for building the source).</P
> <DIV
CLASS="section"
> <H4
CLASS="section"
> <A
NAME="AEN299"
> </A
> source</H4
> <P
> Should extract the source tarball, apply patches and run
          configure (if applicable).</P
> <P
> An example mk file follows here:
          <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> # example makefile for buildroot
# include the master settings (like BUILD_DIR, ARCH...).
include $(MASTERMAKEFILE)

MYSRC_DIR=example-1.1.1
MYINSTALL_DIR=$(BT_BUILD_DIR)/example

# MYEXAMPLE_PATCH2 is set via the buildtool.cfg entry 

.source:
        tar xvzf example.src.tgz
        (cd $(MYSRC_DIR) ; patch -p1 &#60; ../example-1.patch ;\
        patch -p1 &#60; $(MYEXAMPLE_PATCH2)
        touch .source
source: .source
 
.configure:
        (cd $(MYSRC_DIR) ; ./configure --PREFIX=/usr \
        --SYSCONFDIR=/etc \
        --enable-example )
        touch .configure

.build: .configure
        (cd $(MYSRC_DIR) ; make all CC=$(TARGET_CC) LD=$(TARGET_LD) )
        (cd $(MYSRC_DIR) ; make install INSTALL_PREFIX=$(MYINSTALL_DIR))
        touch .build
build: .build

clean:
        make -C $(MYSRC_DIR) clean
        rm .build
        rm .configure

srcclean: clean
        rm -rf $(MYSRC_DIR) 
        rm .source</PRE
> </TD
> </TR
> </TABLE
> </P
> <P
> The reason for the dot-entries in this file are: you might
          have problems if you try to apply a patch a second time to an
          already patched source. Although this should normally not happen, if
          you are working on a package to include into buildtool, it often
          does. The trick with the dot-files prevents this (as long as the
          .source file is there, the source won't be unpacked again. If
          you want the source to be upacked/patched , make a
          <B
CLASS="command"
> ./buildtool.pl srcclean PACKAGENAME</B
> ).</P
> </DIV
> <DIV
CLASS="section"
> <H4
CLASS="section"
> <A
NAME="AEN306"
> </A
> build</H4
> <P
> Should build the sources and install the binaries (to the
          directory defined by the BT_BUILD_DIR environment variable).</P
> </DIV
> <DIV
CLASS="section"
> <H4
CLASS="section"
> <A
NAME="AEN309"
> </A
> clean</H4
> <P
> This should clean up all files created during the compile</P
> </DIV
> </DIV
> <DIV
CLASS="section"
> <H3
CLASS="section"
> <A
NAME="AEN312"
> </A
> Environment variables</H3
> <P
> The following environment variables are defined when the mk file
        is run <P
> </P
> <DIV
CLASS="variablelist"
> <DL
> <DT
> BT_BUILDROOT</DT
> <DD
> <P
> root
        dir of buildtool (where buildtool.pl resides)</P
> </DD
> <DT
> BT_SOURCE_DIR</DT
> <DD
> <P
> where
        the sources are</P
> </DD
> <DT
> BT_BUILD_DIR/BT_BUILDDIR</DT
> <DD
> <P
> the
        directory where the binaries (from sources or packages) get intstalled
        to</P
> </DD
> <DT
> BT_STAGING_DIR</DT
> <DD
> <P
> the
        directory where the binaries for the toolchaing get installed to</P
> </DD
> <DT
> BT_LINUX_DIR</DT
> <DD
> <P
> directory
        of the linux kernel</P
> </DD
> <DT
> BT_PACKAGE_DIR</DT
> <DD
> <P
> where
        to put finished packages</P
> </DD
> <DT
> BT_PATCHTOOL</DT
> <DD
> <P
> path
        to patchtool</P
> </DD
> <DT
> GNU_TARGET_NAME</DT
> <DD
> <P
> something
        like i386-linux</P
> </DD
> <DT
> GNU_HOST_NAME</DT
> <DD
> <P
> something
        like i386-linux</P
> </DD
> <DT
> TARGET_CC</DT
> <DD
> <P
> compiler
        to use for compiling the binaries</P
> </DD
> <DT
> TARGET_LD</DT
> <DD
> <P
> linker
        to use for linking against uClibc</P
> </DD
> <DT
> BT_STRIP</DT
> <DD
> <P
> strip
        program (and options) to use for stripping binaries</P
> </DD
> </DL
> </DIV
> </P
> </DIV
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN364"
> </A
> Directory structure</H2
> <P
> A short overview of the subdirectories you find when you checked
      out buildtool and have the buildenv finished:
      <P
> </P
> <DIV
CLASS="variablelist"
> <DL
> <DT
> <TT
CLASS="filename"
> build</TT
> </DT
> <DD
> <P
> This
      is the place where sources can install there files (something you
      normally do with a <B
CLASS="command"
> make install DESTDIR=someDir</B
> . From
      here you can take the files to build the packages. Use a subdir for
      every package.</P
> </DD
> <DT
> <TT
CLASS="filename"
> buildtool</TT
> </DT
> <DD
> <P
> Internal
      directory , contains the perl modules/classes.</P
> </DD
> <DT
> <TT
CLASS="filename"
> conf</TT
> </DT
> <DD
> <P
> Global
      Config files are in here (<TT
CLASS="filename"
> global.cfg, buildtools.cfg,
      installed</TT
> )</P
> </DD
> <DT
> <TT
CLASS="filename"
> doc</TT
> </DT
> <DD
> <P
> you
      can find some documentation in here.</P
> </DD
> <DT
> <TT
CLASS="filename"
> log</TT
> </DT
> <DD
> <P
> should
      contain at least one file: buildtoollog, which has all the messages in
      it you don't want to see on your terminal. Useful for debugging.</P
> </DD
> <DT
> <TT
CLASS="filename"
> make</TT
> </DT
> <DD
> <P
> The
      place for the MasterMakefile which should be included by every other
      makefile.</P
> </DD
> <DT
> <TT
CLASS="filename"
> package</TT
> </DT
> <DD
> <P
> In
      here the actual packages are built. Every package has its own subdir (<TT
CLASS="filename"
> openssl</TT
> 
      for example) in which the unpacked package can be found. The packed
      packages are stored in the <TT
CLASS="filename"
> package</TT
> dir as archives
      (like <TT
CLASS="filename"
> openssl.lrp</TT
> ).</P
> </DD
> <DT
> <TT
CLASS="filename"
> source</TT
> </DT
> <DD
> <P
> all
      sources are here. Sources means downloaded files as well as the unpacked
      and compiled source (which should install its files to the
      <TT
CLASS="filename"
> build</TT
> directory described above, and maybe to the
      <TT
CLASS="filename"
> staging</TT
> directory from there. One subdir for every
      source.</P
> </DD
> <DT
> <TT
CLASS="filename"
> staging</TT
> </DT
> <DD
> <P
> This
      directory is primarly for internal use. The uclibc toolchain , the
      cross-compiler and all libraries are installed here.</P
> </DD
> <DT
> <TT
CLASS="filename"
> tools</TT
> </DT
> <DD
> <P
> you
      will find some tools in here , like upx for compressing the kernel and
      (maybe) additional scripts.</P
> </DD
> </DL
> </DIV
> </P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x130.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="c425.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Step by step guide to creating a simple config</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c107.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Creating lrp packages with buildpacket</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x228.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Buildtool reference</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Creating buildtool sources/packages"
HREF="c108.html"><LINK
REL="PREVIOUS"
TITLE="Step by step guide to creating a simple config"
HREF="x131.html"><LINK
REL="NEXT"
TITLE="Creating lrp packages with buildpacket"
HREF="c426.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x131.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Creating buildtool sources/packages</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="c426.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN228"
> </A
> Buildtool reference</H1
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN230"
> </A
> conf/global.cf</H2
> <P
> In this file you need to set two definitions - first, the server
      that <TT
CLASS="filename"
> buildtool.cfg</TT
> gets downloaded from.</P
> <P
> Sample: <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Server hejl&#62;
  Type = http
  Name = lrp.hejl.de
  Serverpath = /devel
&#60;/Server&#62;
&#60;Package openssh&#62;
  Server = hejl
  Directory = openssh
  Description = OpenSSH (ssh, sshd, ssh-key, sftp)
  &#60;Requires&#62; 
    Name = openssl
    Name = zlib             
    Name = tcp_wrappers
  &#60;/Requires&#62;     
&#60;/Package&#62;</PRE
> </TD
> </TR
> </TABLE
> </P
> <P
> The server section specifies that buildtool will use the url
      <TT
CLASS="filename"
> http://lrp.hejl.de/devel</TT
> as a base to download the
      config for the package. This url consists of two parts: The Name of the
      server and the serverpath which will be appended to the servername.
      Don't use an url here, since the protocol section of the url will be
      automatically added by buildtool (depending on what is specified as
      "Type").</P
> <P
> Possible entries in the Server section are:
      <P
> </P
> <DIV
CLASS="variablelist"
> <DL
> <DT
> Type</DT
> <DD
> <P
> The type of
      the server (Currently, the supported download types are: http, ftp,
      viewcvs and file).</P
> </DD
> <DT
> Name</DT
> <DD
> <P
> The
      name of the server (only for http, ftp and viewcvs.) without any leading
      protocol (like http://). Note if you use viewvcs.cgi you have to add
      here the pathname of the cgi script
      (cvs.sourceforge.net/cgi-bin/viewcvs.cgi for example)</P
> </DD
> <DT
> Serverpath</DT
> <DD
> <P
> The
      directory/pathname that comes after the servername (will be added there
      by buildtool). In case of a viewcvs server it will be added after the
      *checkout* that will be appended to the server' s Name (*checkout*
      is needed to tell viewcvs to really download a file). You should not use
      http for files that are downloaded via viewcvs - even though this is
      possible, buildtool tries to fetch the correct version, even if there
      already is a never version of the file in the repository (in that case,
      the download via http would fail). For type "File" this should
      contain a relative path to the file. This really only makes sense for
      files that are part of the CVS checkout.</P
> </DD
> </DL
> </DIV
> </P
> <P
> Possible entries in the package/source section are:
      <P
> </P
> <DIV
CLASS="variablelist"
> <DL
> <DT
> Server</DT
> <DD
> <P
> The name
      of the server to use (has to be defined as server in the server section,
      see above).</P
> </DD
> <DT
> Directory</DT
> <DD
> <P
> This
      is an additional directory name that will be appended to the serverpath.
      This makes it possible to define just one server for downloads from
      multiple directories.</P
> </DD
> <DT
> Description</DT
> <DD
> <P
> The
      string that is shown when entering <B
CLASS="command"
> ./buildtool.pl describe</B
> </P
> </DD
> <DT
> Requires</DT
> <DD
> <P
> The
      Requires section should contain a list of package names that must be
      built before building this package. The entries in here are put in line
      by line starting with the keyword <I
CLASS="emphasis"
> Name</I
> .</P
> </DD
> </DL
> </DIV
> </P
> <P
> The package section specifies which server to use (there has to be
      a corresponding server section) and which directory to download the
      config files from. So, in this example, <TT
CLASS="filename"
> buildtool.cfg</TT
> 
      for the package openssh will be downloaded from <TT
CLASS="filename"
> http://lrp.hejl.de/devel/openssh</TT
> 
      (this is defined by the url from the server section plus the directory
      defined by the package definition.</P
> <P
> The required section in this example defines, that before trying
      to build openssh, buildtool must build openssl, zlib and tcp_wrappers
      (and whatever packages they require).</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN276"
> </A
> buildtool.cfg</H2
> <P
> Contains two main sections. First of all the server and file
      specifications used for downloading the sources, and the package
      specification (which will be used by buildpacket). See the documentation
      on buildpacket for the package specification.</P
> <P
> Example: <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Server hejl&#62;
  Type = http
  Name = lrp.hejl.de
  Serverpath = /devel
&#60;/Server&#62;
&#60;Server debian&#62;
  Type = http
  Name = ftp.debian.org
  Serverpath = /debian/openssh
&#60;/Server&#62;
&#60;File buildtool.mk&#62;
  Server = hejl
  Directory = openssh
&#60;/File&#62;
&#60;File openssh_3.6.1p1.orig.tar.gz&#62;
  Server = debian
  envname = OPENSSH_SOURCE                
&#60;/File&#62;

&#60;File openssh_3.6.1p2-2.diff.gz&#62;
  Server = debian
  envname = OPENSSH_PATCH2                                
&#60;/File&#62;</PRE
> </TD
> </TR
> </TABLE
> </P
> <P
> The server section followes the same rules as in
      <TT
CLASS="filename"
> conf/global.cfg</TT
> . At this point, all servers that
      are referenced by a file section, need to be defined in this file (even
      if they have already been defined in <TT
CLASS="filename"
> conf/global.cfg</TT
> ).
      This may change in the future, so that servers need to be defined only
      once.</P
> <P
> Each file section defines a file to download. These usually are
      source archives and patches. The url to download the file is
      <TT
CLASS="filename"
> serverURL/Directory/File-section-name</TT
> . In our
      example, the three files that will be downloaded are:
      <TT
CLASS="filename"
> http://lrp.hejl.de/devel/openssh/buildtool.mk</TT
> 
      <TT
CLASS="filename"
> http://ftp.debian.org/debian/openssh/openssh_3.6.1p1.orig.tar.gz</TT
> 
      and <TT
CLASS="filename"
> http://ftp.debian.org/debian/openssh/openssh_3.6.1p2-2.diff.gz</TT
> </P
> <P
> For patches, you can use the <TT
CLASS="filename"
> envname</TT
> option.
      The effect of this option is that the value given with this option will
      be used as an environment variable, containing the name of the
      patch-file (this way, if a new patch comes out, replacing an old one,
      the -mk file doesn't need to be changed).</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN291"
> </A
> buildtool.mk</H2
> <P
> <TT
CLASS="filename"
> buildtool.mk</TT
> is the makefile that will be use
      to extract the source archive, apply the patches and compile the source.
      It must include the "mastermakefile" <TT
CLASS="filename"
> make/MasterInclude.mk</TT
> .
      Luckily, the environment variable MASTERMAKEFILE contains the file name
      of this file (including the full path). In short, every buildtool.mk
      file should start with: <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> include $(MASTERMAKEFILE)</PRE
> </TD
> </TR
> </TABLE
> </P
> <DIV
CLASS="section"
> <H3
CLASS="section"
> <A
NAME="AEN297"
> </A
> targets</H3
> <P
> The following targets need to be defined in each mk-file (these
        are the ones that are called by buildtool - of course you are free to
        define additional ones you need for building the source).</P
> <DIV
CLASS="section"
> <H4
CLASS="section"
> <A
NAME="AEN300"
> </A
> source</H4
> <P
> Should extract the source tarball, apply patches and run
          configure (if applicable).</P
> <P
> An example mk file follows here:
          <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> # example makefile for buildroot
# include the master settings (like BUILD_DIR, ARCH...).
include $(MASTERMAKEFILE)

MYSRC_DIR=example-1.1.1
MYINSTALL_DIR=$(BT_BUILD_DIR)/example

# MYEXAMPLE_PATCH2 is set via the buildtool.cfg entry 

.source:
        tar xvzf example.src.tgz
        (cd $(MYSRC_DIR) ; patch -p1 &#60; ../example-1.patch ;\
        patch -p1 &#60; $(MYEXAMPLE_PATCH2)
        touch .source
source: .source
 
.configure:
        (cd $(MYSRC_DIR) ; ./configure --PREFIX=/usr \
        --SYSCONFDIR=/etc \
        --enable-example )
        touch .configure

.build: .configure
        (cd $(MYSRC_DIR) ; make all CC=$(TARGET_CC) LD=$(TARGET_LD) )
        (cd $(MYSRC_DIR) ; make install INSTALL_PREFIX=$(MYINSTALL_DIR))
        touch .build
build: .build

clean:
        make -C $(MYSRC_DIR) clean
        rm .build
        rm .configure

srcclean: clean
        rm -rf $(MYSRC_DIR) 
        rm .source</PRE
> </TD
> </TR
> </TABLE
> </P
> <P
> The reason for the dot-entries in this file are: you might
          have problems if you try to apply a patch a second time to an
          already patched source. Although this should normally not happen, if
          you are working on a package to include into buildtool, it often
          does. The trick with the dot-files prevents this (as long as the
          .source file is there, the source won't be unpacked again. If
          you want the source to be upacked/patched , make a
          <B
CLASS="command"
> ./buildtool.pl srcclean PACKAGENAME</B
> ).</P
> </DIV
> <DIV
CLASS="section"
> <H4
CLASS="section"
> <A
NAME="AEN307"
> </A
> build</H4
> <P
> Should build the sources and install the binaries (to the
          directory defined by the BT_BUILD_DIR environment variable).</P
> </DIV
> <DIV
CLASS="section"
> <H4
CLASS="section"
> <A
NAME="AEN310"
> </A
> clean</H4
> <P
> This should clean up all files created during the compile</P
> </DIV
> </DIV
> <DIV
CLASS="section"
> <H3
CLASS="section"
> <A
NAME="AEN313"
> </A
> Environment variables</H3
> <P
> The following environment variables are defined when the mk file
        is run <P
> </P
> <DIV
CLASS="variablelist"
> <DL
> <DT
> BT_BUILDROOT</DT
> <DD
> <P
> root
        dir of buildtool (where buildtool.pl resides)</P
> </DD
> <DT
> BT_SOURCE_DIR</DT
> <DD
> <P
> where
        the sources are</P
> </DD
> <DT
> BT_BUILD_DIR/BT_BUILDDIR</DT
> <DD
> <P
> the
        directory where the binaries (from sources or packages) get intstalled
        to</P
> </DD
> <DT
> BT_STAGING_DIR</DT
> <DD
> <P
> the
        directory where the binaries for the toolchaing get installed to</P
> </DD
> <DT
> BT_LINUX_DIR</DT
> <DD
> <P
> directory
        of the linux kernel</P
> </DD
> <DT
> BT_PACKAGE_DIR</DT
> <DD
> <P
> where
        to put finished packages</P
> </DD
> <DT
> BT_PATCHTOOL</DT
> <DD
> <P
> path
        to patchtool</P
> </DD
> <DT
> GNU_TARGET_NAME</DT
> <DD
> <P
> something
        like i386-linux</P
> </DD
> <DT
> GNU_HOST_NAME</DT
> <DD
> <P
> something
        like i386-linux</P
> </DD
> <DT
> TARGET_CC</DT
> <DD
> <P
> compiler
        to use for compiling the binaries</P
> </DD
> <DT
> TARGET_LD</DT
> <DD
> <P
> linker
        to use for linking against uClibc</P
> </DD
> <DT
> BT_STRIP</DT
> <DD
> <P
> strip
        program (and options) to use for stripping binaries</P
> </DD
> </DL
> </DIV
> </P
> </DIV
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN365"
> </A
> Directory structure</H2
> <P
> A short overview of the subdirectories you find when you checked
      out buildtool and have the buildenv finished:
      <P
> </P
> <DIV
CLASS="variablelist"
> <DL
> <DT
> <TT
CLASS="filename"
> build</TT
> </DT
> <DD
> <P
> This
      is the place where sources can install there files (something you
      normally do with a <B
CLASS="command"
> make install DESTDIR=someDir</B
> . From
      here you can take the files to build the packages. Use a subdir for
      every package.</P
> </DD
> <DT
> <TT
CLASS="filename"
> buildtool</TT
> </DT
> <DD
> <P
> Internal
      directory , contains the perl modules/classes.</P
> </DD
> <DT
> <TT
CLASS="filename"
> conf</TT
> </DT
> <DD
> <P
> Global
      Config files are in here (<TT
CLASS="filename"
> global.cfg, buildtools.cfg,
      installed</TT
> )</P
> </DD
> <DT
> <TT
CLASS="filename"
> doc</TT
> </DT
> <DD
> <P
> you
      can find some documentation in here.</P
> </DD
> <DT
> <TT
CLASS="filename"
> log</TT
> </DT
> <DD
> <P
> should
      contain at least one file: buildtoollog, which has all the messages in
      it you don't want to see on your terminal. Useful for debugging.</P
> </DD
> <DT
> <TT
CLASS="filename"
> make</TT
> </DT
> <DD
> <P
> The
      place for the MasterMakefile which should be included by every other
      makefile.</P
> </DD
> <DT
> <TT
CLASS="filename"
> package</TT
> </DT
> <DD
> <P
> In
      here the actual packages are built. Every package has its own subdir (<TT
CLASS="filename"
> openssl</TT
> 
      for example) in which the unpacked package can be found. The packed
      packages are stored in the <TT
CLASS="filename"
> package</TT
> dir as archives
      (like <TT
CLASS="filename"
> openssl.lrp</TT
> ).</P
> </DD
> <DT
> <TT
CLASS="filename"
> source</TT
> </DT
> <DD
> <P
> all
      sources are here. Sources means downloaded files as well as the unpacked
      and compiled source (which should install its files to the
      <TT
CLASS="filename"
> build</TT
> directory described above, and maybe to the
      <TT
CLASS="filename"
> staging</TT
> directory from there. One subdir for every
      source.</P
> </DD
> <DT
> <TT
CLASS="filename"
> staging</TT
> </DT
> <DD
> <P
> This
      directory is primarly for internal use. The uclibc toolchain , the
      cross-compiler and all libraries are installed here.</P
> </DD
> <DT
> <TT
CLASS="filename"
> tools</TT
> </DT
> <DD
> <P
> you
      will find some tools in here , like upx for compressing the kernel and
      (maybe) additional scripts.</P
> </DD
> </DL
> </DIV
> </P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x131.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="c426.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Step by step guide to creating a simple config</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c108.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Creating lrp packages with buildpacket</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x39.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Why bother?</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Introduction"
HREF="c34.html"><LINK
REL="PREVIOUS"
TITLE="Introduction"
HREF="c34.html"><LINK
REL="NEXT"
TITLE="Installation"
HREF="c44.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="c34.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Introduction</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="c44.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN39"
> </A
> Why bother?</H1
> <P
> &#13;Granted, the initial setup of a new package takes some time and tweaking, much \
> more so than simply doing the compile manually would. So, for a one time shot, a \
> package that will never be updated or modified, integrating it into buildtool is \
> probably not worth the hassle. 
</P
> <P
> &#13;But if you have a package that's security related (and therefore likely to \
> receive security updates regularly) or one that is still under heavy development \
> and new revisions are released all the time, the time invested in buildtool will \
> pay off very quickly - since usually, all that's needed to integrate a new version \
> of the software are a couple of changes in the config-files.
</P
> <P
> &#13;Besides, creating lrp-packages by hand can be tedious and error prone. And if \
> the developer has to spend less time assembling the package, he can use that time \
> for testing the package (or creating new packages).
</P
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="c34.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="c44.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Introduction</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c34.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Installation</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x40.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Why bother?</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Introduction"
HREF="c35.html"><LINK
REL="PREVIOUS"
TITLE="Introduction"
HREF="c35.html"><LINK
REL="NEXT"
TITLE="Installation"
HREF="c45.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="c35.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Introduction</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="c45.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN40"
> </A
> Why bother?</H1
> <P
> &#13;Granted, the initial setup of a new package takes some time and tweaking, much \
> more so than simply doing the compile manually would. So, for a one time shot, a \
> package that will never be updated or modified, integrating it into buildtool is \
> probably not worth the hassle. 
</P
> <P
> &#13;But if you have a package that's security related (and therefore likely to \
> receive security updates regularly) or one that is still under heavy development \
> and new revisions are released all the time, the time invested in buildtool will \
> pay off very quickly - since usually, all that's needed to integrate a new version \
> of the software are a couple of changes in the config-files.
</P
> <P
> &#13;Besides, creating lrp-packages by hand can be tedious and error prone. And if \
> the developer has to spend less time assembling the package, he can use that time \
> for testing the package (or creating new packages).
</P
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="c35.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="c45.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Introduction</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c35.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Installation</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x433.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Configuration</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Creating lrp packages with buildpacket"
HREF="c425.html"><LINK
REL="PREVIOUS"
TITLE="Creating lrp packages with buildpacket"
HREF="c425.html"><LINK
REL="NEXT"
TITLE="Creating packages"
HREF="x480.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="c425.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Creating lrp packages with buildpacket</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x480.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN433"
> </A
> Configuration</H1
> <P
> The configuration for this script is integrated into the
    buildtool.cfg file that controls the download of the sources. It resides
    in its own block called "Package". Sample (comments below):
    <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Package&#62;
  &#60;sshd&#62;
    Version  = 3.6.1p1
    Revision = 1
    Skeleton = sshd.skel.tgz
    Help &#60;&#60;EOF
      OpenSSH sshd daemon.
      See http://www.openssh.org
      LRP package by __PACKAGER__, __BUILDDATE__
    EOF

    &#60;Permissions&#62;
      Files = 644
      Directories = 755
    &#60;/Permissions&#62;

    &#60;Owner&#62;
      Files = root:root
      Directories = root:root
    &#60;/Owner&#62;

    &#60;Contents&#62;

      &#60;File&#62;
        Filename        = etc/init.d/sshd
        Description     = sshd daemon init file
        Type            = conf
        Type            = local
      &#60;/File&#62;

      &#60;File&#62;
        Filename        = etc/ssh
        Type            = list
        Type            = local
      &#60;/File&#62;

      &#60;File&#62;
        Filename        = etc/ssh/sshd_config
        Description     = sshd config file
        Type            = conf
      &#60;/File&#62;

      &#60;File&#62;
        Source          = usr/local/sbin/sshd
        Filename        = usr/sbin/sshd
        Type            = binary
        Permissions     = 755
      &#60;/File&#62;

      &#60;File&#62;
        Source          = etc/ssh/moduli
        Filename        = etc/ssh/moduli
        Type            = binary
      &#60;/File&#62;

      &#60;File&#62;
        Source      = usr/local/bin/scp
        Filename        = usr/bin/scp
        Type            = binary
        Permissions = 755
      &#60;/File&#62;

    &#60;/Contents&#62;
  &#60;/sshd&#62;

  &#60;anotherPackageHere&#62;
    ...
  &#60;/anotherPackageHere&#62;
&#60;/Package&#62;</PRE
> </TD
> </TR
> </TABLE
> </P
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN437"
> </A
> Version</H2
> <P
> The version of the source-code used to compile the package</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN440"
> </A
> Revision</H2
> <P
> Revision of the package (to distinguish different builds of the
      same source)</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN443"
> </A
> Skeleton</H2
> <P
> The skeleton file to build the package</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN446"
> </A
> Permissions</H2
> <P
> Default permissions to give files/directories</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN449"
> </A
> Owner</H2
> <P
> Default ownership given to the files/directories</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN452"
> </A
> Help</H2
> <P
> Text to put into the .help file. If the .help file should only
      consist of a single line, you can simply define ist as
      <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> Help = Text for the help file</PRE
> </TD
> </TR
> </TABLE
> . If you
      need more than one line (most likely you will), you can use the
      mechanism used in the example.</P
> <P
> The following "tags" that will be replaced at build time
      are supported: <P
> </P
> <UL
> <LI
> <P
> __PACKAGER__ The name of
      the user who built the package (this is why you need to specify the
      packager on the commmand line).</P
> </LI
> <LI
> <P
> __BUILDDATE__
      Date the package was created</P
> </LI
> </UL
> </P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN462"
> </A
> Contents</H2
> <P
> List of "File" blocks that define the contents of the
      package. <DIV
CLASS="note"
> <P
> </P
> <TABLE
CLASS="note"
WIDTH="100%"
BORDER="0"
> <TR
> <TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
> <IMG
SRC="./stylesheet-images/note.gif"
HSPACE="5"
ALT="Note"></TD
> <TD
ALIGN="LEFT"
VALIGN="TOP"
> <P
> Only the files that need special care like binaries
      or directories "owned" by the lrp need to be listed here - stuff
      that came from the skeleton file or the files automatically generated by
      the tool are added automatically (but if they need other
      permissions/ownership than the default, you still need to specify them -
      as "LIST", for example). A file can be of more than one type -
      in this case, simply specify more than one "Type = xxx" line.</P
> </TD
> </TR
> </TABLE
> </DIV
> </P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN467"
> </A
> File</H2
> <P
> Filename (including relative path) of the file in the package
      Source: relative (to buildtools staging-dir) path/filename to the file
      generated by buildtool. Possible file-types are:
      <P
> </P
> <UL
> <LI
> <P
> binary: (for files that are copied from
      the staging_dir of buildtool - not neccessarily a <I
CLASS="emphasis"
> binary</I
> )</P
> </LI
> <LI
> <P
> list:
      file (or pattern) to add to the packagename.list file</P
> </LI
> <LI
> <P
> conf:file
      to add to packagename.conf</P
> </LI
> <LI
> <P
> local: file
      to add to packagename.local (for partial backups). At this point only
      the type "I" (for including the file in the local backup) is
      supported, type "X" (for excluding a file from the local backup)
      is not.</P
> </LI
> </UL
> </P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="c425.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x480.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Creating lrp packages with buildpacket</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c425.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Creating packages</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x434.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Configuration</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Creating lrp packages with buildpacket"
HREF="c426.html"><LINK
REL="PREVIOUS"
TITLE="Creating lrp packages with buildpacket"
HREF="c426.html"><LINK
REL="NEXT"
TITLE="Creating packages"
HREF="x481.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="c426.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Creating lrp packages with buildpacket</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x481.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN434"
> </A
> Configuration</H1
> <P
> The configuration for this script is integrated into the
    buildtool.cfg file that controls the download of the sources. It resides
    in its own block called "Package". Sample (comments below):
    <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> &#60;Package&#62;
  &#60;sshd&#62;
    Version  = 3.6.1p1
    Revision = 1
    Skeleton = sshd.skel.tgz
    Help &#60;&#60;EOF
      OpenSSH sshd daemon.
      See http://www.openssh.org
      LRP package by __PACKAGER__, __BUILDDATE__
    EOF

    &#60;Permissions&#62;
      Files = 644
      Directories = 755
    &#60;/Permissions&#62;

    &#60;Owner&#62;
      Files = root:root
      Directories = root:root
    &#60;/Owner&#62;

    &#60;Contents&#62;

      &#60;File&#62;
        Filename        = etc/init.d/sshd
        Description     = sshd daemon init file
        Type            = conf
        Type            = local
      &#60;/File&#62;

      &#60;File&#62;
        Filename        = etc/ssh
        Type            = list
        Type            = local
      &#60;/File&#62;

      &#60;File&#62;
        Filename        = etc/ssh/sshd_config
        Description     = sshd config file
        Type            = conf
      &#60;/File&#62;

      &#60;File&#62;
        Source          = usr/local/sbin/sshd
        Filename        = usr/sbin/sshd
        Type            = binary
        Permissions     = 755
      &#60;/File&#62;

      &#60;File&#62;
        Source          = etc/ssh/moduli
        Filename        = etc/ssh/moduli
        Type            = binary
      &#60;/File&#62;

      &#60;File&#62;
        Source      = usr/local/bin/scp
        Filename        = usr/bin/scp
        Type            = binary
        Permissions = 755
      &#60;/File&#62;

    &#60;/Contents&#62;
  &#60;/sshd&#62;

  &#60;anotherPackageHere&#62;
    ...
  &#60;/anotherPackageHere&#62;
&#60;/Package&#62;</PRE
> </TD
> </TR
> </TABLE
> </P
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN438"
> </A
> Version</H2
> <P
> The version of the source-code used to compile the package</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN441"
> </A
> Revision</H2
> <P
> Revision of the package (to distinguish different builds of the
      same source)</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN444"
> </A
> Skeleton</H2
> <P
> The skeleton file to build the package</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN447"
> </A
> Permissions</H2
> <P
> Default permissions to give files/directories</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN450"
> </A
> Owner</H2
> <P
> Default ownership given to the files/directories</P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN453"
> </A
> Help</H2
> <P
> Text to put into the .help file. If the .help file should only
      consist of a single line, you can simply define ist as
      <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> Help = Text for the help file</PRE
> </TD
> </TR
> </TABLE
> . If you
      need more than one line (most likely you will), you can use the
      mechanism used in the example.</P
> <P
> The following "tags" that will be replaced at build time
      are supported: <P
> </P
> <UL
> <LI
> <P
> __PACKAGER__ The name of
      the user who built the package (this is why you need to specify the
      packager on the commmand line).</P
> </LI
> <LI
> <P
> __BUILDDATE__
      Date the package was created</P
> </LI
> </UL
> </P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN463"
> </A
> Contents</H2
> <P
> List of "File" blocks that define the contents of the
      package. <DIV
CLASS="note"
> <P
> </P
> <TABLE
CLASS="note"
WIDTH="100%"
BORDER="0"
> <TR
> <TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
> <IMG
SRC="./stylesheet-images/note.gif"
HSPACE="5"
ALT="Note"></TD
> <TD
ALIGN="LEFT"
VALIGN="TOP"
> <P
> Only the files that need special care like binaries
      or directories "owned" by the lrp need to be listed here - stuff
      that came from the skeleton file or the files automatically generated by
      the tool are added automatically (but if they need other
      permissions/ownership than the default, you still need to specify them -
      as "LIST", for example). A file can be of more than one type -
      in this case, simply specify more than one "Type = xxx" line.</P
> </TD
> </TR
> </TABLE
> </DIV
> </P
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN468"
> </A
> File</H2
> <P
> Filename (including relative path) of the file in the package
      Source: relative (to buildtools staging-dir) path/filename to the file
      generated by buildtool. Possible file-types are:
      <P
> </P
> <UL
> <LI
> <P
> binary: (for files that are copied from
      the staging_dir of buildtool - not neccessarily a <I
CLASS="emphasis"
> binary</I
> )</P
> </LI
> <LI
> <P
> list:
      file (or pattern) to add to the packagename.list file</P
> </LI
> <LI
> <P
> conf:file
      to add to packagename.conf</P
> </LI
> <LI
> <P
> local: file
      to add to packagename.local (for partial backups). At this point only
      the type "I" (for including the file in the local backup) is
      supported, type "X" (for excluding a file from the local backup)
      is not.</P
> </LI
> </UL
> </P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="c426.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x481.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Creating lrp packages with buildpacket</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c426.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Creating packages</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x480.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Creating packages</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Creating lrp packages with buildpacket"
HREF="c425.html"><LINK
REL="PREVIOUS"
TITLE="Configuration"
HREF="x433.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x433.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Creating lrp packages with buildpacket</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> &nbsp;</TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN480"
> </A
> Creating packages</H1
> <P
> Usage: <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> buildpackage --package=packagename --packager=name_of_packager
    [--target=packagefile] [-lrp=existing.lrp] [--verbose]</PRE
> </TD
> </TR
> </TABLE
> 
    Example:</P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> ./buildpacket.pl --package=zlip --packager="Martin Hejl" --verbose</PRE
> </TD
> </TR
> </TABLE
> <DIV
CLASS="caution"
> <P
> </P
> <TABLE
CLASS="caution"
WIDTH="100%"
BORDER="0"
> <TR
> <TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
> <IMG
SRC="./stylesheet-images/caution.gif"
HSPACE="5"
ALT="Caution"></TD
> <TD
ALIGN="LEFT"
VALIGN="TOP"
> <P
> Currently, buildpacket does not check, wether the sources have
      already been installed. This is something that will be done later on,
      when buildpacket is more integrated into builtool</P
> </TD
> </TR
> </TABLE
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN487"
> </A
> Options</H2
> <P
> <P
> </P
> <UL
> <LI
> <P
> --package The name of the package
      you compiled using <B
CLASS="command"
> ./buildtool.pl build packagename</B
> </P
> </LI
> <LI
> <P
> --packager:
      The name of the user who created the package. The string you enter here
      is added to the .help file (if the help section contains the
      __PACKAGER__ tag)</P
> </LI
> <LI
> <P
> --target: For
      packages that create more than one lrp-file (like openssh), this
      specifies which lrp to create. If this option is omitted, the value of
      --package is used</P
> </LI
> <LI
> <P
> --lrp: If you already
      have an existing lrp file and you want to migrate your configuration to
      the new package, specify the lrp file here and it will be integrated
      into the package (if the .cfg file is set up correctly, the config will
      be migrated, but all binaries will be replaced with the new versions).
      This needs more work (it's pretty crude at this point), probably the
      lck-scripts by Alex Rhomberg will be integrated/used to take care of
      this.</P
> </LI
> <LI
> <P
> --verbose: Turns on verbose
      logging</P
> </LI
> </UL
> </P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x433.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> &nbsp;</TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Configuration</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c425.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> &nbsp;</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x481.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Creating packages</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Creating lrp packages with buildpacket"
HREF="c426.html"><LINK
REL="PREVIOUS"
TITLE="Configuration"
HREF="x434.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x434.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Creating lrp packages with buildpacket</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> &nbsp;</TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN481"
> </A
> Creating packages</H1
> <P
> Usage: <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> buildpackage --package=packagename --packager=name_of_packager
    [--target=packagefile] [-lrp=existing.lrp] [--verbose]</PRE
> </TD
> </TR
> </TABLE
> 
    Example:</P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> ./buildpacket.pl --package=zlip --packager="Martin Hejl" --verbose</PRE
> </TD
> </TR
> </TABLE
> <DIV
CLASS="caution"
> <P
> </P
> <TABLE
CLASS="caution"
WIDTH="100%"
BORDER="0"
> <TR
> <TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
> <IMG
SRC="./stylesheet-images/caution.gif"
HSPACE="5"
ALT="Caution"></TD
> <TD
ALIGN="LEFT"
VALIGN="TOP"
> <P
> Currently, buildpacket does not check, wether the sources have
      already been installed. This is something that will be done later on,
      when buildpacket is more integrated into builtool</P
> </TD
> </TR
> </TABLE
> </DIV
> <DIV
CLASS="section"
> <H2
CLASS="section"
> <A
NAME="AEN488"
> </A
> Options</H2
> <P
> <P
> </P
> <UL
> <LI
> <P
> --package The name of the package
      you compiled using <B
CLASS="command"
> ./buildtool.pl build packagename</B
> </P
> </LI
> <LI
> <P
> --packager:
      The name of the user who created the package. The string you enter here
      is added to the .help file (if the help section contains the
      __PACKAGER__ tag)</P
> </LI
> <LI
> <P
> --target: For
      packages that create more than one lrp-file (like openssh), this
      specifies which lrp to create. If this option is omitted, the value of
      --package is used</P
> </LI
> <LI
> <P
> --lrp: If you already
      have an existing lrp file and you want to migrate your configuration to
      the new package, specify the lrp file here and it will be integrated
      into the package (if the .cfg file is set up correctly, the config will
      be migrated, but all binaries will be replaced with the new versions).
      This needs more work (it's pretty crude at this point), probably the
      lck-scripts by Alex Rhomberg will be integrated/used to take care of
      this.</P
> </LI
> <LI
> <P
> --verbose: Turns on verbose
      logging</P
> </LI
> </UL
> </P
> </DIV
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x434.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> &nbsp;</TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Configuration</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c426.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> &nbsp;</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x53.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Perl</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Installation"
HREF="c44.html"><LINK
REL="PREVIOUS"
TITLE="Installation"
HREF="c44.html"><LINK
REL="NEXT"
TITLE="Initial configuration"
HREF="x58.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="c44.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Installation</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x58.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN53"
> </A
> Perl</H1
> <P
> Buildtool requires Perl 5.6 (or newer). It may work with Perl 5.0
    (I'm not aware of any 5.6 features being used in buildtool), but this
    has not been tested so far. Additionally, you need the Perl package
    <TT
CLASS="filename"
> Config::General</TT
> . This can be either be installed the
    "traditional" way (download it from CPAN, untar, perl Makefile.PL,
    make, make test and (as root) make install), or by running
    <TT
CLASS="userinput"
> <B
> perl -MCPAN -e 'install Config::General'</B
> </TT
> </P
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="c44.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x58.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Installation</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c44.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Initial configuration</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x54.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Perl</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Installation"
HREF="c45.html"><LINK
REL="PREVIOUS"
TITLE="Installation"
HREF="c45.html"><LINK
REL="NEXT"
TITLE="Initial configuration"
HREF="x59.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="c45.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Installation</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x59.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN54"
> </A
> Perl</H1
> <P
> Buildtool requires Perl 5.6 (or newer). It may work with Perl 5.0
    (I'm not aware of any 5.6 features being used in buildtool), but this
    has not been tested so far. Additionally, you need the Perl package
    <TT
CLASS="filename"
> Config::General</TT
> . This can be either be installed the
    "traditional" way (download it from CPAN, untar, perl Makefile.PL,
    make, make test and (as root) make install), or by running
    <TT
CLASS="userinput"
> <B
> perl -MCPAN -e 'install Config::General'</B
> </TT
> </P
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="c45.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x59.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Installation</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c45.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Initial configuration</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x58.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Initial configuration</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Installation"
HREF="c44.html"><LINK
REL="PREVIOUS"
TITLE="Perl"
HREF="x53.html"><LINK
REL="NEXT"
TITLE="Toolchain download/build"
HREF="x64.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x53.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Installation</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x64.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN58"
> </A
> Initial configuration</H1
> <P
> Edit the file <TT
CLASS="filename"
> conf/buildtool.conf</TT
> (using your
    favourite text editor). It should look similar to this:
    <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> # version number
# $Id: x58.html,v 1.1 2003/07/25 18:52:30 hejl Exp $
Version = 0.3pre2

#####################################################################
# files&#38;directories
# Adjust to your needs
# note that the dir or file entries can be relative (to the dir buildtool.pl
# resides in) or absolute
#

#################################################
#
# where to log 
Logfile = log/buildtoollog

# name of the conf file with the source/package definitions
GlobalConffile = conf/global.cfg

# Name of the source Directory
Source_Dir = source

# where to log what we have installed/compiled
InstalledFile = conf/installed

# debugging
DebugToConsole = 0
DebugToLogfile = 1

# good if you want to develop files
# in here and not to overwrite buildtool any files
# this means, if a file exists and its size is &#62; 0,
# it will not be overwritten unless you delete it!
OverwriteFiles = 0

# how are the files named we use for each package:

Buildtool_Makefile = buildtool.mk
Buildtool_Config = buildtool.cfg

# some directories, these will be deleted if you make a buildtool.pl distclean
Buildenv_Dir=log
Buildenv_Dir=staging
Buildenv_Dir=source
Buildenv_Dir=build
Buildenv_Dir=package


# Stuff needed for buildpacket ---
gzip_options=-9

# Name of the packager -  please put your real name in here 
# (so people will know who created the package)
Packager=anonymous</PRE
> </TD
> </TR
> </TABLE
> </P
> <P
> Normally, the defaults in this config file are fine. The only
    setting that should be changed is the setting for the Packager. Enter your
    name here (this entry will be shown in the .help-files when creating
    packages - and I guess it is a good idea to let the user know who
    assembled the package).</P
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x53.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x64.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Perl</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c44.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Toolchain download/build</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x59.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Initial configuration</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Installation"
HREF="c45.html"><LINK
REL="PREVIOUS"
TITLE="Perl"
HREF="x54.html"><LINK
REL="NEXT"
TITLE="Toolchain download/build"
HREF="x65.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x54.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Installation</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x65.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN59"
> </A
> Initial configuration</H1
> <P
> Edit the file <TT
CLASS="filename"
> conf/buildtool.conf</TT
> (using your
    favourite text editor). It should look similar to this:
    <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> # version number
# $Id: x59.html,v 1.1 2003/07/25 18:52:30 hejl Exp $
Version = 0.3pre2

#####################################################################
# files&#38;directories
# Adjust to your needs
# note that the dir or file entries can be relative (to the dir buildtool.pl
# resides in) or absolute
#

#################################################
#
# where to log 
Logfile = log/buildtoollog

# name of the conf file with the source/package definitions
GlobalConffile = conf/global.cfg

# Name of the source Directory
Source_Dir = source

# where to log what we have installed/compiled
InstalledFile = conf/installed

# debugging
DebugToConsole = 0
DebugToLogfile = 1

# good if you want to develop files
# in here and not to overwrite buildtool any files
# this means, if a file exists and its size is &#62; 0,
# it will not be overwritten unless you delete it!
OverwriteFiles = 0

# how are the files named we use for each package:

Buildtool_Makefile = buildtool.mk
Buildtool_Config = buildtool.cfg

# some directories, these will be deleted if you make a buildtool.pl distclean
Buildenv_Dir=log
Buildenv_Dir=staging
Buildenv_Dir=source
Buildenv_Dir=build
Buildenv_Dir=package


# Stuff needed for buildpacket ---
gzip_options=-9

# Name of the packager -  please put your real name in here 
# (so people will know who created the package)
Packager=anonymous</PRE
> </TD
> </TR
> </TABLE
> </P
> <P
> Normally, the defaults in this config file are fine. The only
    setting that should be changed is the setting for the Packager. Enter your
    name here (this entry will be shown in the .help-files when creating
    packages - and I guess it is a good idea to let the user know who
    assembled the package).</P
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x54.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x65.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Perl</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c45.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Toolchain download/build</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x64.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Toolchain download/build</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Installation"
HREF="c44.html"><LINK
REL="PREVIOUS"
TITLE="Initial configuration"
HREF="x58.html"><LINK
REL="NEXT"
TITLE="Buildtool usage"
HREF="c78.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x58.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Installation</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="c78.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN64"
> </A
> Toolchain download/build</H1
> <DIV
CLASS="note"
> <P
> </P
> <TABLE
CLASS="note"
WIDTH="100%"
BORDER="0"
> <TR
> <TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
> <IMG
SRC="./stylesheet-images/note.gif"
HSPACE="5"
ALT="Note"></TD
> <TD
ALIGN="LEFT"
VALIGN="TOP"
> <P
> Unless otherwise noted, you should <I
CLASS="emphasis"
> never</I
> run buildtool as root. Errors in the makefile might otherwise screw up your host \
> system (I've done it, trying to build ncurses...).</P </TD
> </TR
> </TABLE
> </DIV
> <P
> You will probably want to open a new xterm (or whatever terminal emulator you \
> prefer) , go to the buildtool root directory (which is <TT
CLASS="filename"
> buildtool/</TT
> starting from where you made the cvs checkout)  and enter <TT
CLASS="userinput"
> <B
> tail -f log/buildtoollog</B
> </TT
> 
 in it. Go back to the other xterm, change to the buildtool root dir and enter \
(hopefully on a fast internet connection - there'll be several large downloads):   \
<TT CLASS="userinput"
> <B
> ./buildtool.pl build buildenv</B
> </TT
> </P
> <P
> Finally, (and this must be done as root) create a link
    <TT
CLASS="filename"
> /lib/ld-uClibc.so.0</TT
> pointing to <TT
CLASS="filename"
> $(Root_Dir)/staging/lib/ld-uClibc.so.0</TT
> 
    (where $(Root_Dir) is what you defined above in <TT
CLASS="filename"
> buildtool.conf</TT
> ).
    If you forget that step, you will sooner or later get a configure error (openssh \
is one of those candidates), claiming that cc cannot create binaries. This happens \
because configure compiles a test program and tries to execute it. The test program \
expects the uClibc library to be in <TT CLASS="filename"
> /lib</TT
> , if it is not found the program can not be executed (and this position is \
> hardcoded while compiling the buildenv and can not be changed with ldconfig).</P \
> </DIV <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x58.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="c78.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Initial configuration</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c44.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Buildtool usage</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x65.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Toolchain download/build</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Installation"
HREF="c45.html"><LINK
REL="PREVIOUS"
TITLE="Initial configuration"
HREF="x59.html"><LINK
REL="NEXT"
TITLE="Buildtool usage"
HREF="c79.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x59.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Installation</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="c79.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN65"
> </A
> Toolchain download/build</H1
> <DIV
CLASS="note"
> <P
> </P
> <TABLE
CLASS="note"
WIDTH="100%"
BORDER="0"
> <TR
> <TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
> <IMG
SRC="./stylesheet-images/note.gif"
HSPACE="5"
ALT="Note"></TD
> <TD
ALIGN="LEFT"
VALIGN="TOP"
> <P
> Unless otherwise noted, you should <I
CLASS="emphasis"
> never</I
> run buildtool as root. Errors in the makefile might otherwise screw up your host \
> system (I've done it, trying to build ncurses...).</P </TD
> </TR
> </TABLE
> </DIV
> <P
> You will probably want to open a new xterm (or whatever terminal emulator you \
> prefer) , go to the buildtool root directory (which is <TT
CLASS="filename"
> buildtool/</TT
> starting from where you made the cvs checkout)  and enter <TT
CLASS="userinput"
> <B
> tail -f log/buildtoollog</B
> </TT
> 
 in it. Go back to the other xterm, change to the buildtool root dir and enter \
(hopefully on a fast internet connection - there'll be several large downloads):   \
<TT CLASS="userinput"
> <B
> ./buildtool.pl build buildenv</B
> </TT
> </P
> <P
> Finally, (and this must be done as root) create a link
    <TT
CLASS="filename"
> /lib/ld-uClibc.so.0</TT
> pointing to <TT
CLASS="filename"
> $(Root_Dir)/staging/lib/ld-uClibc.so.0</TT
> 
    (where $(Root_Dir) is what you defined above in <TT
CLASS="filename"
> buildtool.conf</TT
> ).
    If you forget that step, you will sooner or later get a configure error (openssh \
is one of those candidates), claiming that cc cannot create binaries. This happens \
because configure compiles a test program and tries to execute it. The test program \
expects the uClibc library to be in <TT CLASS="filename"
> /lib</TT
> , if it is not found the program can not be executed (and this position is \
> hardcoded while compiling the buildenv and can not be changed with ldconfig).</P \
> </DIV <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x59.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="c79.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Initial configuration</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c45.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Buildtool usage</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x84.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Getting information about the sources that can be built</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Buildtool usage"
HREF="c78.html"><LINK
REL="PREVIOUS"
TITLE="Buildtool usage"
HREF="c78.html"><LINK
REL="NEXT"
TITLE="The difference between sources and packages"
HREF="x89.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="c78.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Buildtool usage</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x89.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN84"
> </A
> Getting information about the sources that can be built</H1
> <P
> Buildtool can only build sources/packages that is has a
    configuration for (see the next chapter on how to create such a
    configuration). To get a listing about the sources that are configured for
    buildtool type <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> ./buildtool.pl describe</PRE
> </TD
> </TR
> </TABLE
> This
    will give you a list (and a short description) of all sources/packages
    that can be built. An example output looks like this:
    <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> ./buildtool.pl describe
 
 The following packages and sources are available:
 
 Sources:
 ---------------------------------------------------------
 openssh                 openssh
 tcp_wrappers            Wietse Venema's TCP wrappers library
 helloworld              classical example
 openssl                 Secure Sockets Layer and cryptography libraries and tools
 zlib                    zLib shared libraries
 linux                   kernel source only package
 
 Packages:
 ---------------------------------------------------------
 buildenv                this holds everything to build cross build env
 kernel                  kernel pseudo package</PRE
> </TD
> </TR
> </TABLE
> </P
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="c78.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x89.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Buildtool usage</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c78.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> The difference between sources and packages</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x85.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Getting information about the sources that can be built</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Buildtool usage"
HREF="c79.html"><LINK
REL="PREVIOUS"
TITLE="Buildtool usage"
HREF="c79.html"><LINK
REL="NEXT"
TITLE="The difference between sources and packages"
HREF="x90.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="c79.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Buildtool usage</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x90.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN85"
> </A
> Getting information about the sources that can be built</H1
> <P
> Buildtool can only build sources/packages that is has a
    configuration for (see the next chapter on how to create such a
    configuration). To get a listing about the sources that are configured for
    buildtool type <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> ./buildtool.pl describe</PRE
> </TD
> </TR
> </TABLE
> This
    will give you a list (and a short description) of all sources/packages
    that can be built. An example output looks like this:
    <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> ./buildtool.pl describe
 
 The following packages and sources are available:
 
 Sources:
 ---------------------------------------------------------
 openssh                 openssh
 tcp_wrappers            Wietse Venema's TCP wrappers library
 helloworld              classical example
 openssl                 Secure Sockets Layer and cryptography libraries and tools
 zlib                    zLib shared libraries
 linux                   kernel source only package
 
 Packages:
 ---------------------------------------------------------
 buildenv                this holds everything to build cross build env
 kernel                  kernel pseudo package</PRE
> </TD
> </TR
> </TABLE
> </P
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="c79.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x90.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Buildtool usage</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c79.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> The difference between sources and packages</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x89.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> The difference between sources and packages</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Buildtool usage"
HREF="c78.html"><LINK
REL="PREVIOUS"
TITLE="Getting information about the sources that can be built"
HREF="x84.html"><LINK
REL="NEXT"
TITLE="Downloading the sources for a package"
HREF="x92.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x84.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Buildtool usage</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x92.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN89"
> </A
> The difference between sources and packages</H1
> <P
> You might be a bit confused why in the above output there are
    Sources and Packages. The main reason for having sources and packages
    seperatly is that there are some sources out there that produce programs
    used in several packages. Or another word it sometimes make sense to just
    build the sources (like util-linux for example) only once and create
    several packages out of the resulting binaries.</P
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x84.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x92.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Getting information about the sources that can be built</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c78.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Downloading the sources for a package</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x90.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> The difference between sources and packages</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Buildtool usage"
HREF="c79.html"><LINK
REL="PREVIOUS"
TITLE="Getting information about the sources that can be built"
HREF="x85.html"><LINK
REL="NEXT"
TITLE="Downloading the sources for a package"
HREF="x93.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x85.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Buildtool usage</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x93.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN90"
> </A
> The difference between sources and packages</H1
> <P
> You might be a bit confused why in the above output there are
    Sources and Packages. The main reason for having sources and packages
    seperatly is that there are some sources out there that produce programs
    used in several packages. Or another word it sometimes make sense to just
    build the sources (like util-linux for example) only once and create
    several packages out of the resulting binaries.</P
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x85.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x93.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> Getting information about the sources that can be built</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c79.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Downloading the sources for a package</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x92.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Downloading the sources for a package</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Buildtool usage"
HREF="c78.html"><LINK
REL="PREVIOUS"
TITLE="The difference between sources and packages"
HREF="x89.html"><LINK
REL="NEXT"
TITLE="Compiling the sources for a package"
HREF="x101.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x89.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Buildtool usage</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x101.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN92"
> </A
> Downloading the sources for a package</H1
> <P
> Running <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> ./buildtool.pl source somepackageName</PRE
> </TD
> </TR
> </TABLE
> 
    will cause the sources of <I
CLASS="emphasis"
> somepackageName</I
> (and before
    that, all its dependencies, if there are any that haven't been
    downloaded yet) to be downloaded. After that, the makefile
    <TT
CLASS="filename"
> buildtool.mk</TT
> for this source is executed for target
    <I
CLASS="emphasis"
> source</I
> . This has the effect that the sources will be
    extracted, and patches (if there are any) are applied.</P
> <P
> If all this completes without error, the sources of
    <I
CLASS="emphasis"
> somepackageName</I
> are ready to be compiled.</P
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x89.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x101.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> The difference between sources and packages</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c78.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Compiling the sources for a package</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
--- NEW FILE: x93.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
> <HEAD
> <TITLE
> Downloading the sources for a package</TITLE
> <META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Buildtool getting started guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Buildtool usage"
HREF="c79.html"><LINK
REL="PREVIOUS"
TITLE="The difference between sources and packages"
HREF="x90.html"><LINK
REL="NEXT"
TITLE="Compiling the sources for a package"
HREF="x102.html"></HEAD
> <BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> <DIV
CLASS="NAVHEADER"
> <TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TH
COLSPAN="3"
ALIGN="center"
> Buildtool getting started guide</TH
> </TR
> <TR
> <TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> <A
HREF="x90.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
> Buildtool usage</TD
> <TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> <A
HREF="x102.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> </TABLE
> <HR
ALIGN="LEFT"
WIDTH="100%"></DIV
> <DIV
CLASS="section"
> <H1
CLASS="section"
> <A
NAME="AEN93"
> </A
> Downloading the sources for a package</H1
> <P
> Running <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
> <TR
> <TD
> <PRE
CLASS="programlisting"
> ./buildtool.pl source somepackageName</PRE
> </TD
> </TR
> </TABLE
> 
    will cause the sources of <I
CLASS="emphasis"
> somepackageName</I
> (and before
    that, all its dependencies, if there are any that haven't been
    downloaded yet) to be downloaded. After that, the makefile
    <TT
CLASS="filename"
> buildtool.mk</TT
> for this source is executed for target
    <I
CLASS="emphasis"
> source</I
> . This has the effect that the sources will be
    extracted, and patches (if there are any) are applied.</P
> <P
> If all this completes without error, the sources of
    <I
CLASS="emphasis"
> somepackageName</I
> are ready to be compiled.</P
> </DIV
> <DIV
CLASS="NAVFOOTER"
> <HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> <A
HREF="x90.html"
ACCESSKEY="P"
> &#60;&#60;&#60; Previous</A
> </TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="book1.html"
ACCESSKEY="H"
> Home</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> <A
HREF="x102.html"
ACCESSKEY="N"
> Next &#62;&#62;&#62;</A
> </TD
> </TR
> <TR
> <TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
> The difference between sources and packages</TD
> <TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
> <A
HREF="c79.html"
ACCESSKEY="U"
> Up</A
> </TD
> <TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
> Compiling the sources for a package</TD
> </TR
> </TABLE
> </DIV
> </BODY
> </HTML
> 
Index: bt_install.xml
===================================================================
RCS file: /cvsroot/leaf/devel/hejl/bt_install.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** bt_install.xml	29 Jun 2003 20:17:39 -0000	1.1
--- bt_install.xml	25 Jul 2003 18:52:30 -0000	1.2
***************
*** 1,31 ****
! <chapter id="buildtool_install"><title>Installation</title>
! <section id="buildtool_checkout"><title>CVS checkout</title>
! <para>Check out buildtool from CVS using:
! <programlisting>
! export CVS_RSH=ssh
  cvs -z3 -d:ext:developername@cvs.sourceforge.net:/cvsroot/leaf \
! 	co src/bering-uclibc/buildtool</programlisting>
! </para>
! </section>
! <section><title>Perl</title>
! <para>Buildtool requires Perl 5.6 (or newer). It may work with Perl 5.0 (I'm not \
aware of any 5.6 features being used in buildtool), but this has not been tested so \
                far. 
! Additionally, you need the Perl package <filename>Config::General</filename>. 
! This can be either be installed the &quot;traditional&quot; way (download it from \
CPAN, untar, perl Makefile.PL, make, make test and (as root) make install), or by \
                running
! <userinput><![CDATA[perl -MCPAN -e 'install Config::General']]></userinput>
  </para>
! </section>
! <section><title>Initial configuration</title>
! <para>
! Edit the file <filename>conf/buildtool.conf</filename> (using your favourite text \
                editor). It should look similar to this:
! <programlisting>
! <![CDATA[# version number
  # $Id$
  Version = 0.3pre2
  
  #####################################################################
! # files&directories
  # Adjust to your needs
! # note that the dir or file entries can be relative (to the dir buildtool.pl \
                resides in) 
! # or absolute
  #
  
--- 1,47 ----
! <?xml version="1.0" encoding="UTF-8"?>
! <chapter id="buildtool_install">
!   <title>Installation</title>
! 
!   <section id="buildtool_checkout">
!     <title>CVS checkout</title>
! 
!     <para>You can check out buildtool from thr sourceforge CVS Server. If you have \
                an sourceforge user account use: 
!     <programlisting>export CVS_RSH=ssh
  cvs -z3 -d:ext:developername@cvs.sourceforge.net:/cvsroot/leaf \
!   co src/bering-uclibc/buildtool</programlisting></para>
! <para>If you don't have an account use anonymous access to the repository:
! <programlisting>cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/leaf \
                login</programlisting>
! Just press return if you see the password prompt. After login checkout with:
! <programlisting>cvs -z3 -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/leaf co \
src/bering-uclibc/buildtool</programlisting>  </para>
!   
!   </section>
! 
!   <section>
!     <title>Perl</title>
! 
!     <para>Buildtool requires Perl 5.6 (or newer). It may work with Perl 5.0
!     (I&#39;m not aware of any 5.6 features being used in buildtool), but this
!     has not been tested so far. Additionally, you need the Perl package
!     <filename>Config::General</filename>. This can be either be installed the
!     &#34;traditional&#34; way (download it from CPAN, untar, perl Makefile.PL,
!     make, make test and (as root) make install), or by running
!     <userinput>perl -MCPAN -e &#39;install Config::General&#39;</userinput></para>
!   </section>
! 
!   <section>
!     <title>Initial configuration</title>
! 
!     <para>Edit the file <filename>conf/buildtool.conf</filename> (using your
!     favourite text editor). It should look similar to this:
!     <programlisting># version number
  # $Id$
  Version = 0.3pre2
  
  #####################################################################
! # files&#38;directories
  # Adjust to your needs
! # note that the dir or file entries can be relative (to the dir buildtool.pl
! # resides in) or absolute
  #
  
***************
*** 50,54 ****
  # good if you want to develop files
  # in here and not to overwrite buildtool any files
! # this means, if a file exists and its size is > 0,
  # it will not be overwritten unless you delete it!
  OverwriteFiles = 0
--- 66,70 ----
  # good if you want to develop files
  # in here and not to overwrite buildtool any files
! # this means, if a file exists and its size is &#62; 0,
  # it will not be overwritten unless you delete it!
  OverwriteFiles = 0
***************
*** 72,96 ****
  # Name of the packager -  please put your real name in here 
  # (so people will know who created the package)
! Packager=anonymous
  
! ]]></programlisting>
! </para>
! <para>
! Normally, the defaults in this config file are fine. The only setting that should \
be changed is the setting for the Packager. Enter your name here (this entry will be \
shown in the .help-files when creating packages - and I guess it is a good idea to \
                let the user know who assembled the package).
! </para>
! </section>
! <section><title>Toolchain download/build</title>
! <para>
! Note: unless otherwise noted, you should never run buildtool as root. Errors in the \
makefile might otherwise screw up your host system (I've done it, trying to build \
                ncurses...). 
! </para>
! <para>
! You will probably want to open an new xterm, go to the buildtool root directory and \
                enter <userinput><![CDATA[tail -f log/buildtoollog]]></userinput>
! in it. Go back to the other xterm, change to the buildtool root dir and enter \
                (hopefully on a fast internet connection - there'll be several large \
                downloads): 
! <userinput><![CDATA[./buildtool.pl build buildenv]]></userinput>
! </para>
! <para>
! Finally, (and this must be done as root) create a link \
<filename>/lib/ld-uClibc.so.0</filename> pointing to \
<filename>$(Root_Dir)/staging/lib/ld-uClibc.so.0</filename> (where $(Root_Dir) is \
                what you defined above in <filename>buildtool.conf</filename>).
! If you forget that step, you will sooner or later get a configure error (openssh is \
                one of those candidates), claiming that cc cannot create binaries.
! </para>
! </section>
  </chapter>
--- 88,113 ----
  # Name of the packager -  please put your real name in here 
  # (so people will know who created the package)
! Packager=anonymous</programlisting></para>
  
!     <para>Normally, the defaults in this config file are fine. The only
!     setting that should be changed is the setting for the Packager. Enter your
!     name here (this entry will be shown in the .help-files when creating
!     packages - and I guess it is a good idea to let the user know who
!     assembled the package).</para>
!   </section>
! 
!   <section>
!     <title>Toolchain download/build</title>
! 
!     <note><para>Unless otherwise noted, you should <emphasis>never</emphasis> run \
buildtool as root. Errors in the makefile might otherwise screw up your host system \
                (I've done it, trying to build ncurses...).</para></note>
! 
!     <para>You will probably want to open a new xterm (or whatever terminal emulator \
you prefer) , go to the buildtool root directory (which is \
<filename>buildtool/</filename> starting from where you made the cvs checkout)  and \
                enter <userinput><![CDATA[tail -f log/buildtoollog]]></userinput>
!  in it. Go back to the other xterm, change to the buildtool root dir and enter \
                (hopefully on a fast internet connection - there'll be several large \
                downloads): 
!  <userinput><![CDATA[./buildtool.pl build buildenv]]></userinput></para>
! 
!     <para>Finally, (and this must be done as root) create a link
!     <filename>/lib/ld-uClibc.so.0</filename> pointing to \
                <filename>$(Root_Dir)/staging/lib/ld-uClibc.so.0</filename>
!     (where $(Root_Dir) is what you defined above in \
                <filename>buildtool.conf</filename>).
!     If you forget that step, you will sooner or later get a configure error \
(openssh is one of those candidates), claiming that cc cannot create binaries. This \
happens because configure compiles a test program and tries to execute it. The test \
program expects the uClibc library to be in <filename>/lib</filename> , if it is not \
found the program can not be executed (and this position is hardcoded while compiling \
                the buildenv and can not be changed with ldconfig).</para>
!   </section>
  </chapter>

Index: bt_sources.xml
===================================================================
RCS file: /cvsroot/leaf/devel/hejl/bt_sources.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** bt_sources.xml	24 Jul 2003 21:26:26 -0000	1.1
--- bt_sources.xml	25 Jul 2003 18:52:30 -0000	1.2
***************
*** 11,16 ****
      and the packages/sources themselves as well as the dependencies of a given
      package. All other files that are part of a package and should be
!     downloaded from somewhere have to be explicitly named in the buildtool.cfg
!     file of that package.</para></listitem></varlistentry><varlistentry><term>buildtool.cfg</term><listitem><para>(package
  specific - will be downloaded with the information from
      <filename>conf/global.cfg</filename>). Defines where to get the
--- 11,19 ----
      and the packages/sources themselves as well as the dependencies of a given
      package. All other files that are part of a package and should be
!     downloaded from somewhere have to be explicitly named in the
!     <filename>buildtool.cfg</filename> which is specific to the package. The
!     file <filename>conf/global.cfg</filename> is the same for all
!     packages/sources, you can find it in the <filename>conf</filename> subdir
!     in your Buildtool root \
directory.</para></listitem></varlistentry><varlistentry><term>buildtool.cfg</term><listitem><para>(package
  specific - will be downloaded with the information from
      <filename>conf/global.cfg</filename>). Defines where to get the
***************
*** 48,54 ****
      and dosfstools in <filename>conf/global.cfg</filename> will already be
      there. You can decide to either just skip that section, or (for the sake
!     of learning something) delete that part of <filename>conf/global.cfg and
!     enter the information again manually. The following sections will assume
!     that buildtool knows nothing about syslinux, util-linux and \
dosfstools.</filename></para>  
      <section>
--- 51,58 ----
      and dosfstools in <filename>conf/global.cfg</filename> will already be
      there. You can decide to either just skip that section, or (for the sake
!     of learning something) delete that part of <filename>conf/global.cfg</filename>
!     and enter the information again manually. The following sections will
!     assume that buildtool knows nothing about syslinux, util-linux and
!     dosfstools.</para>
  
      <section>
***************
*** 111,127 ****
  &#60;/File&#62;</programlisting></para>
  
!       <para>The two server definitions tell buildtool which servers we will
!       download files from. In this case it is the leaf-cvs repository for
!       <filename>buildtool.mk</filename> and kernel.org for the syslinux
!       sources. Next we define the file definitiones themselves - specifying
!       HEAD for revision of buildtool.mk is convenient during development of a
!       package (since the revision number can change often while one is trying
!       to correct some bugs).</para>
  
!       <para>Note the <filename>envname</filename> parameter - whith this
        definition in the cfg-file, buildtool will set an environment variable
!       (names <filename>SYSLINUX_SOURCE</filename> in this case) containing the
        filename of the syslinux sources (<filename>syslinux-2.04.tar.bz2</filename>
!       in this case). This will keep us from having to hardcode any
        version-specific information into the makefile. Specifying
        <filename>envname</filename> is not mandatory, but it keeps things
--- 115,131 ----
  &#60;/File&#62;</programlisting></para>
  
!       <para>The two server definitions tell buildtool which server it should
!       use to dowload the files from. In this case it is the leaf-cvs
!       repository for <filename>buildtool.mk</filename> and kernel.org for the
!       syslinux sources. Next we define the file definitiones themselves -
!       specifying HEAD for revision of buildtool.mk is convenient during
!       development of a package (since the revision number can change often
!       while one is trying to correct some bugs).</para>
  
!       <para>Note the <filename>envname</filename> parameter - with this
        definition in the cfg-file, buildtool will set an environment variable
!       (named <filename>SYSLINUX_SOURCE</filename> in this case) containing the
        filename of the syslinux sources (<filename>syslinux-2.04.tar.bz2</filename>
!       in our example). This saves us from having to hardcode any
        version-specific information into the makefile. Specifying
        <filename>envname</filename> is not mandatory, but it keeps things
***************
*** 150,162 ****
  source: 
    bzcat $(SYSLINUX_SOURCE) |  tar -xvf - 
!   - mkdir $(SYSLINUX_TARGET_DIR)
  
  build:
!   # hack for RH 9 systems - perl seems to have a problem with UTF8
!   export LANG=en_US
    $(MAKE) CC=$(TARGET_CC) -C $(SYSLINUX_DIR) syslinux
    -$(BT_STRIP) --strip-unneeded $(SYSLINUX_DIR)/syslinux
    $(MAKE) CC=$(TARGET_CC) -C $(SYSLINUX_DIR) INSTALLROOT=$(SYSLINUX_TARGET_DIR) \
install  cp $(SYSLINUX_DIR)/mbr.bin $(SYSLINUX_TARGET_DIR)/usr/bin/mbr.bin
  
  clean: 
--- 154,168 ----
  source: 
    bzcat $(SYSLINUX_SOURCE) |  tar -xvf - 
!   -mkdir $(SYSLINUX_TARGET_DIR)
  
  build:
!   export LANG=en_US  # Hack for Redhat 9
    $(MAKE) CC=$(TARGET_CC) -C $(SYSLINUX_DIR) syslinux
    -$(BT_STRIP) --strip-unneeded $(SYSLINUX_DIR)/syslinux
    $(MAKE) CC=$(TARGET_CC) -C $(SYSLINUX_DIR) INSTALLROOT=$(SYSLINUX_TARGET_DIR) \
install  cp $(SYSLINUX_DIR)/mbr.bin $(SYSLINUX_TARGET_DIR)/usr/bin/mbr.bin
+   mkdir -p $(BT_STAGING_DIR)/usr/bin
+   -cp $(SYSLINUX_TARGET_DIR)/usr/bin/syslinux $(BT_STAGING_DIR)/usr/bin/
+   -cp $(SYSLINUX_DIR)/usr/bin/mbr.bin $(BT_STAGING_DIR)/usr/bin/
  
  clean: 
***************
*** 226,237 ****
    perl -i -p -e &#39;s,HAVE_SLANG=yes,HAVE_SLANG=no,&#39; $(UTIL_LINUX_DIR)/MCONFIG
    perl -i -p -e &#39;s,LIBSLANG=-lslang,LIBSLANG=,&#39; $(UTIL_LINUX_DIR)/MCONFIG
  
  build:
!   $(MAKE) CC=$(TARGET_CC) -C $(UTIL_LINUX_DIR) fdisk
    $(MAKE) CC=$(TARGET_CC) -C $(UTIL_LINUX_DIR) disk-utils 
    -$(BT_STRIP) --strip-unneeded $(UTIL_LINUX_DIR)/fdisk/fdisk
    -$(BT_STRIP) --strip-unneeded $(UTIL_LINUX_DIR)/disk-utils/mkfs.minix
!   $(MAKE) -C $(UTIL_LINUX_DIR) install
! 
  clean: 
    rm -rf $(UTIL_LINUX_TARGET_DIR)
--- 232,249 ----
    perl -i -p -e &#39;s,HAVE_SLANG=yes,HAVE_SLANG=no,&#39; $(UTIL_LINUX_DIR)/MCONFIG
    perl -i -p -e &#39;s,LIBSLANG=-lslang,LIBSLANG=,&#39; $(UTIL_LINUX_DIR)/MCONFIG
+   -mkdir $(UTIL_LINUX_TARGET_DIR)
  
  build:
!   $(MAKE) CC=$(TARGET_CC) -C $(UTIL_LINUX_DIR) misc-utils 
    $(MAKE) CC=$(TARGET_CC) -C $(UTIL_LINUX_DIR) disk-utils 
+   $(MAKE) CC=$(TARGET_CC) -C $(UTIL_LINUX_DIR) fdisk fdisk
    -$(BT_STRIP) --strip-unneeded $(UTIL_LINUX_DIR)/fdisk/fdisk
    -$(BT_STRIP) --strip-unneeded $(UTIL_LINUX_DIR)/disk-utils/mkfs.minix
!   -cp $(UTIL_LINUX_DIR)/fdisk/fdisk $(UTIL_LINUX_TARGET_DIR)/
!   -cp $(UTIL_LINUX_DIR)/disk-utils/mkfs.minix $(UTIL_LINUX_TARGET_DIR)/
!   mkdir -p $(BT_STAGING_DIR)/sbin
!   -cp $(UTIL_LINUX_DIR)/fdisk/fdisk $(BT_STAGING_DIR)/sbin/
!   -cp $(UTIL_LINUX_DIR)/disk-utils/mkfs.minix $(BT_STAGING_DIR)/sbin/
!   
  clean: 
    rm -rf $(UTIL_LINUX_TARGET_DIR)
***************
*** 316,324 ****
    $(MAKE) CC=$(TARGET_CC) -C $(DOSFSTOOLS_DIR) install
    -$(BT_STRIP) --strip-unneeded $(DOSFSTOOLS_TARGET_DIR)/sbin/mkdosfs
  
  clean:
    rm -rf $(DOSFSTOOLS_TARGET_DIR)
!   $(MAKE) -C $(DOSFSTOOLS_DIR) clean
! </programlisting>
      </section>
  
--- 328,338 ----
    $(MAKE) CC=$(TARGET_CC) -C $(DOSFSTOOLS_DIR) install
    -$(BT_STRIP) --strip-unneeded $(DOSFSTOOLS_TARGET_DIR)/sbin/mkdosfs
+   mkdir -p $(BT_STAGING_DIR)/sbin
+   -cp $(DOSFSTOOLS_TARGET_DIR)/sbin/mkfs.msdos $(BT_STAGING_DIR)/sbin/
+ 
  
  clean:
    rm -rf $(DOSFSTOOLS_TARGET_DIR)
!   $(MAKE) -C $(DOSFSTOOLS_DIR) clean</programlisting>
      </section>
  
***************
*** 350,353 ****
--- 364,372 ----
    Directory = hdsupp
    Description = HD-Support package containing the tools needed to make a harddisc \
or compact flash bootable +   &#60;Requires&#62; 
+     Name = syslinux
+     Name = util-linux         
+     Name = dosfstools
+   &#60;/Requires&#62;  
  &#60;/Package&#62;</programlisting>
  
***************
*** 360,364 ****
          and enter the following information to \
<filename>buildtool.cfg</filename>:</para>  
!         <para></para>
        </section>
      </section>
--- 379,437 ----
          and enter the following information to \
<filename>buildtool.cfg</filename>:</para>  
!         <programlisting>&#60;Server cvs-sourceforge&#62;
!   Type = viewcvs
!   Name = cvs.sourceforge.net/cgi-bin/viewcvs.cgi
!   Serverpath = /leaf/src/bering-uclibc/apps
! &#60;/Server&#62;
! 
! &#60;File buildtool.mk&#62;
!   Server = cvs-sourceforge
!   Revision = HEAD
!   Directory = hdsupp
! &#60;/File&#62;</programlisting>
! 
!         <para>As you can see, this one is extremely simple. Since hdsupp
!         doesn&#39;t provide any sources, we only need to specify \
                buildtool.mk.</para>
! 
!         <para>This is not all we need to add here - there&#39;s more to get
!         <filename>buildpacket</filename> to work. But this will be taken care
!         of in the &#34;Step by step&#34; section of the buildpacket chapter.
!         (TODO add link)</para>
!       </section>
! 
!       <section>
!         <title>Hdsupp makefile</title>
! 
!         <para>You may be wondering why we need a makefile at all, since hdsupp
!         does not provide any sources. You are right - we don&#39;t
!         <emphasis>need</emphasis> a makefile. But to keep buildtool happy (and
!         to make sure that buildpacket can verify that hdsupp has actually been
!         build), we will provide one that simply does nothing. </para>
! 
!         <para>As before create a new file called <filename>buildtool.mk</filename>
!         in <filename>sources/hdsupp</filename> and enter the following
!         contents:</para>
! 
!         <programlisting>#############################################################
                
! #
! # hdsupp
! #
! #############################################################
! 
! include $(MASTERMAKEFILE)
! 
! source: 
!   # nothing to be done
! 
! build:
!   # nothing to be done
! 
! clean:
!   # nothing to be done</programlisting>
! 
!         <para>That&#39;s it. You can now enter ./buildtool.pl build hdsupp and
!         (hopefully) buildtool will download and compile everything needed. If
!         something goes wrong, have a look at the buildtool-logfile (usually
!         the the error-messages are pretty clear about what&#39;s wrong).</para>
        </section>
      </section>

Index: bt_usage.xml
===================================================================
RCS file: /cvsroot/leaf/devel/hejl/bt_usage.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** bt_usage.xml	24 Jul 2003 22:26:27 -0000	1.2
--- bt_usage.xml	25 Jul 2003 18:52:30 -0000	1.3
***************
*** 6,22 ****
      <title>Options</title>
  
!     <para><programlisting>
! usage: ./buildtool.pl command [pkgname]|[srcname] [...]
  
  commands:
! describe [pkgname]|[srcname]     shows descriptionlines of package
! [-f] source [pkgname]|[srcname]  downloads, unpacks and patches
!                                  the wanted package/source
! [-f] build [pkgname]|[srcname]   the same as source, but builds
!                                  and installs sources/packages also
! [-f] clean [pkgname]|[srcname]   make a &#39;make clean&#39; in srcdir
! [-f] dlclean [pkgname]|[srcname] remove everything from dldir
! distclean                        remove everything
! maketar                          make a tar for distribution
  
  The -f switch allows you to force building sourcing and cleaning
--- 6,22 ----
      <title>Options</title>
  
!     <para><programlisting>usage: ./buildtool.pl command [pkgname]|[srcname] [...]
  
  commands:
! describe [pkgname]|[srcname]      shows descriptionlines of package
! [-f] source [pkgname]|[srcname]   downloads, unpacks and patches
!                                   the wanted package/source
! [-f] build [pkgname]|[srcname]    the same as source, but builds
!                                   and installs sources/packages also
! [-f] clean [pkgname]|[srcname]    make a &#39;make clean&#39; in srcdir
! [-f] dlclean [pkgname]|[srcname]  remove everything from dldir
! [-f] srcclean [pkgname]|[srcname] make a &#39;make srcclean&#39; in srcdir
! distclean                         remove everything
! maketar                           make a tar for distribution
  
  The -f switch allows you to force building sourcing and cleaning
***************
*** 30,36 ****
      configuration for (see the next chapter on how to create such a
      configuration). To get a listing about the sources that are configured for
!     buildtool type <programlisting>
! ./buildtool.pl describe</programlisting> This will give you a list (and a
!     short description) of all sources/packages that can be built.</para>
    </section>
  
--- 30,64 ----
      configuration for (see the next chapter on how to create such a
      configuration). To get a listing about the sources that are configured for
!     buildtool type <programlisting> ./buildtool.pl describe</programlisting>This
!     will give you a list (and a short description) of all sources/packages
!     that can be built. An example output looks like this:
!     <programlisting> ./buildtool.pl describe
!  
!  The following packages and sources are available:
!  
!  Sources:
!  ---------------------------------------------------------
!  openssh                 openssh
!  tcp_wrappers            Wietse Venema&#39;s TCP wrappers library
!  helloworld              classical example
!  openssl                 Secure Sockets Layer and cryptography libraries and tools
!  zlib                    zLib shared libraries
!  linux                   kernel source only package
!  
!  Packages:
!  ---------------------------------------------------------
!  buildenv                this holds everything to build cross build env
!  kernel                  kernel pseudo package</programlisting></para>
!   </section>
! 
!   <section>
!     <title>The difference between sources and packages</title>
! 
!     <para>You might be a bit confused why in the above output there are
!     Sources and Packages. The main reason for having sources and packages
!     seperatly is that there are some sources out there that produce programs
!     used in several packages. Or another word it sometimes make sense to just
!     build the sources (like util-linux for example) only once and create
!     several packages out of the resulting binaries.</para>
    </section>
  
***************
*** 38,49 ****
      <title>Downloading the sources for a package</title>
  
!     <para>Running <programlisting>
! ./buildtool.pl source somepackageName</programlisting> will cause the sources
!     of <emphasis>somepackageName</emphasis> (and before that, all its
!     dependencies, if there are any that haven&#39;t been downloaded yet) to be
!     downloaded. After that, the makefile <filename>buildtool.mk</filename> for
!     this source is executed for target <emphasis>source</emphasis>. This has
!     the effect that the sources will be extracted, and patches (if there are
!     any) are applied.</para>
  
      <para>If all this completes without error, the sources of
--- 66,76 ----
      <title>Downloading the sources for a package</title>
  
!     <para>Running <programlisting>./buildtool.pl source \
                somepackageName</programlisting>
!     will cause the sources of <emphasis>somepackageName</emphasis> (and before
!     that, all its dependencies, if there are any that haven&#39;t been
!     downloaded yet) to be downloaded. After that, the makefile
!     <filename>buildtool.mk</filename> for this source is executed for target
!     <emphasis>source</emphasis>. This has the effect that the sources will be
!     extracted, and patches (if there are any) are applied.</para>
  
      <para>If all this completes without error, the sources of
***************
*** 54,63 ****
      <title>Compiling the sources for a package</title>
  
!     <para>Running <programlisting>
! ./buildtool.pl build somepackageName</programlisting> will cause buildtool to
!     actually compile the source and install it to the <filename>build</filename>
!     directory (and all its dependencies). After this has completed
!     successfully, all binaries required for the lrp package (linked against
!     uClibc) reside in the <filename>build</filename> directory.</para>
    </section>
  </chapter>
--- 81,90 ----
      <title>Compiling the sources for a package</title>
  
!     <para>Running <programlisting>./buildtool.pl build \
                somepackageName</programlisting>
!     will cause buildtool to actually compile the source and install it to the
!     <filename>build</filename> directory (and all its dependencies). After
!     this has completed successfully, all binaries required for the lrp package
!     (linked against uClibc) reside in the <filename>build</filename>
!     directory.</para>
    </section>
  </chapter>

Index: buildpacket.xml
===================================================================
RCS file: /cvsroot/leaf/devel/hejl/buildpacket.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** buildpacket.xml	29 Jun 2003 20:17:39 -0000	1.1
--- buildpacket.xml	25 Jul 2003 18:52:30 -0000	1.2
***************
*** 1,212 ****
! <chapter><title>Creating lrp packages with buildpacket</title>
! <section><title>Step by step guide to setting up the configuration for \
                hdsupp.lrp</title>
! <para>TODO</para>
! </section>
! <section><title>Configuration</title>
! <para>
!     The configuration for this script is integrated into the buildtool.cfg
!     file that controls the download of the sources. It resides in its own
!     block called "Package". Sample (comments below):
  
! <programlisting><![CDATA[<Package>
! 	<sshd>
! 		Version  = 3.6.1p1
! 		Revision = 1
! 		Skeleton = sshd.skel.tgz
! 		Help <<EOF
! 			OpenSSH sshd daemon.
! 			See http://www.openssh.org
! 			LRP package by __PACKAGER__, __BUILDDATE__
! 		EOF
  
! 		<Permissions>
! 			Files = 644
! 			Directories = 755
! 		</Permissions>
  
! 		<Owner>
! 			Files = root:root
! 			Directories = root:root
! 		</Owner>
  
! 		<Contents>
  
! 			<File>
! 				Filename        = etc/init.d/sshd
! 				Description     = sshd daemon init file
! 				Type            = conf
! 				Type            = local
! 			</File>
  
! 			<File>
! 				Filename        = etc/ssh
! 				Type            = list
! 				Type            = local
! 			</File>
  
! 			<File>
! 				Filename        = etc/ssh/sshd_config
! 				Description     = sshd config file
! 				Type            = conf
! 			</File>
  
! 			<File>
! 				Source          = usr/local/sbin/sshd
! 				Filename        = usr/sbin/sshd
! 				Type            = binary
! 				Permissions     = 755
! 			</File>
  
! 			<File>
! 				Source          = etc/ssh/moduli
! 				Filename        = etc/ssh/moduli
! 				Type            = binary
! 			</File>
  
! 			<File>
! 				Source      = usr/local/bin/scp
! 				Filename        = usr/bin/scp
! 				Type            = binary
! 				Permissions = 755
! 			</File>
  
! 		</Contents>
! 	</sshd>
  
! 	<anotherPackageHere>
! 		...
! 	</anotherPackageHere>
! </Package>]]></programlisting>
! </para>
! <section><title>Version</title>
! <para>
! The version of the source-code used to compile the package
! </para>
! </section>
! <section><title>Revision</title>
! <para>
! Revision of the package (to distinguish different builds of the same source)
! </para>
! </section>
! <section><title>Skeleton</title>
! <para>
! The skeleton file to build the package
! </para>
! </section>
! <section><title>Permissions</title>
! <para>
! Default permissions to give files/directories
! </para>
! </section>
! <section><title>Owner</title>
! <para>
! Default ownership given to the files/directories
! </para>
! </section>
! <section><title>Help</title>
! <para>
! Text to put into the .help file. If the .help file should only consist of a single \
                line, you can simply define ist as 
! <programlisting>Help = Text for the help file</programlisting>. If you need more \
                than one line (most likely you will), you 
! can use the mechanism used in the example. 
! </para>
! <para>
! The following "tags" that will be
! replaced at build time are supported:
! <itemizedlist>
! <listitem><para>
! __PACKAGER__ The name of the user who built the package (this is why you need to \
                specify the packager on the commmand line).
! </para>
! </listitem>	
! <listitem><para>
! __BUILDDATE__ Date the package was created
! </para>
! </listitem>
! </itemizedlist>
! </para>
! </section>
! <section><title>Contents</title>
! <para>
! List of "File" blocks that define the contents of the package.
! <note><para>Only the files that need special care like binaries or
! directories "owned" by the lrp need to be listed here - stuff that
! came from the skeleton file or the files automatically generated by
! the tool are added automatically (but if they need other
! permissions/ownership than the default, you still need to specify
! them - as "LIST", for example). A file can be of more than one type - in 
! this case, simply specify more than one &quot;Type = xxx&quot; line.
! </para>
! </note>
! </para>
! </section>
! <section><title>File</title>
! <para>
! Filename (including relative path) of the file in the
! package Source: relative (to buildtools staging-dir) path/filename
! to the file generated by buildtool. Possible file-types are:
! <itemizedlist>
! <listitem><para>
! binary: (for files that are copied from the staging_dir of buildtool - not \
                neccessarily a <emphasis>binary</emphasis>)
! </para>
! </listitem>
! <listitem><para>
! list: file (or pattern) to add to the packagename.list file
! </para>
! </listitem>
! <listitem><para>
! conf:file to add to packagename.conf
! </para>
! </listitem>
! <listitem><para>local: file to add to packagename.local (for partial backups). At
! this point only the type "I" (for including the file in the
! local backup) is supported, type "X" (for excluding a file
! from the local backup) is not.
! </para>
! </listitem>
! </itemizedlist>
! </para>
! </section>
! </section>
! <section><title>Creating packages</title>
! <para>
! Usage:
! <programlisting>buildpackage --package=packagename --packager=name_of_packager
      [--target=packagefile] [-lrp=existing.lrp] [--verbose]</programlisting>
! Example:
! <programlisting>./buildpacket.pl --package=zlip --packager="Martin Hejl" \
                --verbose</programlisting>
! <caution><para>Currently, buildpacket does not check, wether the sources have \
already been installed. This is something that will be done later on, when \
                buildpacket is more integrated into builtool</para></caution>
! </para>
! <section><title>Options</title>
! <para>
! <itemizedlist>
! <listitem><para>
! --package The name of the package you compiled using <command>./buildtool.pl build \
                packagename</command></para>
! </listitem>
! <listitem><para>
!     --packager:
!         The name of the user who created the package. The string you enter
!         here is added to the .help file (if the help section contains the \
                __PACKAGER__ tag)</para>
! </listitem>
! <listitem><para>
!     --target:
!         For packages that create more than one lrp-file (like openssh), this
!         specifies which lrp to create. If this option is omitted, the value
!         of --package is used</para>
! </listitem>
! <listitem><para>
!     --lrp:
!         If you already have an existing lrp file and you want to migrate
!         your configuration to the new package, specify the lrp file here and
!         it will be integrated into the package (if the .cfg file is set up
!         correctly, the config will be migrated, but all binaries will be
!         replaced with the new versions). This needs more work (it's pretty crude at \
this point), probably the lck-scripts by Alex Rhomberg will be integrated/used to \
                take care of this.</para>
! </listitem>
! <listitem><para>
!     --verbose:
!         Turns on verbose logging</para>
! </listitem>        
! </itemizedlist>
! </para>
! </section>
! </section>
! </chapter>
!  
--- 1,284 ----
! <?xml version="1.0" encoding="UTF-8"?>
! <chapter>
!   <title>Creating lrp packages with buildpacket</title>
  
!   <section>
!     <title>Step by step guide to setting up the configuration for \
hdsupp.lrp</title>  
!     <para>In this section, we will finish up the hdsupp package, so
!     buildpacket will be able to create an lrp-file from the sources buildtool
!     created. To do this, open source/hdsupp/buildtool.cfg and append the
!     following text:</para>
  
!     <programlisting>&#60;Package&#62;
!   &#60;hdsupp&#62;
!     Version  = 1.0
!     Revision = 1
!     Help &#60;&#60;EOF
!     Tools to be create a bootable partition from within Bering-uClibc.
  
!     The procedure to get a plain syslinux partition (if you want to use lilo, 
!     you&#39;re on your own) is something like this:
!     1. make sure your Bering install actually supports your harddrive 
!        (i.e. insert the appropriate modules)
!     2. Run fdisk to create the partitions. I usually create an empty DOS 
!        partition table (using the &#39;o&#39; command) create a primary partition, \
                make 
!        that bootable (using the &#39;a&#39; command)
!     3. Run mkfs.msdos on the newly created partition (e.g. mkfs.msdos /dev/hda1)
!     4. Copy the MBR to the drive using (assuming your harddrive is /dev/hda)
!        dd if=/usr/bin/mbr.bin of=/dev/hda bs=512 count=1
!     5. Mount the drive and copy the bering files onto the drive (please read
!        the bering users guide, section &#34;Booting from an IDE device&#34;, it has \
                some 
!        vital info for that part of the process)
!        Remember to change the &#39;boot&#39; and &#39;PKGPATH&#39; to point to your \
                harddrive.
!     6. run syslinux (e.g. syslinux /dev/hda1) This is usually the last thing I do
!        (after unmounting the partition again, of course), because that way, I can
!        simply copy everything from the floppy without having to worry about leaving \
                
!        ldlinux.sys alone (since that gets overwritten with the correct version by
!        running syslinux)
!     EOF
  
!     &#60;Permissions&#62;
!       Files = 644
!       Directories = 755
!     &#60;/Permissions&#62;
  
!     &#60;Owner&#62;
!       Files = root:root
!       Directories = root:root
!     &#60;/Owner&#62;
  
!     &#60;Contents&#62;
!       &#60;File&#62;
!         Source          = sbin/fdisk
!         Filename        = sbin/fdisk
!         Type            = binary
!         Permissions     = 755
!       &#60;/File&#62;
!   
!       &#60;File&#62;
!         Source          = sbin/mkfs.minix
!         Filename        = sbin/mkfs.minix
!         Type            = binary
!         Permissions     = 755
!       &#60;/File&#62;
!   
!       &#60;File&#62;
!         Source          = sbin/mkfs.msdos 
!         Filename        = sbin/mkfs.msdos 
!         Type            = binary
!         Permissions     = 755
!       &#60;/File&#62;
!   
!       &#60;File&#62;
!         Source          = usr/sbin/syslinux 
!         Filename        = usr/sbin/syslinux 
!         Type            = binary
!         Permissions     = 755
!       &#60;/File&#62;
!   
!       &#60;File&#62;
!         Source          = usr/sbin/mbr.bin 
!         Filename        = usr/sbin/mbr.bin 
!         Type            = binary
!         # We don&#39;t neet to specify permissions here, since the default 644 will \
                do just fine
!       &#60;/File&#62;
!     &#60;/Contents&#62;  
!   &#60;/hdsupp&#62;
! &#60;/Package&#62;</programlisting>
  
!     <para></para>
  
!     <para></para>
!   </section>
  
!   <section>
!     <title>Configuration</title>
  
!     <para>The configuration for this script is integrated into the
!     buildtool.cfg file that controls the download of the sources. It resides
!     in its own block called &#34;Package&#34;. Sample (comments below):
!     <programlisting>&#60;Package&#62;
!   &#60;sshd&#62;
!     Version  = 3.6.1p1
!     Revision = 1
!     Skeleton = sshd.skel.tgz
!     Help &#60;&#60;EOF
!       OpenSSH sshd daemon.
!       See http://www.openssh.org
!       LRP package by __PACKAGER__, __BUILDDATE__
!     EOF
  
!     &#60;Permissions&#62;
!       Files = 644
!       Directories = 755
!     &#60;/Permissions&#62;
! 
!     &#60;Owner&#62;
!       Files = root:root
!       Directories = root:root
!     &#60;/Owner&#62;
! 
!     &#60;Contents&#62;
! 
!       &#60;File&#62;
!         Filename        = etc/init.d/sshd
!         Description     = sshd daemon init file
!         Type            = conf
!         Type            = local
!       &#60;/File&#62;
! 
!       &#60;File&#62;
!         Filename        = etc/ssh
!         Type            = list
!         Type            = local
!       &#60;/File&#62;
! 
!       &#60;File&#62;
!         Filename        = etc/ssh/sshd_config
!         Description     = sshd config file
!         Type            = conf
!       &#60;/File&#62;
! 
!       &#60;File&#62;
!         Source          = usr/local/sbin/sshd
!         Filename        = usr/sbin/sshd
!         Type            = binary
!         Permissions     = 755
!       &#60;/File&#62;
! 
!       &#60;File&#62;
!         Source          = etc/ssh/moduli
!         Filename        = etc/ssh/moduli
!         Type            = binary
!       &#60;/File&#62;
! 
!       &#60;File&#62;
!         Source      = usr/local/bin/scp
!         Filename        = usr/bin/scp
!         Type            = binary
!         Permissions = 755
!       &#60;/File&#62;
! 
!     &#60;/Contents&#62;
!   &#60;/sshd&#62;
! 
!   &#60;anotherPackageHere&#62;
!     ...
!   &#60;/anotherPackageHere&#62;
! &#60;/Package&#62;</programlisting></para>
! 
!     <section>
!       <title>Version</title>
! 
!       <para>The version of the source-code used to compile the package</para>
!     </section>
! 
!     <section>
!       <title>Revision</title>
! 
!       <para>Revision of the package (to distinguish different builds of the
!       same source)</para>
!     </section>
! 
!     <section>
!       <title>Skeleton</title>
! 
!       <para>The skeleton file to build the package</para>
!     </section>
! 
!     <section>
!       <title>Permissions</title>
! 
!       <para>Default permissions to give files/directories</para>
!     </section>
! 
!     <section>
!       <title>Owner</title>
! 
!       <para>Default ownership given to the files/directories</para>
!     </section>
! 
!     <section>
!       <title>Help</title>
! 
!       <para>Text to put into the .help file. If the .help file should only
!       consist of a single line, you can simply define ist as
!       <programlisting>Help = Text for the help file</programlisting>. If you
!       need more than one line (most likely you will), you can use the
!       mechanism used in the example.</para>
! 
!       <para>The following &#34;tags&#34; that will be replaced at build time
!       are supported: <itemizedlist><listitem><para>__PACKAGER__ The name of
!       the user who built the package (this is why you need to specify the
!       packager on the commmand \
                line).</para></listitem><listitem><para>__BUILDDATE__
!       Date the package was created</para></listitem></itemizedlist></para>
!     </section>
! 
!     <section>
!       <title>Contents</title>
! 
!       <para>List of &#34;File&#34; blocks that define the contents of the
!       package. <note><para>Only the files that need special care like binaries
!       or directories &#34;owned&#34; by the lrp need to be listed here - stuff
!       that came from the skeleton file or the files automatically generated by
!       the tool are added automatically (but if they need other
!       permissions/ownership than the default, you still need to specify them -
!       as &#34;LIST&#34;, for example). A file can be of more than one type -
!       in this case, simply specify more than one &#34;Type = xxx&#34; \
                line.</para></note></para>
!     </section>
! 
!     <section>
!       <title>File</title>
! 
!       <para>Filename (including relative path) of the file in the package
!       Source: relative (to buildtools staging-dir) path/filename to the file
!       generated by buildtool. Possible file-types are:
!       <itemizedlist><listitem><para>binary: (for files that are copied from
!       the staging_dir of buildtool - not neccessarily a \
                <emphasis>binary</emphasis>)</para></listitem><listitem><para>list:
!       file (or pattern) to add to the packagename.list \
                file</para></listitem><listitem><para>conf:file
!       to add to packagename.conf</para></listitem><listitem><para>local: file
!       to add to packagename.local (for partial backups). At this point only
!       the type &#34;I&#34; (for including the file in the local backup) is
!       supported, type &#34;X&#34; (for excluding a file from the local backup)
!       is not.</para></listitem></itemizedlist></para>
!     </section>
!   </section>
! 
!   <section>
!     <title>Creating packages</title>
! 
!     <para>Usage: <programlisting>buildpackage --package=packagename \
                --packager=name_of_packager
      [--target=packagefile] [-lrp=existing.lrp] [--verbose]</programlisting>
!     Example:</para>
! 
!     <programlisting>./buildpacket.pl --package=zlip --packager=&#34;Martin \
                Hejl&#34; --verbose</programlisting>
! 
!     <caution>
!       <para>Currently, buildpacket does not check, wether the sources have
!       already been installed. This is something that will be done later on,
!       when buildpacket is more integrated into builtool</para>
!     </caution>
! 
!     <section>
!       <title>Options</title>
! 
!       <para><itemizedlist><listitem><para>--package The name of the package
!       you compiled using <command>./buildtool.pl build \
                packagename</command></para></listitem><listitem><para>--packager:
!       The name of the user who created the package. The string you enter here
!       is added to the .help file (if the help section contains the
!       __PACKAGER__ tag)</para></listitem><listitem><para>--target: For
!       packages that create more than one lrp-file (like openssh), this
!       specifies which lrp to create. If this option is omitted, the value of
!       --package is used</para></listitem><listitem><para>--lrp: If you already
!       have an existing lrp file and you want to migrate your configuration to
!       the new package, specify the lrp file here and it will be integrated
!       into the package (if the .cfg file is set up correctly, the config will
!       be migrated, but all binaries will be replaced with the new versions).
!       This needs more work (it&#39;s pretty crude at this point), probably the
!       lck-scripts by Alex Rhomberg will be integrated/used to take care of
!       this.</para></listitem><listitem><para>--verbose: Turns on verbose
!       logging</para></listitem></itemizedlist></para>
!     </section>
!   </section>
! </chapter>
\ No newline at end of file

Index: buildtool_gsg.xml
===================================================================
RCS file: /cvsroot/leaf/devel/hejl/buildtool_gsg.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** buildtool_gsg.xml	24 Jul 2003 22:26:27 -0000	1.3
--- buildtool_gsg.xml	25 Jul 2003 18:52:30 -0000	1.4
***************
*** 34,50 ****
  			<revnumber>0.1</revnumber>
  			<date>2003-05-29</date>
! 			<revremark>Initial release</revremark>
  		</revision>
  		<revision>
  			<revnumber>0.2</revnumber>
  			<date>2003-06-01</date>
! 			<revremark>Added info on directory structure and makefile sample, minor \
cleanups</revremark>  </revision>
  		<revision>
  			<revnumber>0.3</revnumber>
  			<date>2003-06-29</date>
! 			<revremark>Started writing step-by-step chapter</revremark>
  		</revision>
! 		
  	</revhistory>
  </bookinfo>
--- 34,55 ----
  			<revnumber>0.1</revnumber>
  			<date>2003-05-29</date>
! 			<revremark>Initial release  (Martin Hejl)</revremark>
  		</revision>
  		<revision>
  			<revnumber>0.2</revnumber>
  			<date>2003-06-01</date>
! 			<revremark>Added info on directory structure and makefile sample, minor cleanups \
(Arne Bernin)</revremark>  </revision>
  		<revision>
  			<revnumber>0.3</revnumber>
  			<date>2003-06-29</date>
! 			<revremark>Started writing step-by-step chapter (Martin Hejl)</revremark>			
  		</revision>
! 		<revision>
! 			<revnumber>0.4</revnumber>
! 			<date>2003-07-25</date>
! 			<revremark>Completed first revision of step-by-step chapter (Martin Hejl), 
! 			corrections/additions (Arne Bernin)</revremark>			
! 		</revision>		
  	</revhistory>
  </bookinfo>
***************
*** 52,56 ****
  <section><title>What is buildtool?</title>
  <para>
! Buildtool is a set of perl-scripts/packages to build lrp-packages from source. \
Everything in the build process is automated, from downloading the sources and \
applying patches to configureing/building the source and creating the lrp-package.   \
</para>  </section>
--- 57,61 ----
  <section><title>What is buildtool?</title>
  <para>
! Buildtool is a set of perl-scripts/packages to build lrp/leaf-packages from source. \
Everything in the build process is automated, from downloading the sources and \
applying patches to configuring/building the source and creating the lrp-package.   \
</para>  </section>




-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
Leaf-cvs-commits mailing list
Leaf-cvs-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/leaf-cvs-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic