RetroShare/build_scripts/Debian+Ubuntu
Gioacchino Mazzurco 655582e970
Improve license according to REUSE 3.0
FSFE licensing checking program lint is now happy

$ reuse lint

* Bad licenses:
* Missing licenses:
* Unused licenses:
* Used licenses: AGPL-3.0-only, AGPL-3.0-or-later, Apache-2.0, CC-BY-SA-4.0, CC0-1.0, GPL-3.0-or-later, LGPL-3.0-or-later, MIT
* Read errors: 0
* Files with copyright information: 6324 / 6324
* Files with license information: 6324 / 6324

Congratulations! Your project is compliant with version 3.0 of the REUSE Specification :-)
2019-12-18 17:57:20 +01:00
..
debian Improve license according to REUSE 3.0 2019-12-18 17:57:20 +01:00
debian.gxs renamed packaging scripts, removed binary package scripts 2015-01-10 12:52:27 +00:00
changelog updated ubuntu changelog 2018-12-18 20:15:03 +01:00
clean.sh switched version to 0.6.4 2018-02-19 21:49:06 +01:00
control.artful fixed ubuntu packaging scripts for new version computing system 2018-12-18 20:40:38 +01:00
control.bionic fixed ubuntu packaging scripts for new version computing system 2018-12-18 20:40:38 +01:00
control.jessie fixed various problems with 06 suppression in package control files 2017-07-20 22:11:35 +02:00
control.precise fixed various problems with 06 suppression in package control files 2017-07-20 22:11:35 +02:00
control.squeeze_bubba3 fixed various problems with 06 suppression in package control files 2017-07-20 22:11:35 +02:00
control.stretch added info for building/packaging on debian stretch 2017-08-10 10:36:30 +02:00
control.trusty_retrotor added control file for xenial 2018-01-01 22:57:31 +01:00
control.ubuntu_lucid fixed various problems with 06 suppression in package control files 2017-07-20 22:11:35 +02:00
control.xenial fixed ubuntu packaging scripts for new version computing system 2018-12-18 20:40:38 +01:00
control.xenial_retrotor added control file for xenial 2018-01-01 22:57:31 +01:00
control.yakkety fixed various problems with 06 suppression in package control files 2017-07-20 22:11:35 +02:00
control.zesty fixed various problems with 06 suppression in package control files 2017-07-20 22:11:35 +02:00
convert_dos_files_to_unix.sh updated dos->unix convertion script 2015-12-31 17:37:05 -05:00
debian_release_howto.txt modified control file for debian packaging 2018-05-16 13:47:03 +02:00
full_packaging_pipeline.sh Rename retroshare06 to retroshare 2017-07-17 10:45:18 +02:00
gitlog.sh updated ubuntu changelog 2016-11-19 15:03:47 +01:00
how_to_build_for_stretch.txt added info for building/packaging on debian stretch 2017-08-10 10:36:30 +02: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 version numbers in packaging scripts and added proper targets in VOIP and FeedReader plugins 2018-12-18 23:14:14 +01:00
ppa_upload.sh updated ppa_upload.sh to 0.6.4 2018-02-25 11:46:18 +01:00
README.txt Rename retroshare06 to retroshare 2017-07-17 10:45:18 +02:00
retroshare_ppastatistics.py renamed packaging scripts, removed binary package scripts 2015-01-10 12:52:27 +00:00
rules.retrotor fixed dependencies 2017-12-31 18:15:19 +01:00
rules.stretch Switching Debian Stretch builds to QT5. 2016-01-10 16:52:46 +01: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):

         retroshare_0.6.0-0.7829~wheezy.dsc
         retroshare_0.6.0-0.7829~wheezy_source.build
         retroshare_0.6.0-0.7829~wheezy_source.changes
         retroshare_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 retroshare_0.6.0~7856~wheezy.dsc

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