The Purely Functional Software Deployment Model

Total Page:16

File Type:pdf, Size:1020Kb

The Purely Functional Software Deployment Model The Purely Functional Software Deployment Model Het puur functionele softwaredeploymentmodel (met een samenvatting in het Nederlands) Proefschrift ter verkrijging van de graad van doctor aan de Universiteit Utrecht op gezag van de Rector Magnificus, Prof. dr. W. H. Gispen, ingevolge het besluit van het College voor Promoties in het openbaar te verdedigen op woensdag 18 januari 2006 des middags te 12.45 uur door Eelco Dolstra geboren op 18 augustus 1978, te Wageningen Promotor: Prof. dr. S. Doaitse Swierstra, Universiteit Utrecht Copromotor: Dr. Eelco Visser, Universiteit Utrecht The work in this thesis has been carried out under the auspices of the research school IPA (Institute for Programming research and Algorithmics). Dit proefschrift werd mogelijk gemaakt met financiële steun van CIBIT|SERC ICT Adviseurs. Cover illustration: Arthur Rackham (1867–1939), The Rhinegold & The Valkyrie (1910), illustrations for Richard Wagner’s Der Ring des Nibelungen: the gods enter Walhalla as the Rhinemaidens lament the loss of their gold. ISBN 90-393-4130-3 Acknowledgements This thesis could not have come about without the help of many individuals. Foremost I wish to thank my supervisor and copromotor Eelco Visser. He was also my master’s thesis supervisor, and I was quite happy that we were able to continue to work together on the Variability/TraCE project. He shared my eventual interest in configuration management- related issues, and package management in particular. His insights have improved this research and this thesis at every point. The Software Engineering Research Center (SERC), now known as CIBIT|SERC ICT Adviseurs, funded my PhD position. Gert Florijn initiated the variability project and the discussions with him were a valuable source of insights. The results of the present thesis are probably not what any of us had expected at the start; but then again, the nice thing about a term like “variability” is that it can take you in so many directions. My promotor Doaitse Swierstra gave lots of good advice—but I ended up not imple- menting his advice to keep this thesis short. I am grateful to the members of the reading committee—Jörgen van den Berg, Sjaak Brinkkemper, Paul Klint, Alexander Wolf and Andreas Zeller—for taking the time and effort to go through this book. Karl Trygve Kalle- berg, Armijn Hemel, Arthur van Dam and Martin Bravenboer gave helpful comments. Several people have made important contributions to Nix. Notorious workaholic Martin Bravenboer in particular was an early adopter who contributed to almost every aspect of the system. Armijn Hemel (“I am the itch programmers like to scratch”) contributed to Nixpkgs and initiated the NixOS, which will surely conquer the world. René de Groot coined the marketing slogan for NixOS—“Nix moet, alles kan!” Roy van den Broek has replaced my hacky build farm supervisor with something much nicer (and Web 2.0 compli- ant!). Eelco Visser, Rob Vermaas and Merijn de Jonge also contributed to Nixpkgs and the build farm. In addition, it is hard to overestimate the importance of the work done by the free and open source software community in providing a large body of non-trivial modular components suitable for validation. Thanks! The Software Technology group is a very pleasant work environment, and I thank all my current and former colleagues for that. I especially thank my roommates Dave Clarke (“The cause of the software crisis is software”), Frank Atanassow (who demanded “pointable research”), Merijn de Jonge, Martin Bravenboer, Rob Vermaas and Stefan Hold- ermans. Andres Löh, Bastiaan Heeren, Arthur Baars, Karina Olmos and Alexey Rodriguez were more than just good colleagues. Daan Leijen insisted on doing things the right way. The #klaplopers provided a nice work environment in virtual space—though whether IRC is a medium that increases productivity remains an unanswered empirical question. Arthur van Dam and Piet van Oostrum provided valuable assistance in wrestling with TEX. Atze Dijkstra, Bastiaan Heeren and Andres Löh had helpful advice (and code!) for the preparation of this thesis. And finally I would like to thank my family—Mom, Dad, Jitske and Menno—for their support and love through all these years. iii iv Contents I. Introduction 1 1. Introduction 3 1.1. Software deployment . 3 1.2. The state of the art . 6 1.3. Motivation . 13 1.4. The Nix deployment system . 14 1.5. Contributions . 14 1.6. Outline of this thesis . 16 1.7. Notational conventions . 17 2. An Overview of Nix 19 2.1. The Nix store . 19 2.2. Nix expressions . 25 2.3. Package management . 34 2.4. Store derivations . 39 2.5. Deployment models . 42 2.6. Transparent source/binary deployment . 44 II. Foundations 47 3. Deployment as Memory Management 49 3.1. What is a component? . 49 3.2. The file system as memory . 52 3.3. Closures . 55 3.4. A pointer discipline . 56 3.5. Persistence . 59 4. The Nix Expression Language 61 4.1. Motivation . 61 4.2. Syntax . 64 4.2.1. Lexical syntax . 66 4.2.2. Context-free syntax . 67 4.3. Semantics . 71 4.3.1. Basic values . 71 4.3.2. Compound values . 73 v Contents 4.3.3. Substitutions . 75 4.3.4. Evaluation rules . 76 4.4. Implementation . 81 5. The Extensional Model 87 5.1. Cryptographic hashes . 87 5.2. The Nix store . 90 5.2.1. File system objects . 90 5.2.2. Store paths . 92 5.2.3. Path validity and the closure invariant . 95 5.3. Atoms . 97 5.4. Translating Nix expressions to store derivations . 100 5.4.1. Fixed-output derivations . 106 5.5. Building store derivations . 108 5.5.1. The simple build algorithm . 109 5.5.2. Distributed builds . 115 5.5.3. Substitutes . 118 5.5.4. The parallel build algorithm . 121 5.6. Garbage collection . 124 5.6.1. Garbage collection roots . 125 5.6.2. Live paths . 127 5.6.3. Stop-the-world garbage collection . 128 5.6.4. Concurrent garbage collection . 131 5.7. Extensionality . 134 6. The Intensional Model 135 6.1. Sharing . 135 6.2. Local sharing . 139 6.3. A content-addressable store . 140 6.3.1. The hash invariant . 141 6.3.2. Hash rewriting . 143 6.4. Semantics . 145 6.4.1. Equivalence class collisions . 147 6.4.2. Adding store objects . 153 6.4.3. Building store derivations . 155 6.4.4. Substitutes . 157 6.5. Trust relations . 159 6.6. Related work . 159 6.7. Multiple outputs . 160 6.8. Assumptions about components . 162 III. Applications 165 vi Contents 7. Software Deployment 167 7.1. The Nix Packages collection . 167 7.1.1. Principles . 170 7.1.2. The standard environment . 174 7.1.3. Ensuring purity . 179 7.1.4. Supporting third-party binary components . 180 7.1.5. Experience . 181 7.2. User environments . 184 7.3. Binary deployment . 185 7.4. Deployment policies . 187 7.5. Patch deployment . 190 7.5.1. Binary patch creation . 193 7.5.2. Patch chaining . 194 7.5.3. Base selection . 196 7.5.4. Experience . 198 7.6. Related work . 200 8. Continuous Integration and Release Management 209 8.1. Motivation . 209 8.2. The Nix build farm . 212 8.3. Distributed builds . 217 8.4. Discussion and related work . 218 9. Service Deployment 221 9.1. Overview . 222 9.1.1. Service components . ..
Recommended publications
  • Dockerdocker
    X86 Exagear Emulation • Android Gaming • Meta Package Installation Year Two Issue #14 Feb 2015 ODROIDMagazine DockerDocker OS Spotlight: Deploying ready-to-use Ubuntu Studio containers for running complex system environments • Interfacing ODROID-C1 with 16 Channel Relay Play with the Weather Board • ODROID-C1 Minimal Install • Device Configuration for Android Development • Remote Desktop using Guacamole What we stand for. We strive to symbolize the edge of technology, future, youth, humanity, and engineering. Our philosophy is based on Developers. And our efforts to keep close relationships with developers around the world. For that, you can always count on having the quality and sophistication that is the hallmark of our products. Simple, modern and distinctive. So you can have the best to accomplish everything you can dream of. We are now shipping the ODROID U3 devices to EU countries! Come and visit our online store to shop! Address: Max-Pollin-Straße 1 85104 Pförring Germany Telephone & Fax phone : +49 (0) 8403 / 920-920 email : [email protected] Our ODROID products can be found at http://bit.ly/1tXPXwe EDITORIAL ow that ODROID Magazine is in its second year, we’ve ex- panded into several social networks in order to make it Neasier for you to ask questions, suggest topics, send article submissions, and be notified whenever the latest issue has been posted. Check out our Google+ page at http://bit.ly/1D7ds9u, our Reddit forum at http://bit. ly/1DyClsP, and our Hardkernel subforum at http://bit.ly/1E66Tm6. If you’ve been following the recent Docker trends, you’ll be excited to find out about some of the pre-built Docker images available for the ODROID, detailed in the second part of our Docker series that began last month.
    [Show full text]
  • Towards an Application Lifecycle Management Framework
    VTT CREATES BUSINESS FROM TECHNOLOGY Technology and market foresight • Strategic research • Product and service development • IPR and licensing Dissertation VTT PUBLICATIONS 759 • Assessments, testing, inspection, certification • Technology and innovation management • Technology partnership • • • VTT PUBLICATIONS 759 TOWARDS AN APPLICATION LIFECYCLE MANAGEMENT FRAMEWORK AN APPLICATION 759 TOWARDS • VTT PUBLICATIONS VTT PUBLICATIONS 742 Elina Mattila. Design and evaluation of a mobile phone diary for personal health management. 2010. 83 p. + app. 48 p. 743 Jaakko Paasi & Pasi Valkokari (eds.). Elucidating the fuzzy front end – Experiences from the INNORISK project. 2010. 161 p. 744 Marja Vilkman. Structural investigations and processing of electronically and protonically conducting polymers. 2010. 62 p. + app. 27 p. 745 Juuso Olkkonen. Finite difference time domain studies on sub-wavelength aperture structures. 2010. 76 p. + app. 52 p. 746 Jarkko Kuusijärvi. Interactive visualization of quality Variability at run-time. 2010. 111 p. 747 Eija Rintala. Effects of oxygen provision on the physiology of baker’s yeast Saccharomyces cerevisiae. 2010. 82 p. + app. 93 p. 748 Virve Vidgren. Maltose and maltotriose transport into ale and lager brewer’s yeast strains. 2010. 93 p. + app. 65 p. 749 Toni Ahonen, Markku Reunanen & Ville Ojanen (eds.). Customer value driven service business development. Outcomes from the Fleet Asset Management Project. 2010. 43 p. + app. 92 p. 750 Tiina Apilo. A model for corporate renewal. Requirements for innovation management. 2010. 167 p. + app. 16 p. 751 Sakari Stenudd. Using machine learning in the adaptive control of a smart environment. 2010. 75 p. 752 Evanthia Monogioudi. Enzymatic Cross-linking of ββ-casein and its impact on digestibility and allergenicity.
    [Show full text]
  • The Debian GNU/Linux
    The Debian GNU/Linux FAQ translator: etony C.F.AN <[email protected]> Debian FAQ Authors version 5.0.1, 17 March 2012 XXX要要要 ,文cãT一些s于 Debian GNU/Linux 的8Á问题. HHHCCC声声声明明明 Copyright © 1996-2003 by Software in the Public Interest (u守v包+,文cHC声明的MÐ下, A¸6\和发布,文c的完t拷贝. (u守上述完t拷贝H,有sHC声明的MÐ下, A¸拷贝和发布ú于,文c完t拷贝的修9H,, v且, 发布@有通Ç修9 ,文c而得0的工\成果, {使(与,文c的¸可声明一致的¸可声明. (u守上述修9H,HC声明的MÐ下, A¸拷贝和发布,文cv它语言的û译H,, 如果,¸可声明有Ïê1o件ú金 会(Free Software Foundation)8Æ的S0化译,, 则uªS0化译,. i Contents 1 定定定II义与与与概概概述述述 1 1.1 什么/ Debian GNU/Linux?...............................................1 1.2 OK, 现(我知SDebian /. Linux/什么?!.......................................1 1.3 什么/ “Hurd”?.......................................................2 1.4 Debian GNU/Linux 与v他 Linux 发LH有什么不同? 为什么要选éDebian GNU/Linux?............2 1.5 Debian ¡划与ê1o件ú金会的GNU¡划 .......................................2 1.6 Debian 的发音Ê+I?...................................................2 2 Debian GNU/Linux 的的的···取取取与与与安安安ÅÅÅ 3 2.1 Debian 的最新H,/?...................................................3 2.2 如U得0 Debian 的安Å盘?................................................3 2.3 如UÎIq安Å Debian?..................................................3 2.4 我有;U:, 可以·取 Debian qÏ吗?..........................................3 2.5 可以o盘安Å吗?.......................................................3 2.6 可以Q络安Å吗?.......................................................4 3 |||¹¹¹'''问问问题题题 5 3.1 可以(什么7的l件û统上ÐL?.............................................5 3.2 与v他的linux发LH|¹L如U?.............................................5 3.3 Debian 源码与v他
    [Show full text]
  • Beginning Portable Shell Scripting from Novice to Professional
    Beginning Portable Shell Scripting From Novice to Professional Peter Seebach 10436fmfinal 1 10/23/08 10:40:24 PM Beginning Portable Shell Scripting: From Novice to Professional Copyright © 2008 by Peter Seebach All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13 (pbk): 978-1-4302-1043-6 ISBN-10 (pbk): 1-4302-1043-5 ISBN-13 (electronic): 978-1-4302-1044-3 ISBN-10 (electronic): 1-4302-1044-3 Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1 Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Lead Editor: Frank Pohlmann Technical Reviewer: Gary V. Vaughan Editorial Board: Clay Andres, Steve Anglin, Ewan Buckingham, Tony Campbell, Gary Cornell, Jonathan Gennick, Michelle Lowman, Matthew Moodie, Jeffrey Pepper, Frank Pohlmann, Ben Renow-Clarke, Dominic Shakeshaft, Matt Wade, Tom Welsh Project Manager: Richard Dal Porto Copy Editor: Kim Benbow Associate Production Director: Kari Brooks-Copony Production Editor: Katie Stence Compositor: Linda Weidemann, Wolf Creek Press Proofreader: Dan Shaw Indexer: Broccoli Information Management Cover Designer: Kurt Krames Manufacturing Director: Tom Debolski Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013.
    [Show full text]
  • UNIVERSITY of CALIFORNIA SANTA CRUZ UNDERSTANDING and SIMULATING SOFTWARE EVOLUTION a Dissertation Submitted in Partial Satisfac
    UNIVERSITY OF CALIFORNIA SANTA CRUZ UNDERSTANDING AND SIMULATING SOFTWARE EVOLUTION A dissertation submitted in partial satisfaction of the requirements for the degree of DOCTOR OF PHILOSOPHY in COMPUTER SCIENCE by Zhongpeng Lin December 2015 The Dissertation of Zhongpeng Lin is approved: Prof. E. James Whitehead, Jr., Chair Asst. Prof. Seshadhri Comandur Prof. Timothy J. Menzies Tyrus Miller Vice Provost and Dean of Graduate Studies Copyright c by Zhongpeng Lin 2015 Table of Contents List of Figures v List of Tables vii Abstract ix Dedication xi Acknowledgments xii 1 Introduction 1 1.1 Emergent Phenomena in Software . 1 1.2 Simulation of Software Evolution . 3 1.3 Research Outline . 4 2 Power Law and Complex Networks 6 2.1 Power Law . 6 2.2 Complex Networks . 9 2.3 Empirical Studies of Software Evolution . 12 2.4 Summary . 17 3 Data Set and AST Differences 19 3.1 Data Set . 19 3.2 ChangeDistiller . 21 3.3 Data Collection Work Flow . 23 4 Change Size in Four Open Source Software Projects 24 4.1 Methodology . 25 4.2 Commit Size . 27 4.3 Monthly Change Size . 32 4.4 Summary . 36 iii 5 Generative Models for Power Law and Complex Networks 38 5.1 Generative Models for Power Law . 38 5.1.1 Preferential Attachment . 41 5.1.2 Self-organized Criticality . 42 5.2 Generative Models for Complex Networks . 50 6 Simulating SOC and Preferential Attachment in Software Evolution 53 6.1 Preferential Attachment . 54 6.2 Self-organized Criticality . 56 6.3 Simulation Model . 57 6.4 Experiment Setup .
    [Show full text]
  • Devsecops in Reguated Industries Capgemini Template.Indd
    DEVSECOPS IN REGULATED INDUSTRIES ACCELERATING SOFTWARE RELIABILITY & COMPLIANCE TABLE OF CONTENTS 03... Executive Summary 04... Introduction 07... Impediments to DevSecOps Adoption 10... Playbook for DevSecOps Adoption 19... Conclusion EXECUTIVE SUMMARY DevOps practices enable rapid product engineering delivery and operations, particularly by agile teams using lean practices. There is an evolution from DevOps to DevSecOps, which is at the intersection of development, operations, and security. Security cannot be added after product development is complete and security testing cannot be done as a once-per-release cycle activity. Shifting security Left implies integration of security at all stages of the Software Development Life Cycle (SDLC). Adoption of DevSecOps practices enables faster, more reliable and more secure software. While DevSecOps emerged from Internet and software companies, it can benefit other industries, including regulated and high security environments. This whitepaper covers how incorporating DevSecOps in regulated Industries can accelerate software delivery, reducing the time from code change to production deployment or release while reducing security risks. This whitepaper defines a playbook for DevSecOps goals, addresses challenges, and discusses evolving workflows in DevSecOps, including cloud, agile, application modernization and digital transformation. Bi-directional requirement traceability, document generation and security tests should be part of the CI/CD pipeline. Regulated industries can securely move away
    [Show full text]
  • New Horizons Pluto/KBO Mission Impact Hazard
    New Horizons Pluto/KBO Mission Impact Hazard Hal Weaver NH Project Scientist The Johns Hopkins University Applied Physics Laboratory Outline • Background on New Horizons mission • Description of Impact Hazard problem • Impact Hazard mitigation – Hubble Space Telescope plays a key role New Horizons: To Pluto and Beyond The Initial Reconnaissance of The Solar System’s “Third Zone” KBOs Pluto-Charon Jupiter System 2016-2020 July 2015 Feb-March 2007 Launch Jan 2006 PI: Alan Stern (SwRI) PM: JHU Applied Physics Lab New Horizons is NASA’s first New Frontiers Mission Frontier of Planetary Science Explore a whole new region of the Solar System we didn’t even know existed until the 1990s Pluto is no longer an outlier! Pluto System is prototype of KBOs New Horizons gives the first close-up view of these newly discovered worlds New Horizons Now (overhead view) NH Spacecraft & Instruments 2.1 meters Science Team: PI: Alan Stern Fran Bagenal Rick Binzel Bonnie Buratti Andy Cheng Dale Cruikshank Randy Gladstone Will Grundy Dave Hinson Mihaly Horanyi Don Jennings Ivan Linscott Jeff Moore Dave McComas Bill McKinnon Ralph McNutt Scott Murchie Cathy Olkin Carolyn Porco Harold Reitsema Dennis Reuter Dave Slater John Spencer Darrell Strobel Mike Summers Len Tyler Hal Weaver Leslie Young Pluto System Science Goals Specified by NASA or Added by New Horizons New Horizons Resolution on Pluto (Simulations of MVIC context imaging vs LORRI high-resolution "noodles”) 0.1 km/pix The Best We Can Do Now 0.6 km/pix HST/ACS-PC: 540 km/pix New Horizons Science Status •
    [Show full text]
  • A Deep Search for Additional Satellites Around the Dwarf Planet
    Search for Additional Satellites around Haumea A Preprint typeset using LTEX style emulateapj v. 01/23/15 A DEEP SEARCH FOR ADDITIONAL SATELLITES AROUND THE DWARF PLANET HAUMEA Luke D. Burkhart1,2, Darin Ragozzine1,3,4, Michael E. Brown5 Search for Additional Satellites around Haumea ABSTRACT Haumea is a dwarf planet with two known satellites, an unusually high spin rate, and a large collisional family, making it one of the most interesting objects in the outer solar system. A fully self-consistent formation scenario responsible for the satellite and family formation is still elusive, but some processes predict the initial formation of many small moons, similar to the small moons recently discovered around Pluto. Deep searches for regular satellites around KBOs are difficult due to observational limitations, but Haumea is one of the few for which sufficient data exist. We analyze Hubble Space Telescope (HST) observations, focusing on a ten-consecutive-orbit sequence obtained in July 2010, to search for new very small satellites. To maximize the search depth, we implement and validate a non-linear shift-and-stack method. No additional satellites of Haumea are found, but by implanting and recovering artificial sources, we characterize our sensitivity. At distances between 10,000 km and 350,000 km from Haumea, satellites with radii as small as 10 km are ruled out, assuming∼ an albedo∼ (p 0.7) similar to Haumea. We also rule out satellites larger∼ than &40 km in most of the Hill sphere using≃ other HST data. This search method rules out objects similar in size to the small moons of Pluto.
    [Show full text]
  • CHORUS: Let's Go Meet the Dwarf Planets There Are Five in Our Solar
    Meet the Dwarf Planet Lyrics: CHORUS: Let’s go meet the dwarf planets There are five in our solar system Let’s go meet the dwarf planets Now I’ll go ahead and list them I’ll name them again in case you missed one There’s Pluto, Ceres, Eris, Makemake and Haumea They haven’t broken free from all the space debris There’s Pluto, Ceres, Eris, Makemake and Haumea They’re smaller than Earth’s moon and they like to roam free I’m the famous Pluto – as many of you know My orbit’s on a different path in the shape of an oval I used to be planet number 9, But I break the rules; I’m one of a kind I take my time orbiting the sun It’s a long, long trip, but I’m having fun! Five moons keep me company On our epic journey Charon’s the biggest, and then there’s Nix Kerberos, Hydra and the last one’s Styx 248 years we travel out Beyond the other planet’s regular rout We hang out in the Kuiper Belt Where the ice debris will never melt CHORUS My name is Ceres, and I’m closest to the sun They found me in the Asteroid Belt in 1801 I’m the only known dwarf planet between Jupiter and Mars They thought I was an asteroid, but I’m too round and large! I’m Eris the biggest dwarf planet, and the slowest one… It takes me 557 years to travel around the sun I have one moon, Dysnomia, to orbit along with me We go way out past the Kuiper Belt, there’s so much more to see! CHORUS My name is Makemake, and everyone thought I was alone But my tiny moon, MK2, has been with me all along It takes 310 years for us to orbit ‘round the sun But out here in the Kuiper Belt… our adventures just begun Hello my name’s Haumea, I’m not round shaped like my friends I rotate fast, every 4 hours, which stretched out both my ends! Namaka and Hi’iaka are my moons, I have just 2 And we live way out past Neptune in the Kuiper Belt it’s true! CHORUS Now you’ve met the dwarf planets, there are 5 of them it’s true But the Solar System is a great big place, with more exploring left to do Keep watching the skies above us with a telescope you look through Because the next person to discover one… could be me or you… .
    [Show full text]
  • Web Services Security Using SOAP, \Rysdl and UDDI
    Web Services Security Using SOAP, \rySDL and UDDI by Lin Yan A Thesis Submitted to the Faculty of Graduate Studies in Partial Fulfillment of the Requirements for the Degtee of MASTER OF SCIENCE Department of Electrical and Computer Engineering University of Manitoba Winnipeg, Manitoba, Canada @ Lin Yan, 2006 THE I]NTVERSITY OF MANITOBA FACULTY OF GRÄDUATE STUDIES COPYRIGHT PERMISSION Web Services Security Using SOAP, WSDL and IJDDI BY Lin Yan A Thesis/Practicum submitted to the Faculty ofGraduate Studies ofThe University of Manitoba in partial fulfillment of the requirement of the degree OF MASTER OF SCIENCE Lin Yan @ 2006 Permission has been granted to the Library ofthe University of Manitoba to lend or sell copies of this thesis/practicum' to the National Library of Canada to microfilm this thesis and to lend or sell copies of the film, and to University Microfitms Inc, to publish an abstract of this thesis/practicum, This reproduction or copy ofthis thesis has been made available by authority ofthe copyright orvner solely for the purpose of private study and research, and may only be reproduced and copied as permitted by copyright laws or with express rvritten authorization from the copyright owner. ABSTRACT The Internet is beginning to change the way businesses operate. Companies are using the Web for selling products, to find suppliers or trading partners, and to link existing applications to other applications. With the rise of today's e-business and e-commerce systems, web services are rapidly becoming the enabling technology to meet the need of commerce. However, they are not without problems.
    [Show full text]
  • GNU Guix Cookbook Tutorials and Examples for Using the GNU Guix Functional Package Manager
    GNU Guix Cookbook Tutorials and examples for using the GNU Guix Functional Package Manager The GNU Guix Developers Copyright c 2019 Ricardo Wurmus Copyright c 2019 Efraim Flashner Copyright c 2019 Pierre Neidhardt Copyright c 2020 Oleg Pykhalov Copyright c 2020 Matthew Brooks Copyright c 2020 Marcin Karpezo Copyright c 2020 Brice Waegeneire Copyright c 2020 Andr´eBatista Copyright c 2020 Christine Lemmer-Webber Copyright c 2021 Joshua Branson Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled \GNU Free Documentation License". i Table of Contents GNU Guix Cookbook ::::::::::::::::::::::::::::::: 1 1 Scheme tutorials ::::::::::::::::::::::::::::::::: 2 1.1 A Scheme Crash Course :::::::::::::::::::::::::::::::::::::::: 2 2 Packaging :::::::::::::::::::::::::::::::::::::::: 5 2.1 Packaging Tutorial:::::::::::::::::::::::::::::::::::::::::::::: 5 2.1.1 A \Hello World" package :::::::::::::::::::::::::::::::::: 5 2.1.2 Setup:::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 2.1.2.1 Local file ::::::::::::::::::::::::::::::::::::::::::::: 8 2.1.2.2 `GUIX_PACKAGE_PATH' ::::::::::::::::::::::::::::::::: 9 2.1.2.3 Guix channels ::::::::::::::::::::::::::::::::::::::: 10 2.1.2.4 Direct checkout hacking:::::::::::::::::::::::::::::: 10 2.1.3 Extended example ::::::::::::::::::::::::::::::::::::::::
    [Show full text]
  • Important Notice Regarding Software
    Important Notice Regarding Software The software package installed in this product includes software licensed to Onkyo & Pioneer Corporation (hereinafter, called “O&P Corporation”) directly or indirectly by third party developers. Please be sure to read this notice regarding such software. Notice Regarding GNU GPL/LGPL-applicable Software This product includes the following software that is covered by GNU General Public License (hereinafter, called "GPL") or by GNU Lesser General Public License (hereinafter, called "LGPL"). O&P Corporation notifies you that, according to the attached GPL/LGPL, you have right to obtain, modify, and redistribute software source code for the listed software. ソフトウェアに関する重要なお知らせ 本製品に搭載されるソフトウェアには、オンキヨー & パイオニア株式会社(以下「弊社」とします)が 第三者より直接的に又は間接的に使用の許諾を受けたソフトウェアが含まれております。これらのソフト ウェアに関する本お知らせを必ずご一読くださいますようお願い申し上げます。 GNU GPL / LGPL 適用ソフトウェアに関するお知らせ 本製品には、以下の GNU General Public License(以下「GPL」とします)または GNU Lesser General Public License(以下「LGPL」とします)の適用を受けるソフトウェアが含まれております。 お客様は添付の GPL/LGPL に従いこれらのソフトウェアソースコードの入手、改変、再配布の権利があ ることをお知らせいたします。 Package List パッケージリスト alsa-conf-base glibc-gconv alsa-conf glibc-gconv-utf-16 alsa-lib glib-networking alsa-utils-alsactl gstreamer1.0-libav alsa-utils-alsamixer gstreamer1.0-plugins-bad-aiff alsa-utils-amixer gstreamer1.0-plugins-bad-bluez alsa-utils-aplay gstreamer1.0-plugins-bad-faac avahi-autoipd gstreamer1.0-plugins-bad-mms base-files gstreamer1.0-plugins-bad-mpegtsdemux base-passwd gstreamer1.0-plugins-bad-mpg123 bluez5 gstreamer1.0-plugins-bad-opus busybox gstreamer1.0-plugins-bad-rawparse
    [Show full text]