@abc.abstractmethod<EOL><INDENT>def install_package(self, package_id):<DEDENT>
return<EOL>
Installs a package at a default site.

        :param package_id: an ``Id`` of a ``Package``
        :type package_id: ``osid.id.Id``
        :return: the resulting ``Installation``
        :rtype: ``osid.installation.Installation``
        :raise: ``AlreadyExists`` -- package is already installed
        :raise: ``NotFound`` -- ``package_id`` is not found
        :raise: ``NullArgument`` -- ``package_id`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``PermissionDenied`` -- authorization failure

        *compliance: mandatory -- This method must be implemented.*