A command-line tool for generating 32-bit and 64-bit binary installers (*.run) for software. Installer is packaged using makeself with gzip compression. It can install files, dependency packages, and execute pre/post-install scripts. Supports distributions based on Debian (apt), Arch (pacman) and Fedora (yum).
- Set up pbuilder on an Ubuntu-based distribution
- Set up a build environment for building Vala files
sudo apt install gdebi aptitude curl pigz pv diffuse geany geany-plugins valac build-essential pbuilder autotools-dev automake libgtk-3-dev libgee-0.8-dev libsoup2.4-dev libjson-glib-dev makeself
- Build and install Sanity by running
sh build-stubs.sh && make all && sudo make install-all
. - Check installed version:
sanity --version
- Create a project folder
<basepath>
- Copy files for installation to path
<basepath>/files
. Contents of this directory will be copied to filesystem root/
by the installer. - Create text file named
sanity.config
inbasepath
. A sample file is shown below:
app_name: Aptik
depends_debian: libgee-0.8-2 libjson-glib-1.0-0 rsync
depends_redhat: libgee json-glib rsync
depends_arch: libgee json-glib rsync
depends_generic: libgee json-glib rsync
assume_yes: 0
exec_line: pkexec aptik
-
(Optional) Place pre-install and post-install scripts in
<basepath>
. Scripts should be namedpreinst.sh
andpostinst.sh
. -
Generate installers using syntax:
sanity --generate --base-path <basepath> --out-path ./ --arch i386 sanity --generate --base-path <basepath> --out-path ./ --arch amd64