1. A method comprising: generating repository metadata for multiple instances of an operating system or an executable application for identifying files and packages associated with each instance; storing the generated repository metadata associated with the multiple instances of the operating system or the executable application in a repository; receiving file information including a file identifier; receiving provisioning metadata characterizing a target environment in which a runtime environment is to be provisioned for an instance of the operating system or the executable application; using the file identifier to identify a plurality of files associated with the file identifier within the repository; reading repository metadata associated with each of the plurality of files, the read repository metadata including package metadata identifying a package of which each of the plurality of files is a member; comparing the repository metadata to the provisioning metadata, wherein comparing comprises comparing the target environment and the package metadata for each of the plurality of files; and selecting one of the plurality of files based on the comparison for provisioning in the runtime environment based the comparison of the target environment and the package metadata for each of the plurality of files.