<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def package_path(cls, root, path):
 """Returns a normalized package path constructed from the given path and its root. A remote package path is the portion of the remote Go package's import path after the remote root path. For example, the remote import path 'https://github.com/bitly/go-simplejson' has a remote root of 'https://github.com/bitly/go-simplejson' and there is only 1 package in that remote root. The package path in this case is '' or '.' and is normalized to ''. Some remote roots have no root package and others have both a root and sub-packages. The remote root of 'github.com/docker/docker' is an example of the former. One of the packages you might import from it is 'github.com/docker/docker/daemon/events' and that package has a normalized remote package path of 'daemon/events'. :param string root: The portion of `path` pointing to the go source code root. This would be `src` under a standard $GOPATH root. :param string path: The full path to the package. This would be the full path to the package directory relative to the $GOPATH. :raises: `ValueError` if the path does not lay within the root. """

    package_path = os.path.relpath(path, root)
    return cls.normalize_package_path(package_path)