I've filed the following ARC fasttrack case with LSARC today (the Sun ARC
which normally reviews the desktop software in Solaris).   They'll be
considering it for the next week, so if anyone here has comments, please
feel free to send to desktop-discuss, arc-discuss, and/or directly to me.

(This case does not include the "Really Slick Screensavers" that were in the
  prototype build I put out a couple of months ago - those will come later,
  once the ImageMagick library in the SFW consolidation is upgraded to the
  version those require.)

     -Alan Coopersmith-           alan.coopersmith at sun.com
      Sun Microsystems, Inc. - X Window System Engineering

-------- Original Message --------
Subject: xscreensaver upgrade to version 5.0 [LSARC/2006/446 Timeout: 
07/28/2006]
Date: Fri, 21 Jul 2006 15:20:28 -0700 (PDT)
From: Alan Coopersmith <[email protected]>

Template Version: @(#)sac_nextcase 1.56 10/26/05 SMI

1. Introduction
     1.1. Project/Component Working Name:
         xscreensaver upgrade to version 5.0
     1.2. Name of Document Author/Supplier:
         Author:  Alan Coopersmith
     1.3  Date of This Document:
        21 July, 2006
4. Technical Description

This project upgrades the xscreensaver code base from the open source upstream
from 4.05 to 5.0.   The increment in major version number is not due to major
incompatibilities but to the major feature addition of native MacOS X support.

It also includes a couple of other updates that have been accumulating.

Sun's xscreensaver uses the display modes from the open source xscreensaver
mostly unmodified (a bit of censorship is applied for some things that users
may find offensive or which our lawyers may find risky), but modifies the core
driver program quite a bit to add support for accessibility via a GTK+ UI, to
correct the PAM implementation, and make several other changes not accepted by
the upstream maintainer.

This ARC review also converts xscreensaver stability statements to the new
taxonomy and incorporates several additional changes being made to xscreensaver
as well.   This case requests a minor release binding for all portions except
the few noted as applying to a patch release.

   ---------------------------------------------------------------------------

Changes from upstream:

The xscreensaver-command CLI has been modified to remove the commands
-throttle and -unthrottle.

The man page description of these commands was:

      -throttle
              Temporarily switch to  ``blank  screen''  mode,  and
              don't  run  any  display  modes  at  all,  until the
              screensaver is next de-activated.  This is useful if
              you're  using  a machine remotely, and you find that
              some display modes are using too much CPU.

              (If you want to do this permanently,  that  is,  you
              want  the  screen saver to only blank the screen and
              not run demos at all, then set the programs resource
              to an empty list:  See xscreensaver(1) for details.)

      -unthrottle
              Turn  `-throttle'  mode  off   and   resume   normal
              behavior.

The replacement functionality listed in the new man page is:

      If xscreensaver is running, but you want it to stop  running
      screen  hacks  (e.g., if you are logged in remotely, and you
      want the console to remain locked but just be black, with no
      graphics  processes running) you can accomplish that by sim-
      ply powering down the monitor remotely.  In a minute or  so,
      xscreensaver  will  notice that the monitor is off, and will
      stop running screen hacks.  You can power  off  the  monitor
      like so:

           xset dpms force off

      See the xset(1) manual for more info.

xscreensaver-demo no longer supports the --crapplet flag for embedding in
the GNOME 1.x Control Center.   Use as a GNOME 2.x preference panel continues
to work unchanged.

A number of new display "hacks" have been added - since those are
architectually uninteresting and Project Private, they are not detailed here.

   ---------------------------------------------------------------------------

Installation location:

This case follows the precedent set in PSARC 2004/187 and migrates xscreensaver
from /usr/openwin to /usr/X11.   Symbolic links will be left in
/usr/openwin/bin for the xscreensaver commands and from
/usr/openwin/lib/xscreensaver to /usr/X11/lib/xscreensaver (though nothing
outside the xscreensaver project should be using the private interfaces in
that directory).

   ---------------------------------------------------------------------------

Smartcard support:

xscreensaver currently uses the SCF API to detect smartcard removal and perform
a screen lock at that time.   PSARC 2004/678 has EOF'ed the SCF API so this
functionality will be removed from xscreensaver.   By agreement with the
smartcard development team, the SCF replacement project will be responsible
for calling xscreensaver-command -lock to lock the screen when needed,
instead of modifying xscreensaver to monitor the smartcard.   (The Sun Ray
smartcard framework already does this.)

This case declares the smartcard support Obsolete in a Patch Release, and
removes it in a Minor Release.   (Under the new taxonomy, I am calling
this "Obsolete Uncommitted" though there was no specific stability given to
the smartcard functionality in past cases.)

Since the proposed replacement and a number of other consumers use or will
use xscreensaver-command -lock to lock the screen, but none have requested
contracts, this case accepts the obvious conclusion that this functionality
is an interface that needs to be provided at a higher stability level than
External/Volatile and raises it to Uncommitted.

   ---------------------------------------------------------------------------

Auditing:

Xscreensaver will audit screen lock and unlock in the same manner as xlock
already does.   A contract will be signed with the audit group using the
same terms as the xlock/audit contract PSARC/2000/517/contract-03.

   ---------------------------------------------------------------------------

Root ability to unlock:

Xscreensaver has previously hardcoded allowing the user named "root" to
unlock the system.   A resource will be added to the xscreensaver
configuration file named "allowRoot" which takes a value of True to allow
this, or False to only allow the logged-in user to unlock.   The default
value of this resource will be set to False, requiring users who need the
current behaviour to change the default setting.   This is explictly tied
to a Minor Release binding and a separate case will have to be filed to
discuss correct handling if a Patch/Micro Release is ever desired.

   ---------------------------------------------------------------------------

Future direction:

Long term, the stated goal of the Desktop C-Team is to move from xscreensaver
to gnome-screensaver for the JDS screen lock functionality.   However, since
gnome-screensaver does not yet work on Solaris, xscreensaver remains the JDS
desktop screen lock provider for the near-term.

   ---------------------------------------------------------------------------

Imported interfaces:

Interface                               Stability       Comments
----------                              ---------       --------
xscreensaver CLI (see man page)         External        LSARC 2001/121
xscreensaver-command CLI (see man page) External        LSARC 2001/121
xscreensaver-demo CLI (see man page)    External        LSARC 2001/121
xscreensaver graphics applications      External        LSARC 2001/121
/usr/openwin/lib/xscreensaver           Stable          LSARC 2001/121

Auditing interfaces                     Contracted
                                         Proj. Private  PSARC 2000/517

/usr/X11 hierarchy                      Stable          PSARC 2004/187

GTK+, Glib, Pango, ATK                  Evolving        LSARC 2004/713
at-spi, login-helper                    External        LSARC 2004/713

Exported interfaces:
--------------------
xscreensaver CLI                        Volatile        was External
xscreensaver-command -lock              Uncommitted     was External
rest of xscreensaver-command CLI        Volatile        was External
xscreensaver-demo CLI                   Volatile        was External
xscreensaver graphics applications      Project Private was External

/usr/openwin/bin/xscreensaver*          Obsolete External  Replaced by symlink
/usr/X11/bin/xscreensaver*              Stable          Pathnames only

/usr/openwin/lib/xscreensaver           Obsolete Stable Replaced by symlink
/usr/X11/lib/xscreensaver               Stable          Pathname only
/usr/X11/lib/xscreensaver               Project Private Contents

SCF smartcard support in xscreensaver   Obsolete
                                         Uncommitted    Patch Release binding
SCF smartcard support in xscreensaver   Removed         Minor Release binding

allowRoot                               Uncommitted

6. Resources and Schedule
     6.4. Steering Committee requested information
        6.4.1. Consolidation C-team Name:
                X Consolidation / Desktop C-Team
     6.5. ARC review type: FastTrack

Reply via email to