diff options
author | Antoine Ginies <aginies@mandriva.com> | 2010-10-06 07:58:18 +0000 |
---|---|---|
committer | Antoine Ginies <aginies@mandriva.com> | 2010-10-06 07:58:18 +0000 |
commit | b364785ea90e60806aaaec56d15bcc70a74daf6d (patch) | |
tree | da257e1277bd0218929f12fde2e318657067eb16 /doc/bcd.pod | |
parent | 46324a3fd9b86040b16dc3070b3a22438f7a616d (diff) | |
download | bcd-b364785ea90e60806aaaec56d15bcc70a74daf6d.tar bcd-b364785ea90e60806aaaec56d15bcc70a74daf6d.tar.gz bcd-b364785ea90e60806aaaec56d15bcc70a74daf6d.tar.bz2 bcd-b364785ea90e60806aaaec56d15bcc70a74daf6d.tar.xz bcd-b364785ea90e60806aaaec56d15bcc70a74daf6d.zip |
end of the move
Diffstat (limited to 'doc/bcd.pod')
-rw-r--r-- | doc/bcd.pod | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/doc/bcd.pod b/doc/bcd.pod new file mode 100644 index 0000000..237d929 --- /dev/null +++ b/doc/bcd.pod @@ -0,0 +1,158 @@ +=head1 NAME + +bcd tools - A simple program to generate Mandriva's ISO + +=head1 SYNOPSIS + +bcd configuration.xml [options] + +=cut + +=head1 OPTIONS + +=over 8 + +=item B<First arg must be:> + + The XML configuration file + +=item B<Second arg must be:> + + stagex: update the stage1/stage2 in builddir + isolinux: update the isolinux in builddir + clean: clean the builddir and isodir + media: create the list of wanted packages, create all media in builddir, + link/copy packages in builddir/media, create the media.cfg, + and generate the hdtlist/synthesis + gendistrib: create the hdlists/synthesis in builddir (depends on the based_on tag) + rpmcheck: check the hdlist in the buildir + list: list all media and list of input/exclude (from the xml conf file) + mediarepo: list all medias availables in the repositery + checkrepo: rpmcheck main hdlists in the repositery + all: run all stage in order to get an ISO + md5: create MD5 sum of the ISO + resign: resign all rpms with a password and a gpg file + clean: clean previous urpmq log file + doble: check doble rpm in the media build_dir + kernel: compare kernel and keep the latest one + nodoble: don't check doble rpm in the media build_dir + html: generate a log report web page + info: parse the configuration file (usefull to check the XML syntax) + iso: create the final ISO from the builddir + verbose: be more verbose + +=item B<extra arg:> + + noiso: don't build the iso (md5, isohybrid) in case of 'all' process + copy: copy rpm instead of link them from the repositery + +=back + +=head1 EXAMPLES + +the folowing example will do all step to create an ISO: + + bcd mdv-20091.xml all + +the following example will create the build dir without creating ISO: + bcd.pl mdv-20091.xml all noiso + +same as above but copy packages instead of link them from the repositery: + bcd.pl mdv-20091.xml all noiso copy + +the following will update the isolinux in the build directory: + bcd.pl mdv-20091.xml isolinux + +to check the main hdlist in the repositery with rpmcheck + bcd.pl mdv-20091.xml checkrepo + +clean the builddir and isodir + bcd.pl mdv-20091.xml clean + +=cut + +=head1 COPYRIGHT + +Copyright (C) 2009-2010 Mandriva <aginies_@_mandriva.com> + +=cut + +=head1 DESCRIPTION + +BCD is used to create Mandriva ISO. +features are: +- configuration file is in XML format +- use of genhdlist2 with file-deps +- support the add of an isolinux entry +- change the theme on all.rdz files +- just need an input and an exclude file for package list +- write media.cfg +- support of custom rpmsrate of compssusers.pl +- support of custom advertising +- support of custom stage2 +- extra filter to remove doble packages (keep latest version) +- all sub-media supported (updates, testing...) +- create the iso HEADER +- use of urpmq to calculate deps/conflicts/suggests +- support of no-suggests option per media +- support extra external media with hdlists +- create an md5 file +- create a product.id file +- create a VERSION file +- speed up the process using previous urpmq --requires-recursive query + +=cut + +=head1 USER conf + +Your user must have some sudo root right to be able to use chroot, urpmi, +rm, mount umount tools. IE: for user plop in /etc/sudoers file + + plop ALL=(root) NOPASSWD:/bin/mount, /bin/umount, \ + /usr/sbin/chroot, \ + /usr/sbin/urpmi, \ + /usr/sbin/urpmi.addmedia, \ + /usr/sbin/urpmi.removemedia, \ + /bin/rm + +Moreover to speed up the process, each urpmq --requires-recursive queries +will be stored in /var/lib/bcd/ directory, so you should add an access to +this directory for the user you use. + + chown plop.users /var/lib/bcd/ + +=cut + +=head1 LISTS + +input list: +list of rpm needed on the CD. Those list should contains the name +or the provides of a package. You may also use a CAT_XXX from the +rpmsrate file, with the wheigth parameter. + + ie: of lists/input_main + INSTALL 1 + CAT_X 1 + CAT_GNOME 1 + CAT_AUDIO 1 + aumix + task-lxde + +exclude list: +list of unwanted packages on the CD. Be carreful to do not exclude mandatory packages +or you CD will be unusable. Rpmcheck will report any bug in hdlists at the end of +the 'media' step process. Packages listed in exclude list will be removed from the +DVD at the end of the build process. + +extra-filter: +list of RPM you want to do not compare and the keep the latest one. +Usefull if you want to keep more than one version of a package. + +=cut + +=head1 ISSUE + + - if you want to build ISO for x86_64 you must used an x86_64 system (due to urpmi) + - if hdlist/synthesis are corrupted in your repositery, you can't build ISO + +=cut |