Es gibt nur zwei wichtige Paketformate, rpm und deb.
Für (Linux-)Programmierer ist es nur ein geringer Mehraufwand deb und rpm Paket zu erstellen. Ich könnte auch unter Debian rpm Pakete erstellen. deb und rpm Pakete sind im Prinzip nur tar.gz Archive mit ein paar speziellen Dateien.
Eine wichtige Datei im deb Paket ist die control Datei, in welche der Maintainer die Infomation reinschreibt von welchen Bibliotheken und / oder Programmen das zu installierende Programm abhängig ist. APT wertet diese Information aus und installiert mit Hilfe von dpkg die eventuell fehlenden Pakete nach.
rpm ist auch nur ein spezielles tar.gz Archiv mit ein paar zusätzlichen Features gegenüber deb Paketen.
Mit welchen Paketverwaltungssystemen diese Abhängigkeiten ( aus der control Daten bei deb Paketen ) aufgelöst werden ist für den Endanwender erstmal egal.
Ob das Programm nach der Installation läuft hängt von der Binärkompatibilät der Distributionen untereinander ab und da gibt es die meisten Probleme wenn sich die Distributionen nicht an die Linux Standard Base halten.