7034954 X packages have incorrectly multifaceted actions
authorAlan Coopersmith <Alan.Coopersmith@Oracle.COM>
Thu, 04 Aug 2011 22:42:12 -0700
changeset 1182 16126dc6c0c9
parent 1181 0b84072b8a3f
child 1183 4e4ec215542f
7034954 X packages have incorrectly multifaceted actions
pkg/exceptions-validate_pkg.p5m
pkg/manifests/compatibility-packages-SUNWxwpmn.p5m
pkg/manifests/system-library-fontconfig.p5m
pkg/manifests/x11-documentation-xorg-docs.p5m
pkg/manifests/x11-library-freeglut.p5m
pkg/manifests/x11-library-libfs.p5m
pkg/manifests/x11-library-libice.p5m
pkg/manifests/x11-library-libsm.p5m
pkg/manifests/x11-library-libxcb.p5m
pkg/manifests/x11-library-libxext.p5m
pkg/manifests/x11-library-libxi.p5m
pkg/manifests/x11-library-libxmu.p5m
pkg/manifests/x11-library-libxtst.p5m
pkg/manifests/x11-library-toolkit-libxaw7.p5m
pkg/manifests/x11-library-xtrans.p5m
pkg/transforms/facets
--- a/pkg/exceptions-validate_pkg.p5m	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/exceptions-validate_pkg.p5m	Thu Aug 04 22:42:12 2011 -0700
@@ -78,6 +78,8 @@
 dir path=usr/share/aclocal
 dir path=usr/share/applications
 dir path=usr/share/doc
+dir path=usr/share/doc/X11/specs/Xext
+dir path=usr/share/doc/X11/specs/Xserver
 dir path=usr/share/locale
 dir path=usr/share/locale/C
 dir path=usr/share/locale/C/LC_MESSAGES
--- a/pkg/manifests/compatibility-packages-SUNWxwpmn.p5m	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/manifests/compatibility-packages-SUNWxwpmn.p5m	Thu Aug 04 22:42:12 2011 -0700
@@ -1,4 +1,4 @@
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -20,8 +20,7 @@
 # DEALINGS IN THE SOFTWARE.
 #
 
-# Developer man pages are part of the developer & man page facets
-<transform depend fmri=pkg:/x11/library/.* -> set facet.devel true>
+# Man pages are part of the man page facet
 <transform depend fmri=pkg:/x11/library/.* -> set facet.doc.man true>
 
 set name=pkg.fmri value=pkg:/compatibility/packages/SUNWxwpmn@$(OSPKGVERS)
--- a/pkg/manifests/system-library-fontconfig.p5m	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/manifests/system-library-fontconfig.p5m	Thu Aug 04 22:42:12 2011 -0700
@@ -30,7 +30,7 @@
 dir path=lib/svc/manifest/application/font
 dir path=usr/include/fontconfig
 dir path=usr/share/doc/fontconfig
-dir path=usr/share/doc/fontconfig/fontconfig-devel
+dir path=usr/share/doc/fontconfig/fontconfig-devel facet.doc.html=true
 dir path=var/cache/fontconfig
 file path=etc/fonts/conf.avail/10-autohint.conf
 file path=etc/fonts/conf.avail/10-no-sub-pixel.conf
--- a/pkg/manifests/x11-documentation-xorg-docs.p5m	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/manifests/x11-documentation-xorg-docs.p5m	Thu Aug 04 22:42:12 2011 -0700
@@ -32,8 +32,6 @@
 dir path=usr/share/doc/X11/specs/CTEXT
 dir path=usr/share/doc/X11/specs/ICCCM
 dir path=usr/share/doc/X11/specs/XLFD
-dir path=usr/share/doc/X11/specs/Xext
-dir path=usr/share/doc/X11/specs/Xserver
 dir path=usr/share/sgml/X11
 dir path=usr/share/sgml/X11/dbs
 file path=usr/share/doc/X11/License.html
--- a/pkg/manifests/x11-library-freeglut.p5m	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/manifests/x11-library-freeglut.p5m	Thu Aug 04 22:42:12 2011 -0700
@@ -25,7 +25,7 @@
 set name=pkg.summary \
     value="FreeGLUT - an open-source implementation of the GLUT specification"
 #
