aboutsummaryrefslogtreecommitdiffstats
path: root/doc/conf.xml.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/conf.xml.tex')
-rw-r--r--doc/conf.xml.tex365
1 files changed, 365 insertions, 0 deletions
diff --git a/doc/conf.xml.tex b/doc/conf.xml.tex
new file mode 100644
index 0000000..f512179
--- /dev/null
+++ b/doc/conf.xml.tex
@@ -0,0 +1,365 @@
+\section{conf xml}
+
+Example of a commented conf.xml file. Keep in mind that most of those
+parameters are correct, and you don't need to change whole of them.
+Examples are available in this package, so please use one of them to
+base your configuration.
+
+
+You should only change those one:
+\begin{itemize}
+ \item \{nameid\}
+ \item \{version\}
+ \item \{arch\}
+ \item \{repo\}\{path\}
+ \item \{media\}\{list\}*
+ \item \{iso\}\{header\}*
+\end{itemize}
+
+first it's an xml file
+\begin{verbatim}
+<?xml version='1.0'?>
+\end{verbatim}
+
+name of the product
+\begin{verbatim}
+<productname desc="The Linux product">
+\end{verbatim}
+
+identification of the product, used for the name of the final ISO
+\begin{verbatim}
+<nameid>XtreemOS</nameid>
+\end{verbatim}
+
+you should really care about this parameter, how many \textbf{urpmq} could you launch at the same time ?
+10 is an high value, use it only on multi-core computer.
+ \begin{verbatim}
+<nb_fork>10</nb_fork>
+\end{verbatim}
+
+If you want to resign you packages, define in wich file you store the password to sign RPMS, and the
+gnupg file used to sign them. BCD can only sign for the moment all packages with the same key. It will
+be able to sign later a media with a specific public key.
+\begin{verbatim}
+<signature>/home/xtreemos/.signature.gpg</signature>
+<rpmrc>/home/xtreemos/.rpmrc</rpmrc>
+\end{verbatim}
+
+based\_on parameter defines on wich version of Mandriva this product will be built.
+This parameter define if we need synthesis or hdlists (since 2009.1 only synthesis are needed)
+It will be use to get the path of the Mandriva repositery.
+\begin{verbatim}
+<based_on>2009.0</based_on>
+\end{verbatim}
+
+Arch parameter is mandatory, it will be also used to get the path of the Mandriva repositery
+\begin{verbatim}
+ <arch>i586</arch>
+\end{verbatim}
+
+path to the repositery (without version and arch)
+\begin{verbatim}
+ <repo desc="Where is the repositery of the distribution">
+ <path>/mnt/BIG/dis</path>
+ </repo>
+\end{verbatim}
+
+so the full path of the Mandriva repositery will be in our example
+\begin{verbatim}
+ </mnt/BIG/dis/2009.0/i586>
+\end{verbatim}
+
+workdir is where you want to store the result of the build. Two directories
+will be built, \textbf{build} to store the base of the DVD, \textbf{iso} to store the final ISO.
+\begin{verbatim}
+ <workdir desc="Where is my working dir">
+ <path>/home/xtreemos/build_bcd</path>
+ </workdir>
+\end{verbatim}
+
+basename of log files, if you want you can change it, but this option
+should not exist, i should remove it...
+\begin{verbatim}
+ <tocopy_file>tocopy_plop</tocopy_file>
+\end{verbatim}
+
+all Isolinux information
+\begin{verbatim}
+ <isolinux desc="isolinux info">
+ <defaultpath>isolinux</defaultpath>
+\end{verbatim}
+
+if you want to point to a custom \textbf{isolinux} directory
+\begin{verbatim}
+ <fullpath>/home/xtreemos/export_i386/isolinux</fullpath>
+\end{verbatim}
+
+if you want to add a entry in your \textbf{isolinux.cfg}. In this example we add an HDT entry
+(hardware detection tool)
+\begin{verbatim}
+ <!-- add hdt entry in syslinux.cfg -->
+ <entry name="hdt" desc="Main media">
+ <bin>/usr/lib/syslinux/hdt.c32</bin>
+ <label>hdt</label>
+ <kernel>hdt.c32</kernel>
+ <append>modules=modules.pci</append>
+ </entry>
+\end{verbatim}
+
+some section are mandatory to keep the array structure of the xml file
+\begin{verbatim}
+ <!-- keep this entry to create an array ref -->
+ <entry></entry>
+\end{verbatim}
+
+if you want to copy extra files to the isolinux buildir
+\begin{verbatim}
+ <tocopy name="pcimap">
+ <file>/lib/modules/2.6.31-server-2mnb/modules.pcimap</file>
+ </tocopy>
+ <tocopy name="ids">
+ <file>/usr/share/pci.ids</file>
+ </tocopy>
+ <tocopy></tocopy>
+ </isolinux>
+\end{verbatim}
+
+all information relatives to the installer (stage2)
+\begin{verbatim}
+ <installer desc="path to the Mandriva installer (stage1/stage2)">
+ <defaultpath>install</defaultpath>
+\end{verbatim}
+
+if you want to use a custom installer, really usefull if you custom it
+\begin{verbatim}
+ <fullpath>/home/xtreemos/export_i386</fullpath>
+\end{verbatim}
+
+path to custom advertising (images used during slideshow)
+\begin{verbatim}
+ <advertising>
+ <defaultpath>advertising</defaultpath>
+ <fullpath>/home/xtreemos/Build/pieces/advertising</fullpath>
+ </advertising>
+\end{verbatim}
+
+full path and name of your patch for stage2 to copy in the \textbf{buildir/install} directory. This
+is an option, leave it blank if you don't use a patch
+\begin{verbatim}
+ <patch>/home/xtreemos/Build/pieces/patch-oem.pl</patch>
+ </installer>
+\end{verbatim}
+
+Theme to use to patch \textbf{all.rdz} file.
+Theme name will be used to install mandriva-release-THEMENAME and avoid
+problem of mixing theme on a same product
+\begin{verbatim}
+ <!-- theme must be available to path altx/all.rdz files -->
+ <theme name="mandriva-release-Free">
+ <theme>Mandriva-Free</theme>
+ <bootsplash>Mandriva-Free</bootsplash>
+ <bootsplash_path>/usr/share/bootsplash</bootsplash_path>
+ <gfxboot_path>/usr/share/gfxboot</gfxboot_path>
+ </theme>
+\end{verbatim}
+
+media section will defined wich media you want to use and you want to create on the DVD.
+Keep in mind that it works like \textbf{urpmi} and \textbf{urpmq}, if you want to install a package, you need
+all his dependencies, so for some specific package like restricted one on a 64bits product,
+you need to use the extra parameter \begin{verbatim}<media_supp>Main,contrib,main32</media_supp>\end{verbatim}
+to be sure that you will provide all needed deps. For each list bcd will add a media, and will add
+\textbf{updates/backport/testing} if the tag is set to yes. Be sure you use a uniq media name, because \textbf{urpmi}
+will not add a new media with a name wich already exist.
+\begin{verbatim}
+ <media desc="media to take into account to build the ISO">
+ <!-- WARNING this media must be named "Main" because main media is mandatory for all other media-->
+ <!-- Morever the "Main" media is always the Name use for an MDV repositery -->
+ <!-- futur feature will provide a way to specify another name for the basic repo of an MDV distribution -->
+ <!-- use the supp_media option if you needed to use media option of urpmi, usefull for external media
+ wich need main and contrib to be installed, use the urpmi syntax of \-\-media (no space, media separated by coma)
+\end{verbatim}
+
+drop option is usefull to remove the media before the rpmcheck (usefull for media main32)
+\begin{verbatim}
+ <drop>yes</drop>
+\end{verbatim}
+
+remove\_noarch is used to remove all noarch packages from a media (usefull for media main32 on pwp64 and free64)
+\begin{verbatim}
+ <remove_noarch>yes</remove_noarch>
+\end{verbatim}
+
+input list for a specific media
+\begin{verbatim}
+ <media_supp>Main,Main Updates,Contrib,Contrib Updates</media_supp>-->
+ <list name="Main" desc="Main_media">
+ <!-- MANDATORY list of wanted packages on the iso -->
+ <input name="base">
+ <file>lists/input_main</file>
+ </input>
+ <input name="lang">
+ <file>lists/languages</file>
+ </input>
+ <!-- to create an array you must keep this even if it is empty -->
+ <input name="xos">
+ <file>lists/xos_list</file>
+ </input>
+\end{verbatim}
+
+you can use an external media, but this media must have a \textbf{media\_info} directory
+you must use external media if this media is not available in the repositery.
+IE: restricted32 packages on a PowerPack 64bits product. The \textbf{fullpath\_mediadir} option
+must be the full path to RPM (no subdirectory release/updates/backport).
+\begin{verbatim}
+ <!-- external media repositery with hdlists -->
+ <external name="xos">
+ <fullpath_mediadir>/home/xtreemos/repo_xos/2009.0/i586/media/xtreemos/release</fullpath_mediadir>
+ </external>
+\end{verbatim}
+
+Packages unwanted on the DVD are stored in exclude list.
+They will be removed at the end of the installation process.
+Just add the list of those packages in an exclude list.
+\begin{verbatim}
+ <!-- MANDATORY list of unwanted packages on the iso -->
+ <exclude name="exclude">
+ <file>lists/exclude_main</file>
+ </exclude>
+ <!-- to create an array you must keep this even if it is empty -->
+ <exclude>
+ </exclude>
+\end{verbatim}
+
+Switch nosuggest options to yes if you don't want to use RPMS's suggests
+\begin{verbatim}
+ <!-- nosuggests options should be yes or no -->
+ <nosuggests>no</nosuggests>
+\end{verbatim}
+
+I will use the media name 'mediadir' and put it in the directory media/'destmedia' on the DVD.
+\begin{verbatim}
+ <!-- will be taken in {repo}{version}{arch}/media -->
+ <mediadir>main</mediadir>
+ <destmedia>main</destmedia>
+\end{verbatim}
+
+Where to find the pubkey in the repositery (the path will be media/'mediadir'/'pubkey').
+If you want to specify a specific file to use as pubkey, leave <pubkey> empty.
+\begin{verbatim}
+ <pubkey>release/media_info/pubkey</pubkey>
+ <file_pubkey>/path_to_file/the_pubkey</file_pubkey>
+\end{verbatim}
+
+if you want to use backports, testing or updates sub-media, set option to yes.
+Note: release media should be mandatory
+\begin{verbatim}
+ <release>yes</release>
+ <updates>yes</updates>
+ <backport>no</backport>
+ <testing>no</testing>
+ </list>
+ <!-- keep this entry to create an array ref -->
+ <list></list>
+ </media>
+\end{verbatim}
+
+all \textbf{media\_info} informations are in this section
+\begin{verbatim}
+ <mediainfo desc="All files relatives to media_info dir">
+\end{verbatim}
+
+version will be used to generate a good media.cfg files (we don't use hdlits.cz since 2009.1 release)
+\begin{verbatim}
+ <version>2009.0</version>
+\end{verbatim}
+
+use 'fullpath' parameter to use custom rpmsrate/compssusers files
+\begin{verbatim}
+ <!-- set fullpath if you want to use an files in a non MDV repositery -->
+ <fullpath>/home/xtreemos/Build/pieces</fullpath>
+ <mediainfo_dir>media/media_info</mediainfo_dir>
+ <rpmsrate>rpmsrate</rpmsrate>
+ <compssusers>compssUsers.pl</compssusers>
+ <filedeps>file-deps</filedeps>
+\end{verbatim}
+
+If you want to add an \textbf{urpmi} options to install packages. Be carreful
+this can add or remove a lot of packages, and syntax in your list file can
+lead to error. ie: firefox- in a list file without the parameter \textit{-a} will
+lead to an \textbf{urpmi} error, because there is a lot of firefox packages wich
+began with the strings firefox-
+\begin{verbatim}
+ <urpmi_option>-a</urpmi_option>
+\end{verbatim}
+
+If you want to do some extra filter to keep latest release of a packages on the DVD.
+All packages listed in extra-filter are NOT filtered: so if you have more than one
+version of a package in the builddir, it will bypass the rpm comparaison.
+For all other packages available in the builddir, BCD
+will keep the latest one (rpm version comparaison)
+\begin{verbatim}
+ <filter>lists/extra-filter</filter>
+\end{verbatim}
+
+media.cfg options, do a man gendistrib for more info
+\begin{verbatim}
+ <askmedia desc="add for other media ?">
+ <todo>yes</todo>
+ </askmedia>
+ <suppl desc="add an external media ?">
+ <todo>yes</todo>
+ </suppl>
+ <xmlinfo>
+ <todo>no</todo>
+ </xmlinfo>
+ </mediainfo>
+\end{verbatim}
+
+ISO section
+\begin{verbatim}
+ <iso>
+\end{verbatim}
+
+tag name and some extra parameters
+\begin{verbatim}
+ <tag>rc1</tag>
+ <minor>0</minor>
+ <subversion>1</subversion>
+ <product>Download</product>
+ <branch>Devel</branch>
+ <type>basic</type>
+ <!-- dual arch not yet supported -->
+ <dualarch>no</dualarch>
+ <!-- SIZE is not YET USED !!! -->
+ <size>700</size>
+ <!-- media.cfg will be stored on genisoimage->{builddir}/{nameid}/{arch} -->
+ <mediacfg>media/media_info/media.cfg</mediacfg>
+ <hdlist>yes</hdlist>
+ <synthesis>yes</synthesis>
+\end{verbatim}
+
+info used by the genisoimage tool
+\begin{verbatim}
+ <header desc="Iso header info">
+ <systemid>XtreemOS Linux</systemid>
+ <volumeid>XOS-2.0-i586</volumeid>
+ <volumesetid>XtreemOS Linux - 2.0 - i586 DVD </volumesetid>
+ <publisherid>XtreemOS</publisherid>
+ <datapreparer>XtreemOS-Linux</datapreparer>
+ <applicationid>XtreemOS Linux - 2.0</applicationid>
+ <copyrightid>XtreemOS Linux</copyrightid>
+ </header>
+\end{verbatim}
+
+genisoimage paramaters
+\begin{verbatim}
+ <genisoimage desc="iso generation tool">
+ <options>-f -r -J -hide-rr-moved -nobak -cache-inodes -no-emul-boot -boot-load-size 4 </options>
+ <bootcat>isolinux/boot.cat</bootcat>
+ <!-- builddir and destdir will always use the workdir -->
+ <builddir>build</builddir>
+ <isodir>iso</isodir>
+ </genisoimage>
+ </iso>
+ </productname>
+\end{verbatim}