63.5 Debian Initiating the Package

The first task is to set up the information required for the Debian packaging system. Extract the distribution:

  $ cd ../../debian/wajig
  $ tar zxvf wajig-2.0.20.tar.gz

This will create the wajig-2.0.20 subdirectory. %Change into %this directory and then configure and compile the application: %

%  $ cd wajig-2.0.20
%  $ ./configure
%  $ make
%```

Now run `dh_make` to set things up for Debian:

```bash
  $ cd wajig-2.0.20
  $ dh_make -e kayon.toga@togaware.com -f ../wajig-2.0.20.tar.gz

You will be asked what kind of package to create and since wajig is a single binary package we choose s.

This has now created a debian subdirectory and copy of the original distribution in ../wajig-2.0.20.orig.tar.gz.

Note that you should only ever run dh_make once to create a Debian package.

Now edit the files in the debian subdirectory to tell Debian the appropriate information about the package.

63.5.1 control

The default debian/control file begins as:

Source: wajig
Section: unknown
Priority: optional
Maintainer: Kayon Toga <Kayon.Toga@togaware.com>
Build-Depends: debhelper (>= 4.0.0)
Standards-Version: 3.6.1

Package: wajig
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: <insert up to 60 chars description>
 <insert long description, indented with spaces>

This is edited to become:

Source: wajig
Section: admin
Priority: optional
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Build-Depends-Indep: debhelper (>= 4.0.0), python2.3-dev (>= 2.3-1), python-dev
Standards-Version: 3.6.1.1

Package: wajig
Architecture: all
Depends: ${python:Depends}, apt, python-apt
Suggests: wget, fping, debconf, reportbug, apt-move, dpkg-repack, alien, fakeroot, gkdebconf, lynx, python-gtk2, python-glade2, python-gnome2, gnome-terminal, base-config, deborphan, vrms, sudo
Description: simplified Debian package management front end
 Wajig is a single commandline wrapper around apt, apt-cache, dpkg,
 /etc/init.d scripts and more, intended to be easy to use and providing 
 extensive documentation for all of its functions. 
 . 
 With a suitable sudo(1) configuration, most (if not all) package installation
 as well as creation tasks can be done from a user shell. Wajig is also 
 suitable for general system administration. 
 . 
 Since release 2.0.0, a GUI command 'gjig' is also included in the package. 


Your donation will support ongoing availability and give you access to the PDF version of this book. Desktop Survival Guides include Data Science, GNU/Linux, and MLHub. Books available on Amazon include Data Mining with Rattle and Essentials of Data Science. Popular open source software includes rattle, wajig, and mlhub. Hosted by Togaware, a pioneer of free and open source software since 1984. Copyright © 1995-2022 Graham.Williams@togaware.com Creative Commons Attribution-ShareAlike 4.0