Changes between Version 6 and Version 7 of DistributionPackaging


Ignore:
Timestamp:
Nov 11, 2006, 3:48:38 PM (19 years ago)
Author:
Bruno Cornec
Comment:

description of svn2build

Legend:

Unmodified
Added
Removed
Modified
  • DistributionPackaging

    v6 v7  
    1414}}}
    1515
    16 Then depending on your distribution you'll have to follow one of the following recipe:
     16== Package build process ==
    1717
    18 == Debian ==
    19 
    20 (Note from Bruno: Andree, it's probably outdated, and I think the RPM procedure also works here)
    21 
    22  1. for mondo package, cd into mondo directory and run ./bootstrap
    23  2. rename package directory: <package>-<latest release><branch><yymmdd>[[BR]]
    24     '''Note:''' <branch> = 'bt' for berlios trunk and 'bb' for berlios branch
    25  3. create tarball: tar cvzf <package>_<latest release><branch><yymmdd>.orig.tar.gz <package>-<latest release><branch><yymmdd>
    26  4. create new directory <package>-<latest release><branch><yymmdd>-1
    27  5. copy tarball in new directory and unpack there
    28  6. cd into tarball directory
    29  7. copy debian directory from last package
    30  8. dch --newversion <latest release><branch><yymmdd>-1
    31  9. build ;-)
    32 
    33 == Ubuntu ==
    34 
    35 You will need to rebuild the packages, though (mainly because of library
    36 differences):
    37 
    38  1. get <prg_ver>.dsc, <prg_ver>.orig.tar.gz and <prg_ver>.diff.gz files
    39  2. unpack source with dpkg-source -x <program>.dsc
    40  3. change into new directory <prg-ver>
    41  4. run dpkg-buildpackage -rfakeroot -us -uc
    42  5. install all missing packages for building and repeat
    43  6. install using dpkg -i <prg_ver>.deb
    44  7. if this fails install all missing binary dependencies and repeat
    45 
    46 You need to do this for mindi, mondo and mindi-busybox.
    47 
    48 (On Ubuntu I suggest to use sudo bash to get a root shell rather than
    49 sudo'ing every command.)
    50 
    51 == RPM Based Distributions ==
    52 
    53 This has currently only be tested with !RedHat Enterprise Linux 3 and 4, Fedora Core 4/5, SLES 9, !OpenSuSE 10 and Mandriva 10.2/2005 and 2006.0
    54 
    55 From the sources rpm packages the nearest from your distro (that you can get from ftp://ftp.mondorescue.org), you may build packages for your target distribution by doing:
    56 
    57 {{{
    58 # rpm -ivh mindi*.src.rpm mondo*.src.rpm
    59 # rpmbuild -ba /usr/src/*/SPECS/mondo.spec
    60 # rpmbuild -ba /usr/src/*/SPECS/mindi.spec
    61 # rpmbuild -ba /usr/src/*/SPECS/mindi-busybox.spec
    62 # rpm -ivh /usr/src/*/RPMS/i?86/mondo*.i?86.rpm /usr/src/*/RPMS/i?86/mindi*.i?86.rpm
    63 }}}
    64 
    65 Or from the stable SVN tree extracted:
     18This is currently working for all distributions mentioned in the file tools/DISTROS (except Slackware)
     19From the stable SVN tree extracted you need to launch:
    6620
    6721{{{
     
    6923}}}
    7024
    71 which will create for you a build directory (under ../../build/stable-1) with the tar files containing the version expanded
     25which will create for you a build directory (under ../../build/stable-1) with the tar files containing the version expanded. The way svn2build works is the following:
     26 * It first computes the $TOOLHOME variable which is the location of the tools directory in the SVN tree
     27 * It then source commen-env, which sets up and creates 2 variables $TOPDIR for the delivery of the files/packages and $MONDOTMP for temporary files
     28 * It then source svn-env which creates 3 variables $VER which is mondo version, $REVISION which is the current SVN revision and finaly $TAG which is our package tag (what is after the - in an rpm/deb).
    7229
    7330then you can call
     
    10865}}}
    10966
     67== RPM rebuild process ==
     68
     69From the sources rpm packages the nearest from your distro (that you can get from ftp://ftp.mondorescue.org), you may build packages for your target distribution by doing:
     70
     71{{{
     72# rpm -ivh mindi*.src.rpm mondo*.src.rpm
     73# rpmbuild -ba /usr/src/*/SPECS/mondo.spec
     74# rpmbuild -ba /usr/src/*/SPECS/mindi.spec
     75# rpmbuild -ba /usr/src/*/SPECS/mindi-busybox.spec
     76# rpm -ivh /usr/src/*/RPMS/i?86/mondo*.i?86.rpm /usr/src/*/RPMS/i?86/mindi*.i?86.rpm
     77}}}
     78
     79== File rebuild process ==
     80
     81From the tar.gz files available under ftp://ftp.mondorescue.org/src, you may build and install MondoRescue by doing for each package:
     82
     83{{{
     84# tar xvfz mondo*tar.gz
     85# cd mondo*
     86# ./configure
     87# make
     88# make install
     89# cd ..
     90# tar xvfz mindi-busybox*tar.gz
     91# cd mindi-busybox*
     92# ./configure
     93# make
     94# make install
     95# cd ..
     96# tar xvfz mindi-[0-9]*tar.gz
     97# cd mindi-[0-9]*
     98# ./install.sh
     99# cd ..
     100}}}
     101
    110102== Location of mondo and mindi Files ==
    111103