diff options
Diffstat (limited to 'doc/conf.xml.tex')
-rw-r--r-- | doc/conf.xml.tex | 365 |
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} |