doc/razor.txt
author Edward Pilatowicz <edward.pilatowicz@oracle.com>
Mon, 16 Sep 2013 21:26:31 -0700
changeset 2945 24196b483cc6
parent 110 2a54111bcaf8
permissions -rw-r--r--
17461187 packagemanager displays unexpected error message
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
41
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
     1
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
     2
Requirements gathering for new packaging system
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
     3
-----------------------------------------------
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
     4
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
     5
Some of these requirements will be satisfied in part by the use of ZFS
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
     6
as a root filesystem.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
     7
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
     8
In no particular order:
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
     9
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    10
A new packaging system must:
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    11
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    12
* replace existing patching/upgrade/live upgrade/Jumpstart/Jet/SUC/... 
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    13
  functionality; there should be one way of managing all software change on
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    14
  Solaris 11.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    15
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    16
* allow fine grain control of installation contents to support minimization
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    17
  A customer should be able to select the desired functionality, and have the
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    18
  system bring in the closure of the dependency graph.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    19
  
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    20
* support the installation of packages to a directory for diskless and Xen
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    21
  configs.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    22
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    23
* be repository based to faciltate efficient software distribution.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    24
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    25
* support the user's connection to multiple repositories to provide
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    26
  different types of software, newer software, different vendors/suppliers,
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    27
  etc.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    28
  
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    29
* deal with zones:
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    30
	* maintain global zone, whole root zones in sync
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    31
	* cope w/ directory level split between global and local zones, or
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    32
	  eliminate them.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    33
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    34
* allow a package to be installed in alternative (non default) locations.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    35
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    36
* allow the installation of multiple instances/revisions of the same package
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    37
  in different locations.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    38
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    39
* manage package dependencies in multiple ways:
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    40
	* allow a set of packages to be managed as a group; all packages
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    41
	  must transition together.  Groups may include other groups.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    42
        * allow specification of a minimum version level
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    43
	* dependency graphs need not be acyclic
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    44
	
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    45
* permit the selection of alternative software streams available from a single
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    46
  repository.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    47
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    48
* permit the "tagging" of packages with interesting information such as
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    49
  external packaging version number, features provided (at least partially)
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    50
  by this packages, etc.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    51
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    52
* permit the creation of alternative package branches to represent either early
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    53
  platform introduction or customer-specific fixes that are later merged into
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    54
  the mainline.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    55
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    56
* manage updates to client system in a transactional fashion; either we run the
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    57
  old bits or the new bits, never some of each.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    58
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    59
* support secure upgrading through firewalls, etc, w/o special handling,
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    60
  ports opened, etc, on the client side.  It must be possible to both allow
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    61
  and disallow anonymous access to the repository, and offer fine grain access
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    62
  controls.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    63
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    64
* be robust in the face of filesystem damage on the client side.  It must be
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    65
  possible to identify where the system doesn't match the packaging information,
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    66
  and to be able to repair any damage by restoring damaged components from the
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    67
  repository.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    68
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    69
* be open source, and included in OpenSolaris.  All the tools necessary to build
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    70
  and distribute OpenSolaris via a repository should be part of OpenSolaris.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    71
  
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    72
* support interactive development.  A developer should be readily able to 
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    73
  create a new repository, make changes, build, commit the changes to the
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    74
  repository and update his machine with those changes and reboot.  
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    75
  
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    76
* be of acceptable performance.  Upgrade operations should not reacquire files
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    77
  already in place on the system.  As much as possible, packaging operations 
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    78
  should be order (1) rather then order(number of zones).  Packaging operations
110
2a54111bcaf8 Make it possible to import companion into /usr
Bart Smaalders <Bart.Smaalders@Sun.COM>
parents: 41
diff changeset
    79
  should not be significantly affected by the number of packages already 
2a54111bcaf8 Make it possible to import companion into /usr
Bart Smaalders <Bart.Smaalders@Sun.COM>
parents: 41
diff changeset
    80
  installed on the system
41
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    81
    
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    82
A new packaging system must not:
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    83
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    84
* require changing the build system of consolidations contributing to 
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    85
  software respository.  Different parts of OpenSolaris build in many different
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    86
  ways; forcing them all to be the same is unacceptable.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    87
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    88
* require the use of non-local resources for clients; security conscious 
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    89
  companies must be able to run their own repositories completely disconnected
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    90
  from any external networks.
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    91
  
048a96e7c8b9 Added first draft of requirements
barts@cyber.SFBay.Sun.COM
parents:
diff changeset
    92