-dir path=usr/share/doc/freeglut
+dir path=usr/share/doc/freeglut facet.doc.html=true
 #
 file path=usr/include/GL/freeglut.h
 file path=usr/include/GL/freeglut_ext.h
--- a/pkg/manifests/x11-library-libfs.p5m	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/manifests/x11-library-libfs.p5m	Thu Aug 04 22:42:12 2011 -0700
@@ -31,7 +31,7 @@
 file path=usr/lib/libFS.so.5
 file path=usr/lib/llib-lFS.ln
 file path=usr/lib/pkgconfig/libfs.pc
-file path=usr/share/doc/libFS/FSlib.txt facet.devel=true
+file path=usr/share/doc/libFS/FSlib.txt
 link path=usr/X11/lib/$(ARCH64)/libFS.so \
     target=../../../lib/$(ARCH64)/libFS.so
 link path=usr/X11/lib/$(ARCH64)/libFS.so.5 \
--- a/pkg/manifests/x11-library-libice.p5m	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/manifests/x11-library-libice.p5m	Thu Aug 04 22:42:12 2011 -0700
@@ -19,7 +19,6 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 # DEALINGS IN THE SOFTWARE.
 #
-<transform file path=usr/share/doc/libICE/.* -> default facet.devel true>
 set name=pkg.fmri value=pkg:/x11/library/libice@__version:libICE__
 set name=pkg.description \
     value="Library and utilities to support the X Window System Inter-Client Exchange (ICE) protocol"
--- a/pkg/manifests/x11-library-libsm.p5m	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/manifests/x11-library-libsm.p5m	Thu Aug 04 22:42:12 2011 -0700
@@ -19,7 +19,6 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 # DEALINGS IN THE SOFTWARE.
 #
-<transform file path=usr/share/doc/libSM/.* -> default facet.devel true>
 set name=pkg.fmri value=pkg:/x11/library/libsm@__version:libSM__
 set name=pkg.description \
     value="The purpose of the X Session Management Protocol (XSMP) is to provide a uniform mechanism for users to save and restore their sessions.  The Session Management Library (SMlib) is a low-level C language interface to XSMP. It is expected that higher level toolkits will hide many of the details of session management from clients."
--- a/pkg/manifests/x11-library-libxcb.p5m	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/manifests/x11-library-libxcb.p5m	Thu Aug 04 22:42:12 2011 -0700
@@ -20,27 +20,19 @@
 # DEALINGS IN THE SOFTWARE.
 #
 
-<transform dir path=usr/share/xcb.* -> default facet.devel true>
-<transform file path=usr/share/xcb/.*\.pc$ -> default facet.devel true>
-<transform file path=usr/share/xcb/.*\.xml$ -> default facet.devel true>
-<transform file path=usr/share/xcb/.*\.xsd$ -> default facet.devel true>
+<transform dir file path=usr/share/xcb -> default facet.devel true>
 <transform file path=usr/lib/python.*/vendor-packages/xcbgen/.* -> default facet.devel true>
-<transform file path=usr/share/doc/libxcb/.*\.html$ -> default facet.devel true>
-<transform file path=usr/share/doc/libxcb/tutorial/.*\.html$ -> default facet.devel true>
-<transform file path=usr/share/doc/libxcb/.*\.css$ -> default facet.devel true>
-<transform file path=usr/share/doc/libxcb/tutorial/.*\.css$ -> default facet.devel true>
 # Autogenerate *.pyc manifest entries for each *.py file
 <transform file path=.*\.py$ -> emit file path=%(path)c>
 
-
 set name=pkg.fmri value=pkg:/x11/library/libxcb@__version:libxcb__
 set name=pkg.description \
     value="XCB - The X11 C Protocol Bindings."
 set name=pkg.summary value="libxcb - The X11 C protocol bindings"
 dir path=usr/include/xcb
 dir path=usr/lib/python$(PYTHON_PATH_VERSION)/vendor-packages/xcbgen
-dir path=usr/share/doc/libxcb
-dir path=usr/share/doc/libxcb/tutorial
+dir path=usr/share/doc/libxcb facet.doc.html=true
+dir path=usr/share/doc/libxcb/tutorial facet.doc.html=true
 dir path=usr/share/xcb
 #
 file path=usr/lib/libxcb-composite.so.0
