RetroShare/build_scripts/Debian+Ubuntu
csoler 4e769022df updated ubuntu changelog
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8426 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-14 08:27:10 +00:00
..
data updated packaging scripts. Disabled libssh, protobuf; enabled webui, added dependencies in libmicrohttpd 2015-04-30 18:52:42 +00:00
debian fixed VOIP linkage for ubuntu distributions (thx to Phenom) 2015-06-09 16:56:37 +00:00
debian.gxs renamed packaging scripts, removed binary package scripts 2015-01-10 12:52:27 +00:00
changelog updated ubuntu changelog 2015-06-14 08:27:10 +00:00
clean.sh renamed packaging scripts, removed binary package scripts 2015-01-10 12:52:27 +00:00
control.precise fixed VOIP linkage for ubuntu distributions (thx to Phenom) 2015-06-09 16:56:37 +00:00
control.squeeze_bubba3 additional fix to packaging on squeeze 2015-05-03 12:06:43 +00:00
control.ubuntu_lucid renamed packaging scripts, removed binary package scripts 2015-01-10 12:52:27 +00:00
full_packaging_pipeline.sh renamed packaging scripts, removed binary package scripts 2015-01-10 12:52:27 +00:00
make_tgz.sh renamed packaging scripts, removed binary package scripts 2015-01-10 12:52:27 +00:00
make.sh renamed packaging scripts, removed binary package scripts 2015-01-10 12:52:27 +00:00
makeSourcePackage.sh fixed bugs in packaging scripts 2015-04-30 20:03:38 +00:00
ppa_upload.sh updated packaging scripts. Disabled libssh, protobuf; enabled webui, added dependencies in libmicrohttpd 2015-04-30 18:52:42 +00:00
README.txt renamed packaging scripts, removed binary package scripts 2015-01-10 12:52:27 +00:00
retroshare_ppastatistics.py renamed packaging scripts, removed binary package scripts 2015-01-10 12:52:27 +00:00

This directory contains the material for building a debian/ubuntu source package from 
the svn repository of RetroShare. The various files here are:

  BaseRetroShareDirs.tgz: basic directory structure. Does not contain any source file.
  makeSourcePackage.sh  : main script. Produces source binary debian package (.dsc+.tgz files)
                          from the base directory structure and the sources in the svn repository.
  clean.sh              : compiles the source package. Produce a binary pkg for a given ubuntu distribution
  make_tgz.sh           : rebuilds the basic directory structure if some config/debian files where modified
                          in the retroshare-0.5 directory

The pipeline is the following:

      [This directory]   =>    [Create a source package]   =>   [Compile the package for various ubuntu/debian and various arch]

How do I create a source package?
=================================

   Use the script!

      > ./makeSourcePackage.sh  [-h for options]

      The script gets the svn number, grabs the sources from the svn
      repository, removed .svn files from it, and calls debuild to create a
      source package. 

      You might:
         - specify a given svn revision (usually not needed)
         - specify a list of distribs to build for

      Example:

         > ./makeSourcePackage.sh -distribution "precise wheezy trusty"

      You should get as many source packages as wanted distributions. For each
      of them you get (example here for wheezy):

         retroshare06_0.6.0-0.7829~wheezy.dsc
         retroshare06_0.6.0-0.7829~wheezy_source.build
         retroshare06_0.6.0-0.7829~wheezy_source.changes
         retroshare06_0.6.0-0.7829~wheezy.tar.gz
         
How do I create a binary package?
=================================

*Initial steps*

   1 - You need to use/install pbuilder-dist:

      > sudo apt-get install ubuntu-dev-tools
   
   2 - To do once: Init the building environment for each distribution you need:

      > pbuilder-dist wheezy amd64 create

   Then, when needed, keep t up to date (this solved almost all compiling
   issues you might have:

      > pbuilder-dist wheezy amd64 update

   3 - For ubuntu distribs, add a ppa dependency for sqlcipher:

      * add this line to ~/.pbuilderrc: OTHERMIRROR="deb http://ppa.launchpad.net/guardianproject/ppa/ubuntu precise main"
      * add the ppa to the build environment:

         > pbuilder-dist precise login --save-after-login
         # apt-key adv --keyserver pgp.mit.edu --recv-keys  2234F563
         # exit
         > pbuilder-dist precise update --release-only         # the --release-only is really required!

*Package compilation*

      > pbuilder-dist wheezy build retroshare06_0.6.0~7856~wheezy.dsc

   The generated compiled binary packages (including all package plugins etc)
   will  be in ~/pbuilder/wheezy_result/