# DEB bundle builder

DEB based bundle builder (Ubuntu, Mint, Debian) is shipping Munipack and all supporting utilities in one binary package. It is intended for a peculiar requirement or older distributions. For a standard package, use DEB binary package page. Alternatively, the system-wide installation is possible.

It is supposed to run commands introduced by # as root

    # id
    uid=0(root) ..

and ones denoted by $ as an ordinary user:

    $ id
    uid=12345(user) ...

## 1 Introduction

This page describes how to build a DEB bundle binary package for Munipack.

All steps has been verified under latest Debian 7.4 and Ubuntu 14.04 releases. Building under different distributions or releases may require some code adaptations.

## 2 Prerequisites

Following system tools are required for the building:

- Fortran 95 and C++ compilers
- GTK+ development library (GUI)
- Minpack
- Imagemagick (scaling images in docpages)
- debhelper (creating of deb packages)
- Mercurial, the version control system

These tools could be installed by the command (valid for Debian, modify by your needs):

    # aptitude install gfortran g++ libgtk2.0-dev minpack-dev debhelper imagemagick autoconf mercurial

For Ubuntu, use:

    $ sudo apt-get install gfortran g++ libgtk2.0-dev minpack-dev debhelper imagemagick autoconf mercurial

## 3 Getting sources

Create a directory containing distribution packages in your home

    $ mkdir ~/dist

and put latest sources (as .tar.gz or .tar.bz2) of following packages here:

- cfitsio library
- wxWidgets library (version >= 3.0.0, Important!)
- libpng library
- rawtran
- fitspng
- munipack

Optional:

- konve
- picko

## 4 Building

Create a working directory in your home and switch to it:

    $ mkdir ~/tmp
    $ cd ~/tmp

Extract the script for building:

    ~tmp/$ tar zxf ~/dist/munipack-0.5.5.tar.gz --strip-components=2  --wildcards '*/dist/dbuilder.sh'

and than run the build script:

    ~/tmp$ ./dbuilder.sh ~/dist >& log

Building takes some time (~30 min), have a cup of tea.

Both ~/dist and ~/tmp directories are no more used and ones can be safety removed after building. Ones can by placed anywhere.

## 5 Installing and removing

If your are lucky person and previous steps has been successful, the final DEB package should be found as ~/tmp/munipack-0.5.5-amd64.deb (the architecture flag will different on i686 architecture, of course).

Now, Munipack should be installed under Debian simply as

    # dpkg -i munipack-0.5.5-amd64.deb

and under Ubuntu:

    $ sudo dpkg -i munipack-0.5.5-amd64.deb

Uninstalled by the way:

Debian:

    # dpkg -r munipack

Ubuntu:

    $ sudo dpkg -r munipack

The final package can be copied and installed on machines with a compatible distribution. Dependencies are satisfied automatically.

To enable RAW support, consider installation of dcraw.

## 6 Latest Sources

(Valid for 0.5.5preX)

This part is completely optional and recommended just only for experienced geeks which are desired in latest development. Please, expect that latest sources could require a little bit different versions of some libraries listed in section 3 (Getting sources).

To get, the source tree of Munipack, follow instructions for Mercurial or try:

    $ cd ~/dist
    ~/dist$ hg clone https://integral.physics.muni.cz/hg/munipack munipack-0.5.5preX/

Note, the version number should be usually tuned (0.5.5preX is just for example).

To init source tree, just edit version string:

    ~/dist$ cd munipack-0.5.5preX/
    ~/dist/munipack-0.5.5preX$ editor configure.ac # set version: AC_INIT( ..0.5.5preX ..)
    ~/dist/munipack-0.5.5preX$ ./bootstrap [path to wxwin.m4]

and create the distribution tarball as

    ~/dist/munipack-0.5.5preX$ cd ..
    ~/dist$ tar zcf munipack-0.5.5preX.tar.gz munipack-0.5.5preX/ --exclude ".hg/*"

Then follow step: 4 Building.