APT Meets RPM When Connectiva adapted APT to deal with RPM packages, some changes were introduced to abstract the packaging system specific features into a class. This class is implemented at the Perl level as AptPkg::System, an instance of which may be fetched using the system method of a configuration object. The appropriate system is determined from the "Apt::System" entry or chooses the best of the supported types by scoring each (using things the existence of things like /usr/bin/dpkg, /etc/debian_version and so on). Once you have a system object, it may be used to lock/unlock the packaging system (/var/lib/dpkg/lock) and to return a versioning system object.