doc/one-pager-main.txt
author Shawn Walker <shawn.walker@oracle.com>
Sat, 16 Jul 2011 08:45:13 -0700
changeset 2468 ce77b64883c4
parent 278 e7d6b8e222b8
permissions -rw-r--r--
18710 conditional dependencies can cause install and uninstall failure when dependency cannot be installed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
278
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
     1
Template Version: @(#)onepager.txt 1.31 07/08/08 SMI
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
     2
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
     3
This information is Copyright 2008 Sun Microsystems
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
     4
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
     5
1. Introduction
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
     6
   1.1. Project/Component Working Name:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
     7
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
     8
        pkg(5): image packaging system
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
     9
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    10
   1.2. Name of Document Author/Supplier:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    11
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    12
        Stephen Hahn, Sun Microsystems,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    13
          on behalf of the pkg(5) project team
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    14
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    15
   1.3. Date of This Document:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    16
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    17
        03/10/2008
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    18
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    19
   1.4. Name of Major Document Customer(s)/Consumer(s):
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    20
        1.4.1. The Community you expect to review your project:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    21
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    22
        Install and Packaging CG
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    23
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    24
        1.4.2. The ARC(s) you expect to review your project:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    25
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    26
        PSARC
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    27
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    28
   1.5. Email Aliases:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    29
        1.5.2. Responsible Engineer:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    30
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    31
        [email protected]
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    32
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    33
        1.5.4. Interest List:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    34
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    35
        [email protected]
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    36
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    37
2. Project Summary
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    38
   2.1. Project Description:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    39
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    40
        The image packaging system, pkg(5), is a portable software
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    41
        packaging and delivery system intended to allow efficient,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    42
        observable, and controllable transitions between known
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    43
        configurations of software content.  pkg(5) will subsume the
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    44
        functionality of the of the packaging and patching utilities
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    45
        included in historical Solaris releases.  A primary goal for
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    46
        this project is to improve and extend the usability and
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    47
        functionality of our packaging system.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    48
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    49
        The project includes a set of recommended changes to the
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    50
        existing software groupings--the package definitions--in an
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    51
        attempt to produce a more rational and flexible organization of
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    52
        the current components.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    53
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    54
   2.2. Risks and Assumptions:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    55
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    56
        We intend to preserve the legacy packaging system functionality
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    57
        to support compatibility of existing packages.  We believe that,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    58
        if migration and compatibility practices are made available, the
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    59
        provision of a new packaging mechanism will be followed by
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    60
        adoption.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    61
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    62
        We strongly believe that the refactoring and renaming of the
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    63
        existing package graph is not achievable with reasonable cost
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    64
        and duration with the existing packaging/patching/installation
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    65
        software.  We also believe compatibility with the existing graph
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    66
        can be preserved, to support the earlier assumption about
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    67
        preserving legacy package operations.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    68
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    69
        We also believe that, for the majority of the operating system's
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    70
        development and deployment needs, binary software delivery is
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    71
        preferred over source-based build delivery.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    72
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    73
3. Business Summary
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    74
   3.1. Problem Area:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    75
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    76
        Deficits in the current packaging, patching, and installation
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    77
        tool set affect potentially all parties interacting with the
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    78
        historical Solaris releases and successors.  Such deficits
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    79
        include:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    80
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    81
        - lack of support for dependency-based retrieval during package
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    82
          installation, from one or more network repositories,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    83
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    84
        - coarse and incorrect dependencies, limiting use for
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    85
          construction of appliances or other specific-purpose systems,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    86
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    87
        - lack of versioning and control over change,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    88
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    89
        - forced interactivity,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    90
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    91
        - integration with virtualized systems, particularly patching
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    92
          performance,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    93
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    94
        - reliance of the installer on hidden information, limiting
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    95
          participation in system upgrade scenarios,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    96
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    97
        - lack of safety, specifically around package completeness and
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    98
          alternate package contexts,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    99
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   100
        - high developer costs around package and patch creation and
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   101
          maintenance,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   102
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   103
        - lack of support for unprivileged package and patch
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   104
          installation,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   105
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   106
        - lack of awareness of ZFS and smf(5),
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   107
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   108
        - late or no correctness checking, and
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   109
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   110
        - minimal ease of use.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   111
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   112
        Additionally, the absence of a portable and efficient
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   113
        cross-platform software delivery system places additional costs
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   114
        upon teams that must deliver software for multiple platforms,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   115
        such as enterprise middleware vendors.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   116
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   117
   3.2. Market/Requester:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   118
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   119
        Distribution providers and software content providers have
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   120
        requested substantial changes to the legacy packaging system.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   121
        The requested changes focus on reducing maintenance costs and
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   122
        increasing development efficiencies.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   123
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   124
        Various customers of the historical Solaris release have asked
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   125
        for substantial capabilities not present in the legacy packaging
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   126
        system.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   127
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   128
        Finally, multiplatform packaging capabilities are of interest to
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   129
        a number of software content providers.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   130
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   131
   3.3. Business Justification:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   132
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   133
        See 3.1 and 3.2.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   134
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   135
   3.4. Competitive Analysis:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   136
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   137
        Every major operating system vendor--and most upcoming new
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   138
        vendors--offers a form of networked software delivery and
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   139
        updates.  Well known companies with such technologies are
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   140
        Microsoft, Red Hat, Apple, and Canonical; new companies include
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   141
        rPath.  Non-profit entities with equivalent technology include
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   142
        the Debian Project.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   143
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   144
   3.5. Opportunity Window/Exposure:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   145
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   146
        In order for OpenSolaris-based systems to remain competitive in
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   147
        software delivery functionality, Solaris 10 should be the last
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   148
        Minor release with a packaging system that fails to meet the
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   149
        needs stated in 3.1 and 3.2.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   150
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   151
   3.6. How will you know when you are done?:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   152
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   153
        In terms of basic capabilities, we can examine each component.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   154
        Project completion on the retrieval side can be measured by
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   155
        achieving the capability of managing mixed content from a
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   156
        variety of publishers, with potentially distinct entitlement
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   157
        regimes.  On the publication side, completion of the initial
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   158
        project is reached once the goals around dependency and
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   159
        correctness checking (and failure handling) are met for both the
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   160
        server and the publication client.  Finally, ease of use (or
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   161
        familiarity) must match or exceed that of other leading
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   162
        packaging systems.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   163
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   164
        In terms of the product as a whole, we must be able to upgrade,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   165
        with some statement about limitations on fidelity, a system
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   166
        installed using the legacy packaging components such that it can
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   167
        be further updated using the image packaging system.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   168
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   169
4. Technical Description:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   170
    4.1. Details:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   171
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   172
        pkg(5) is a network-oriented binary packaging system.  Although
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   173
        it will have on-disk representations for versioned packages, the
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   174
        primary expected use for installation of software will be
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   175
        between an intelligent client and one or more relatively simple
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   176
        servers.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   177
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   178
        The project defines a client-server publication mechanism.  The
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   179
        publication client offers up transactions on packages.  The
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   180
        server evaluates transactions from the publication client.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   181
        Transations that are deemed to be complete and/or safe by the
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   182
        server are then made available to the retrieval client.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   183
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   184
        The initial transport will be HTTP and HTTPS, protocols around
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   185
        which most sites have developed mature access policies.  Support
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   186
        for most common HTTP/HTTPS load-balancing, redirection, and
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   187
        proxying techniques will be implemented, making the system easy
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   188
        to deploy in a variety of scenarios.  Additional transports may
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   189
        be investigated during the course of the project or as future
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   190
        work.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   191
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   192
        The project does not define a default mechanism for building
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   193
        software as part of the packaging process.  The project team
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   194
        believes strongly that software builds are a separate function,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   195
        and probably also agrees that different kinds of software may
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   196
        require different build techniques.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   197
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   198
        More controversially, the project, in an attempt to increase
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   199
        system safety and to reduce developer burden, removes the notion
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   200
        of arbitrary context scripting from packaging.  (This removal
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   201
        means that the legacy packaging system must remain on the system
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   202
        for long-term compatibility.)  Empirical evidence from the
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   203
        prototype phase has so far borne out this decision.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   204
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   205
    4.2. Bug/RFE Number(s):
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   206
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   207
        As an example of the kinds of defects and RFEs intended to be
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   208
        resolved by this project, we present the following selection of
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   209
        bug IDs from the past 15 years:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   210
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   211
1105830 pkgadd and pkgrm should be able to handle dependency ordering
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   212
1149607 Package dependencies hidden within a cluster.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   213
1165888 RFE: allow non-root users to install software using the package mechanis
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   214
1184238 patches should be fully managed by package utilites
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   215
1208431 pkgrm with no arguments defaults to all
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   216
1249015 pkgadd requires root access
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   217
4202113 pkginfo command is ridiculously slow
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   218
4240078 pkgadd should not allow an intel package to install on Sparc and visa-ve
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   219
4385316 RFE Support pkgadd of clusters
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   220
4480153 Improvements desired for pkg management
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   221
4762470 pkgadd: soft dependencies
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   222
4795539 pkgadd should check dependencies of all packages provided on the command
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   223
4847723 rem_drv in preremove scripts should have consistent usage model
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   224
4939605 grep-friendly pkgchk -l variant desired
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   225
5012345 request for tool to list package dependencies
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   226
6208580 pkgadd/pkgrm should be smarter about dependancies
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   227
6246595 Sun's package management needs improvement
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   228
6491381 Create audit log for packaging and patch commads
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   229
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   230
        In contrast,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   231
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   232
1181241 wants to split large binary across multiple floppies with pkgmk
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   233
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   234
        will not be addressed by this proposal.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   235
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   236
    4.3. In Scope:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   237
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   238
        Package-service delivery and containment relationships.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   239
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   240
        Package installation behaviour in virtualized environments.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   241
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   242
    4.4. Out of Scope:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   243
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   244
        Specific operational scenarios for repositories operated by Sun
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   245
        Microsystems.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   246
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   247
        Provision of a GUI/BUI for package management.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   248
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   249
        Specific package contents and manifests.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   250
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   251
    4.5. Interfaces:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   252
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   253
        pkg(5) will present a substantial set of new and modified interfaces
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   254
        to the core system.  In particular, documented definitions of
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   255
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   256
        - retrieval client CLI,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   257
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   258
        - publication client CLI,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   259
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   260
        - administrative and server CLIs,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   261
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   262
        - client metadata representations,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   263
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   264
        - server metadata representations,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   265
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   266
        - retrieval and publication protocol operations,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   267
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   268
        - a dynamic language API to access packaging functions, 
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   269
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   270
        - an on-disk package format,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   271
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   272
        - package metadata conventions,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   273
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   274
        - available package constituents ("actions"), and
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   275
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   276
        - package naming and versioning conventions,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   277
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   278
        will be presented as interfaces introduced by this project.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   279
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   280
        It is possible that some of the nominally private interfaces
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   281
        associated with legacy packaging will be affected; at a minimum,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   282
        files previously delivered via legacy packaging will no longer
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   283
        be tracked by the legacy system.  This outcome could result in a
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   284
        correctly functioning system that presents very differently in
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   285
        terms of file-package membership when interrogated using the
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   286
        legacy packaging API.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   287
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   288
        Various components of the project will be introduced at each
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   289
        stability and/or commitment level.  The components are being
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   290
        engineered such that the public interfaces can be evolved
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   291
        compatibly, once the initial development is complete.  (In fact,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   292
        the prototype is expected to support this evolution during the
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   293
        development phase.)
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   294
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   295
        The components are currently implemented in Python
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   296
        (PSARC/2005/532, PSARC/2005/555, PSARC/2006/666).
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   297
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   298
    4.6. Doc Impact:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   299
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   300
        The project expects to provide reference manual pages for each
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   301
        of the groups of interface identified above.  Furthermore, the
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   302
        project expects to provide a Developer's Guide to replace the
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   303
        current Application Packager's Guide.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   304
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   305
    4.7. Admin/Config Impact:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   306
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   307
        Substantial new capabilities in software installation will
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   308
        become available.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   309
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   310
        A related project to produce a package manipulation GUI is being
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   311
        pursued.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   312
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   313
    4.8. HA Impact:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   314
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   315
        None known; dependent on specific impacts of legacy packaging on
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   316
        these capabilities.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   317
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   318
    4.9. I18N/L10N Impact:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   319
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   320
        Commands will require localization, as will any publically
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   321
        committed library or equivalent APIs.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   322
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   323
    4.10. Packaging & Delivery:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   324
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   325
        All package, cluster, and metacluster boundaries will be
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   326
        examined in the course of the project.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   327
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   328
        The primary upgrade mechanism for operating systems using pkg(5)
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   329
        will be achieved via pkg(5) components; this mechanism is
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   330
        expected to replace the current standalone upgrade and
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   331
        LiveUpgrade paths.  The replacement is expected, in concert with
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   332
        the SnapUpgrade project, to present capabilities that equal or
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   333
        exceed those of LiveUpgrade.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   334
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   335
    4.11. Security Impact:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   336
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   337
        In the current implementation, the protocol is built atop access
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   338
        to HTTP and/or HTTPS.  Accordingly, the server side will
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   339
        potentially listen on ports associated with those services.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   340
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   341
        The server and client side will require access to key and
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   342
        certificate management interfaces.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   343
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   344
        A mechanism for signing repository catalogs and package
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   345
        manifests will be a part of the publication interface.  A
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   346
        corresponding mechanism for verifying signed catalogs and
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   347
        manifests will be implemented for the installation client.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   348
        These mechanisms will apply to both packages in a network
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   349
        package repository and packages in their on-disk representation.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   350
        
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   351
    4.12. Dependencies:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   352
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   353
        The project is dependent on SnapUpgrade for coherent collection,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   354
        organization, and activation of filesystem snapshots.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   355
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   356
5. Reference Documents:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   357
        Project site:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   358
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   359
        http://opensolaris.org/os/project/pkg/
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   360
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   361
        Project team members have written a number of informal essays on
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   362
        various goals--problems to solve, outcomes to avoid, hopes to
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   363
        realize--on aspects of the project:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   364
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   365
        - General observations:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   366
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   367
          http://blogs.sun.com/sch/entry/observations_on_packaging
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   368
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   369
        - On testability and complexity costs with the current patching
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   370
          methods:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   371
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   372
          http://blogs.sun.com/barts/entry/rethinking_patching
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   373
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   374
        - Eliminating scripting in a packaging system
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   375
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   376
          http://blogs.sun.com/sch/entry/pkg_1_a_no_scripting
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   377
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   378
        - Keep software builds separate from software delivery:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   379
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   380
          http://blogs.sun.com/sch/entry/pkg_leaving_the_build_system
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   381
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   382
        - Keeping critical metadata back the packaging system, rather
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   383
          than in the installer:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   384
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   385
          http://blogs.sun.com/sch/entry/pkg_no_more_installer_magic
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   386
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   387
        Related efforts in the Caiman project:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   388
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   389
        - Snap Upgrade,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   390
          http://opensolaris.org/os/project/caiman/Snap_Upgrade/
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   391
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   392
        - Distribution Constructor,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   393
          http://opensolaris.org/os/project/caiman/Constructor/
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   394
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   395
6. Resources and Schedule:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   396
   6.1. Projected Availability:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   397
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   398
        2008
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   399
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   400
   6.2. Cost of Effort:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   401
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   402
        Unable to estimate at present time.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   403
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   404
   6.4. Product Approval Committee requested information:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   405
        6.4.1. Consolidation or Component Name:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   406
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   407
        ON
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   408
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   409
   6.5. ARC review type:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   410
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   411
        Standard.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   412
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   413
   6.6. ARC Exposure: open
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   414
       6.6.1. Rationale: Part of OpenSolaris
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   415
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   416
7. Prototype Availability:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   417
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   418
   7.1. Prototype Availability:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   419
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   420
        Prototype exit criteria are:  ability to support multiple transports,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   421
        some access control capability, constrained dependency support,
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   422
        bulk of OpenSolaris-specific actions.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   423
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   424
   7.2. Prototype Cost:
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   425
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   426
        Unable to estimate.
e7d6b8e222b8 initial one-pager
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   427