I would also say that dnf and zypper are better package managers than apt, in as much as they are faster and easier to automate. Compare the code here:
https://github.com/libguestfs/libguestfs/blob/1.29.43/custom...
Here is a relative simple package, done for both RPM and .deb. The RPM spec is 141 lines (excluding the changelog):
http://pkgs.fedoraproject.org/cgit/virt-top.git/tree/virt-to...
The .deb is actually shorter in this case, but split over several files, and uses cdbs which I find infuriating with its lack of documentation and multiple hidden implicit rules. If you have a Debian machine around, try reading the /usr/share/cdbs/1/ files some time. Remember also that for most Debian packages, the files come in a tarball or even a patch, which makes them hard to manipulate without obscure deb-* commands.
https://anonscm.debian.org/cgit/pkg-ocaml-maint/packages/vir...