@@ -216,8 +208,8 @@
 file path=usr/lib/$(ARCH64)/pkgconfig/xcb-xvmc.pc
 file path=usr/lib/$(ARCH64)/pkgconfig/xcb-xv.pc
 #
-file path=usr/share/doc/libxcb/tutorial/index.html facet.devel=true
-file path=usr/share/doc/libxcb/tutorial/xcb.css facet.devel=true
+file path=usr/share/doc/libxcb/tutorial/index.html
+file path=usr/share/doc/libxcb/tutorial/xcb.css
 #
 file path=usr/share/pkgconfig/xcb-proto.pc
 file path=usr/share/xcb/bigreq.xml
--- a/pkg/manifests/x11-library-libxext.p5m	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/manifests/x11-library-libxext.p5m	Thu Aug 04 22:42:12 2011 -0700
@@ -19,7 +19,6 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 # DEALINGS IN THE SOFTWARE.
 #
-<transform file path=usr/share/doc/libXext/.* -> default facet.devel true>
 set name=pkg.fmri value=pkg:/x11/library/libxext@__version:libXext__
 set name=pkg.description \
     value="Xlib-based client API for a number of common extensions to the X11 protocol, including SHAPE, MIT-SHM, DPMS, Sync, GenericEvent and more.   Also includes common extension framework used by other Xlib-based extension libraries."
--- a/pkg/manifests/x11-library-libxi.p5m	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/manifests/x11-library-libxi.p5m	Thu Aug 04 22:42:12 2011 -0700
@@ -19,7 +19,6 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 # DEALINGS IN THE SOFTWARE.
 #
-<transform file path=usr/share/doc/libXi/.* -> default facet.devel true>
 set name=pkg.fmri value=pkg:/x11/library/libxi@__version:libXi__
 set name=pkg.description \
     value="Xlib-based client API for the X Input extension to the X11 protocol"
--- a/pkg/manifests/x11-library-libxmu.p5m	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/manifests/x11-library-libxmu.p5m	Thu Aug 04 22:42:12 2011 -0700
@@ -51,8 +51,8 @@
 file path=usr/lib/libXmu.so.4
 file path=usr/lib/llib-lXmu.ln
 file path=usr/lib/pkgconfig/xmu.pc
-file path=usr/share/doc/libXmu/Xmu.xml facet.devel=true
-file path=usr/share/doc/libXmu/xlogo.svg facet.devel=true
+file path=usr/share/doc/libXmu/Xmu.xml
+file path=usr/share/doc/libXmu/xlogo.svg
 file path=usr/share/man/man3xmu/XSolarisCheckColormapEquivalence.3xmu
 file path=usr/share/man/man3xmu/XSolarisGetVisualGamma.3xmu
 link path=usr/X11/lib/$(ARCH64)/libXmu.so \
--- a/pkg/manifests/x11-library-libxtst.p5m	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/manifests/x11-library-libxtst.p5m	Thu Aug 04 22:42:12 2011 -0700
@@ -32,8 +32,8 @@
 file path=usr/lib/$(ARCH64)/pkgconfig/xtst.pc
 file path=usr/lib/libXtst.so.1
 file path=usr/lib/pkgconfig/xtst.pc
-file path=usr/share/doc/libXtst/recordlib.xml facet.devel=true
-file path=usr/share/doc/libXtst/xtestlib.xml facet.devel=true
+file path=usr/share/doc/libXtst/recordlib.xml
+file path=usr/share/doc/libXtst/xtestlib.xml
 file path=usr/share/man/man3xtst/XTestCompareCurrentCursorWithWindow.3xtst
 file path=usr/share/man/man3xtst/XTestCompareCursorWithWindow.3xtst
 file path=usr/share/man/man3xtst/XTestDiscard.3xtst
--- a/pkg/manifests/x11-library-toolkit-libxaw7.p5m	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/manifests/x11-library-toolkit-libxaw7.p5m	Thu Aug 04 22:42:12 2011 -0700
@@ -19,7 +19,6 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 # DEALINGS IN THE SOFTWARE.
 #
-<transform file path=usr/share/doc/libXaw/.* -> default facet.devel true>
 set name=pkg.fmri value=pkg:/x11/library/toolkit/libxaw7@__version:libXaw__
 set name=pkg.description \
     value="Xaw is the X Athena Widget Set. Xaw is a widget set based on the X Toolkit Intrinsics (Xt) Library."
