1. Don&#x27;t use a million dependencies that aren&#x27;t already included in the majority of distributions. As a packager, I have no desire to maintain 20 complicated libraries you decided to depend on just to include your application in the package collection. A couple is fine, and the flatter your dependency tree is the less painful it is for a package maintainer to deal with. If you must include a dependency then please keep the transitive ones under control!<p>2. Use a standard build&#x2F;packaging system. autotools, cmake, scons, setuptools&#x2F;distutils, maven, gem (read: not bundler), cpan, etc. Whatever is considered a &quot;standard&quot; way of building and releasing software in the language you are writing it in is acceptable, using hacked together Makefiles and build scripts is generally a quick way to make packagers hate you and not want to waste time getting your software built.<p>3. Don&#x27;t vendor dependencies - if you do then support the use of system-installed libraries in their place. I won&#x27;t package software that insists on vending dependencies, I&#x27;m happy to package an extra library or two but I don&#x27;t have that option if you don&#x27;t support it.<p>4. Please support a standard installation mechanism if at all possible. I can relocate your build artifacts to the buildroot if necessary, but then I have to maintain it as the upstream changes - and distributions may be inconsistent with each other. If you are using a standard build system this should come for practically free unless you&#x27;ve done some nasty hacks, in which case please reconsider the modifications you have made.<p>Debian packaging is pretty simple but I find the decision to use Makefile&#x27;s for debian&#x2F;rules to be a little annoying. rpmspec&#x27;s are a lot clearer and rpm macro&#x27;s are a lot easier to intuit since you can easily use rpmspec -e to see what they expand to, versus the blackbox that is the debhelper scripts sometimes.<p>If you are new to packaging seriously take a look at making RPM&#x27;s your first stop, rpmdev-newspec has a lot of templates for spec files that make getting started with any project that uses a standard build system super-easy (automake, cmake, python, ruby, perl, etc).