Skip to main content

Integrating Software Construction and Software Deployment

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2649))

Abstract

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Feldman, S.I.: Make — a program for maintaining computer programs. Software — Practice and Experience 9 (1979) 255–65

    Article  MATH  Google Scholar 

  2. Bailey, E.C.: Maximum RPM. Sams (1997)

    Google Scholar 

  3. Bosch, J.: Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach. Addison-Wesley (2000)

    Google Scholar 

  4. van den Brand, M.G.J., de Jong, H.A., Klint, P., Olivier, P.: Efficient annotated terms. Software—Practice and Experience 30 (2000) 259–291

    Article  Google Scholar 

  5. de Jonge, M.: To Reuse or To Be Reused. PhD thesis, University of Amsterdam (2003)

    Google Scholar 

  6. CollabNet: Subversion home page. http://subversion.tigris.org (2002)

  7. Miller, P.: Recursive make considered harmful (1997)

    Google Scholar 

  8. Free Software Foundation: Automake home page. http://www.gnu.org/software/automake/ (2002)

  9. Free Software Foundation: Autoconf home page. http://www.gnu.org/software/autoconf/ (2002)

  10. de Jonge, M.: Source tree composition. In: Seventh International Conference on Software Reuse. Number 2319 in Lecture Notes in Computer Science, Springer-Verlag (2002)

    Google Scholar 

  11. Heydon, A., Levin, R., Mann, T., Yu, Y.: The Vesta approach to software configuration management. Technical Report Research Report 168, Compaq Systems Research Center (2001)

    Google Scholar 

  12. Heydon, A., Levin, R., Yu, Y.: Caching function calls using precise dependencies. In: ACM SIGPLAN’ 00 Conference on Programming Language Design and Implementation, ACM Press (2000) 311–320

    Google Scholar 

  13. Clemm, G.M.: The Odin System — An Object Manager for Extensible Software Environments. PhD thesis, University of Colorado at Boulder (1986)

    Google Scholar 

  14. Baalbergen, E.H., Verstoep, K., Tanenbaum, A.S.: On the design of the Amoeba configuration manager. In: Proc. 2nd Int. Works. on Software Configuration Management. Volume 17 of ACM SIGSOFT Software Engineering Notes. (1989) 15–22

    Google Scholar 

  15. Hart, J., D’Amelia, J.: An analysis of RPM validation drift. In: LISA’02: Sixteenth Systems Administration Conference, USENIX Association (2002) 155–166

    Google Scholar 

  16. The FreeBSD Project: FreeBSD Ports Collection. http://www.freebsd.org/ports/ (2002)

  17. van der Hoek, A.: Integrating configuration management and software deployment. In: Proc. Working Conference on Complex and Dynamic Systems Architecture (CDSA 2001). (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dolstra, E. (2003). Integrating Software Construction and Software Deployment. In: Westfechtel, B., van der Hoek, A. (eds) Software Configuration Management. SCM SCM 2001 2003. Lecture Notes in Computer Science, vol 2649. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-39195-9_8

Download citation

  • DOI: https://doi.org/10.1007/3-540-39195-9_8

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-14036-8

  • Online ISBN: 978-3-540-39195-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics