Debian packaging basics aren&#x27;t hard once you know them, but starting from scratch, it&#x27;s hard to collate the information. There&#x27;s lots of stale information out there (including the debian wiki) and disagreement about how to do it - debuild? dh_make? dpkg directly? tar&#x2F;ar manually?<p>Similarly, if you want a package up something without a Makefile, you may as well go home. My first packaging attempt was basically to install a tarball at a location (in-house use only), and it wasn&#x27;t clear that I had to make a Makefile to do this first. And then you get introduced to the bizarre world of make with all of it&#x27;s idiosyncratic rules and behaviours.<p>Then you get to play with all the dpkg control files, and if you&#x27;re using debuild, you have to avoid the lintchecker - because you can override lint rules... but the lint profile then disables overrides for some useful ones (the &quot;install to &#x2F;opt&quot; rule gives me lots of spam). So now you need to learn about the lint-checker so you can do your own profile (or just disable it).<p>Then, as takluyver says above, you get to add it to a repo so systems can access it...<p>Once you know all this stuff, it seems pretty simple, but getting over that hump is difficult.