--- a/pkg/manifests/x11-library-xtrans.p5m	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/manifests/x11-library-xtrans.p5m	Thu Aug 04 22:42:12 2011 -0700
@@ -22,8 +22,8 @@
 
 # All the files in this package are only needed when building other
 # software from the X Window System, so we mark everything as part of
-# the developer facet
-<transform dir file -> set facet.devel true>
+# the developer facet, except for the documentation, which is facet.doc.
+<transform dir file path=usr/include/X11/Xtrans -> set facet.devel true>
 set name=pkg.fmri value=pkg:/x11/library/xtrans@__version:xtrans__
 set name=pkg.description \
     value="xtrans is a library of code that is shared among various X packages to handle network protocol transport in a modular fashion, allowing a single place to add new transport types.  It is used by the X server, libX11, libICE, the X font server, and related components."
--- a/pkg/transforms/facets	Wed Aug 03 12:49:34 2011 -0700
+++ b/pkg/transforms/facets	Thu Aug 04 22:42:12 2011 -0700
@@ -25,35 +25,42 @@
 <transform dir link path=usr/X11 -> default facet.compat.x11-links true>
 
 ## Documentation
+
 # Man pages
-<transform dir  path=usr/share/man/.* -> default facet.doc.man true>
-<transform file path=usr/share/man/.* -> default facet.doc.man true>
+<transform dir file link hardlink path=usr/share/man(/.+){0,1}$ -> \
+    default facet.doc.man true>
+
 # General docs
-<transform dir  path=usr/share/doc/.* -> default facet.doc true>
-<transform file path=usr/share/doc/.* -> default facet.doc true>
-<transform file path=usr/share/doc/.*\.html$ -> default facet.doc.html true>
-<transform file path=usr/share/doc/.*\.pdf$ -> default facet.doc.pdf true>
+<transform dir file link hardlink path=usr/share/doc/ -> \
+    default facet.doc true>
+<transform dir file link hardlink path=usr/share/doc/.*(css|html?) -> \
+    default facet.doc.html true>
+<transform dir file link hardlink path=usr/share/doc/.*pdf$ -> \
+    default facet.doc.pdf true>
+
 # RBAC docs
-<transform dir  path=usr/lib/help -> default facet.doc.html true>
-<transform file path=usr/lib/help/.*\.html$ -> default facet.doc.html true>
+<transform dir file path=usr/lib/help -> default facet.doc.html true>
+
+# Delete generic doc facet when more specific one is listed
+<transform dir file link hardlink facet.doc.html=true -> delete facet.doc true>
+<transform dir file link hardlink facet.doc.pdf=true -> delete facet.doc true>
 
 ## Development files
+
 # Headers
-<transform dir  path=usr/include.* -> default facet.devel true>
-<transform file path=usr/include/.*\.h$ -> default facet.devel true>
+<transform dir path=usr/include -> default facet.devel true>
+<transform file link hardlink path=usr/include/.+\.h$ -> \
+    default facet.devel true>
+
 # pkg-config data files
-<transform dir  path=usr/lib/pkgconfig -> default facet.devel true>
-<transform file path=usr/lib/pkgconfig/.* -> default facet.devel true>
-<transform dir  path=usr/lib/.*/pkgconfig -> default facet.devel true>
-<transform file path=usr/lib/.*/pkgconfig/.* -> default facet.devel true>
-<transform dir  path=usr/share/pkgconfig -> default facet.devel true>
-<transform file path=usr/share/pkgconfig/.* -> default facet.devel true>
+<transform dir file link hardlink path=usr/(share|lib)(/.+){0,1}/pkgconfig -> \
+    default facet.devel true>
+
 # autoconf macros
-<transform dir  path=usr/share/aclocal -> default facet.devel true>
-<transform file path=usr/share/aclocal/.*\.m4$ -> default facet.devel true>
+<transform dir file link hardlink path=usr/share/aclocal -> \
+    default facet.devel true>
+
 # lint libraries
-<transform file path=usr/lib/llib-.*\.ln$ -> default facet.devel true>
-# Developer documentation
-<transform dir  path=usr/share/man/man3.* -> default facet.devel true>
-<transform file path=usr/share/man/man3.* -> default facet.devel true>
+<transform file link hardlink path=usr/lib/llib-.+\.ln$ -> \
+    default facet.devel true>