Skip to content

How to create debian control files

artmg edited this page Nov 3, 2015 · 4 revisions

This page documents the steps for creating the debian control files required for the packaging launchpad packaging process (as well, presumably, as any other debian package creation mechanism).

NB: perhaps we need to revisit these to use pbuilder for a clean chroot, so that all the dependencies can easily be removed once compiling is complete.

These have been tested on Lubuntu 15.04

### set up your computer ###

# install required packages
sudo apt-get install -y dh-make git-core 


### copy the repo locally ###

# If you have not already cloned the github repo locally, do this now
git clone https://github.com/artmg/Nixnote2.git
cd Nixnote2

# otherwise fetch any new commits from the forked
git fetch origin


### get changes from the repo this was forked from ###

# check whether you have already linked to the upstream repo 
git remote -v
# if not then add
git remote add upstream https://github.com/baumgarr/Nixnote2.git

# fetch new commits from upstream (where this repo was forked from)
git fetch upstream


### identify yourself ###

git config --global user.email "[email protected]"
git config --global user.name "Your Name"


### update the fork from the upstream ###

# sync these upstream commits into the master for this forked repo
git checkout master
git merge upstream/master
# and push these changes back up
git push origin master


### now use the 


# dh-make option switches - USED
# 
# -p, --packagename  - specify name_version in place of directory name
# -i, --indep  - package class is arch-independent binary
#
# --createorig  - not sure whether the version 1.20140617 uses this switch
#
# NOT USED 
#
# -a, --addmissing   - Adds missing example and control files existing debian source directory
# -d, --defaultless   - Skips applying default templates to target debian directory

DEBFULLNAME="Randy Baumgarte" \
dh_make --createorig --packagename nixnote2_2.0-beta \
--indep --copyright gpl2 \
--email [email protected]

# only take changelog,compat,rules,control from debian folder
# credit - https://faceted.wordpress.com/2011/05/18/howto-build-a-trivial-debian-package-with-dh_make/

mkdir ../debian-from-dh-make
mv debian/{changelog,compat,rules,control} ../debian-from-dh-make

If all this fails then try the longer-winded approach from

https://bhavyanshu.me/how-to-make-debian-packages-for-qt-c-based-applications/11/10/2014/