1. A method comprising: obtaining, by a data processing system comprising one or more computers, a standard specification for a software package, the standard specification specifying a plurality of parameters for installing the software package, the software package comprising one or more source files specifying configuration information for installing the software package; converting, by the data processing system, the standard specification into a custom specification for a software deployment tool for deploying the software package on one or more distributed computing systems; installing, by the data processing system, an instance of the software package on a particular computing system running a particular operating system, wherein the particular operating system is the same as an operating system provided by one of the distributed computing systems where the software package is to be deployed; identifying the previously installed instance of the software package installed on the particular operating system; obtaining a configuration file for the previously installed instance of the software package; obtaining a source file from which the configuration file was generated when the previously installed instance of the software package was installed; computing respective differences between the configuration file for the previously installed instance of the software package and the source file from which the configuration file was generated; generating custom configuration parameters for the software package using the computed differences between the configuration file for the previously installed instance of the software package and the source file from which the configuration file was generated; writing, by the data processing system, the determined custom configuration parameters into a custom template; and updating, by the data processing system, the custom specification with the determined custom values for the custom configuration parameters and information associated with the custom template.