Claims
- 1. In a computer, a method of processing one or more software dependencies, the method comprising:
for one or more of the software dependencies, determining whether software associated with the software dependency is present on the computer; and responsive to determining the software associated with the software dependency is not present on the computer, acquiring the software associated with the software dependency; wherein at least one of the software dependencies refers to a list comprising one or more other software dependencies.
- 2. The method of claim 1 wherein acquiring the software associated with the software dependency comprises acquiring a file comprising the list comprising one or more other software dependencies.
- 3. The method of claim 1 wherein acquiring the software associated with the software dependency comprises acquiring a list of one or more files from a remote location and acquiring the files in the list.
- 4. The method of claim 1 wherein one or more of the software dependencies is associated with a location whereat the list of other software dependencies can be found.
- 5. The method of claim 1 further comprising:
after acquiring the software associated with the software dependency, updating a database at the computer indicating the software associated with the software dependency is installed on the computer, wherein the database is operable to indicate whether a plurality of software components are installed via a single name associated with the plurality of software components.
- 6. The method of claim 1 further comprising:
after acquiring the software associated with the software dependency, updating a database at the computer indicating the software associated with the software dependency is installed on the computer, wherein the database is operable to indicate whether a plurality of software dependencies are installed via a single name associated with the plurality of software dependencies.
- 7. The method of claim 1 wherein:
one or more dependencies in the list of software dependencies is associated with a version number; and determining the dependency is not present on the computer comprises determining software satisfying the version number is not present on the computer.
- 8. The method of claim 7 wherein at least two software dependencies are associated with different version numbers.
- 9. The method of claim 1 wherein at least one of the dependencies specifies a plurality of software items forming a software package.
- 10. The method of claim 9 wherein the software package comprises a mixture of native code components and Java classes.
- 11. The method of claim 1 wherein acquiring dependencies is deferred until execution of software associated with the dependencies is requested.
- 12. A computer-readable medium comprising computer-executable instructions for performing at least the following to process one or more software dependencies in a computer:
for one or more of the software dependencies, determining whether software associated with the software dependency is present on the computer; and responsive to determining the software associated with the software dependency is not present on the computer, acquiring the software associated with the software dependency; wherein at least one of the software dependencies refers to a list comprising one or more other software dependencies.
- 13. In a computer, a method of specifying a software dependency, the method comprising:
specifying a name of the software dependency; wherein the name is operable to identify a list of one or more other software dependencies.
- 14. The method of claim 13 wherein the software dependency is indicated by a name, and the name is associated with a software package comprising a plurality of software components.
- 15. The method of claim 13 wherein the software dependency is associated with a software package depending on at least one other software package.
- 16. The method of claim 13 wherein the software dependency is indicated by a version, the method further comprising:
comparing the version for the software dependency against a version of software installed at a computer; and responsive to determining the version installed at the computer is not sufficient, acquiring the version for the software dependency.
- 17. In a computer, a method of processing a name designating software, the method comprising:
consulting a database to see if software associated with the name is already installed at the computer; and responsive to determining software associated with the name is not already installed at the computer, acquiring the specified software; wherein the name is operable to specify a plurality of software components.
- 18. The method of claim 17 wherein the plurality of software components is divided among a plurality of files.
- 19. The method of claim 17 wherein the plurality of software components comprises a plurality of files.
- 20. The method of claim 17 wherein
the name is operable to specify a plurality of different software components; and different versions are associated with the different software components.
- 21. The method of claim 17 wherein acquiring the specified software comprises recursively processing software dependencies associated with the name to find one or more other software dependencies associated with names designating software.
- 22. The method of claim 17 wherein the name is operable to specify a list of one or more software dependencies, the method further comprising:
for at least one software dependencies, determining software associated with the dependency is already installed at the computer, wherein the dependency specifies a plurality of software components.
- 23. The method of claim 17 wherein acquiring the specified software comprises identifying an other name associated with a plurality of software components, and acquiring the plurality of software components associated with the other name.
- 24. A computer-readable medium comprising a computer software package of a nestable software package format, wherein the software package format comprises:
a package name; a list of dependencies, wherein the list of dependencies is operable to specify one or more other software packages on which the software package depends, wherein at least one of the other software packages is associated with another package name and another list of dependencies and is also of the nestable software package format.
- 25. The computer-readable medium of claim 24 wherein the nestable software package format is operable to specify one or more components required by the software package.
- 26. The computer-readable medium of claim 24 wherein the nestable software package format is operable to specify a remote location from which one or more components required by the software package can be obtained.
- 27. A computer-readable medium comprising a software distribution package for installing software at a computer, wherein the software distribution package comprises:
one or more items for installation at the computer; a dependency list indicating one or more items depended on by the software, wherein at least one of the items on the dependency list is not contained in the package, and the software package indicates a remote location from which the item can be obtained; wherein the items are specified in the dependency list by a name operable to specify a plurality of additional items.
- 28. A computer system for executing a software package comprising a specified list of one or more dependencies, the computer system comprising:
a database indicating the installation status of one or more software components; a software package manager operable to resolve the specified list of one or more dependencies by consulting the database to determine whether a dependency is installed and further operable to acquire a dependency determined as not installed; wherein the software package manager is operable to process at least one item in the specified list of dependencies referring to an other list of dependencies.
- 29. The computer system of claim 28 wherein the software package manager is further operable to acquire a file at a remote location indicating the other list of dependencies.
- 30. The computer system of claim 28 wherein the other list of dependencies is specified via an URL.
- 31. The computer system of claim 28 further comprising a browser;
wherein the software package manager is operable to initiate execution of a software package as directed by the browser upon encountering HTML tags indicating the specified list of dependencies.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of Forbes et al., U.S. patent application Ser. No. 09/099,570, filed Jun. 19, 1998, entitled, “Software Package Management,” which is hereby incorporated herein by reference.
[0002] This application is related to U.S. patent application Ser. No. 08/764,040, entitled AUTOMATIC SOFTWARE DOWNLOADING FROM A COMPUTER NETWORK, filed on Dec. 12, 1996, and assigned to the assignee of the present application.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09099570 |
Jun 1998 |
US |
Child |
10071526 |
Feb 2002 |
US |