The Odin system: an object manager for extensible software environments
The Odin system: an object manager for extensible software environments
On the design of the amoeba configuration manager
SCM '89 Proceedings of the 2nd International Workshop on Software configuration management
Design and use of software architectures: adopting and evolving a product-line approach
Design and use of software architectures: adopting and evolving a product-line approach
Software—Practice & Experience
Caching function calls using precise dependencies
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Maximum RPM
ICSR-7 Proceedings of the 7th International Conference on Software Reuse: Methods, Techniques, and Tools
An Analysis of RPM Validation Drift
LISA '02 Proceedings of the 16th USENIX conference on System administration
Service configuration management
Proceedings of the 12th international workshop on Software configuration management
ICSP'10 Proceedings of the 2010 international conference on New modeling concepts for today's software processes: software process
Hi-index | 0.00 |
Classically, software deployment is a process consisting of building the software, packaging it for distribution, and installing it at the target site. This approach has two problems. First, a package must be annotated with dependency information and other meta-data. This to some extent overlaps with component dependencies used in the build process. Second, the same source system can often be built into an often very large number of variants. The distributor must decide which element(s) of the variant space will be packaged, reducing the flexibility for the receiver of the package. In this paper we show how building and deployment can be integrated into a single formalism. We describe a build manager called Maak that can handle deployment through a sufficiently general module system. Through the sharing of generated files, a source distribution transparently turns into a binary distribution, removing the dichotomy between these two modes of deployment. In addition, the creation and deployment of variants becomes easy through the use of a simple functional language as the build formalism.