#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#

#
# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
# Copyright 2014 Andrzej Szeszo. All rights reserved.
#

<transform dir path=etc$ -> default group sys>
<transform dir path=etc/inet$ -> default group sys>
<transform dir path=var$ -> default group sys>

<transform dir path=etc/profile.d$ -> default group sys>
<transform dir path=etc/profile.d/.* -> default group sys>
<transform dir path=etc/skel$ -> default group sys>
<transform dir path=usr$ -> default group sys>
<transform dir path=usr/lib/pkgconfig$ -> default group other>
<transform dir path=usr/lib/.*/pkgconfig$ -> default group other>
<transform dir path=usr/share$ -> default group sys>
<transform dir path=usr/share/application-registry$ -> default group other>
<transform dir path=usr/share/aclocal$ -> default group other>
<transform dir path=usr/share/doc$ -> default group other>
<transform dir path=usr/share/gnome$ -> default group other>
<transform dir path=usr/share/lib$ -> default group sys>
<transform dir path=usr/share/lib/java$ -> default group sys>
<transform dir path=usr/share/lib/java/javadoc$ -> default group other>

#
# Users added by our packages should be blocked from ftp access by default
#
<transform user -> default ftpuser false>

#
# Changes to zoneinfo files on live systems need to trigger a refresh of
# the timezone reloader.  See tzreload(1m).
#
<transform file link hardlink path=usr/share/lib/zoneinfo/.+ -> add refresh_fmri "svc:/system/timezone:default">

#
# HPN-SSH configuration files should be preserved and cause the service restart
#
<transform file path=etc/hpnssh/sshd?_config -> default preserve renamenew>
<transform file path=etc/hpnssh/sshd_config -> default restart_fmri svc:/network/hpnssh:default>

# Change in Graphviz plugins should refresh the plugins configuration
<transform file link hardlink path=usr/lib.*/graphviz/libgvplugin_ -> \
    default refresh_fmri svc:/application/graphviz/configure-plugins:default>

#
# Most directories and files under /etc/security are group sys
#
<transform dir path=etc/security$ -> default group sys>
<transform dir path=etc/security/exec_attr.d$ -> default group sys>
<transform file path=etc/security/exec_attr.d/.* -> default group sys>
<transform dir path=etc/security/prof_attr.d$ -> default group sys>
<transform file path=etc/security/prof_attr.d/.* -> default group sys>
<transform dir path=etc/security/auth_attr.d$ -> default group sys>
<transform file path=etc/security/auth_attr.d/.* -> default group sys>

#
# SMF directories and files
#
<transform dir path=lib/svc/manifest -> default group sys>
<transform file path=lib/svc/manifest -> default group sys>
<transform file path=lib/svc/method/.* -> default mode 0555>

#
# Many files under /usr/share are group other
#
<transform dir path=usr/share/locale(/.+){0,2}$ -> default group other>
<transform file path=usr/share/locale(/.+){3}$ -> default group other>
<transform dir path=usr/share/applications$ -> default group other>
<transform file path=usr/share/applications/.* -> default group other>
<transform dir path=usr/share/pixmaps$ -> default group other>
<transform file path=usr/share/pixmaps/.* -> default group other>

<transform dir path=usr/gnu/share$ -> default group sys>

<transform dir path=var/db$ -> default group sys>
<transform dir path=var/lib$ -> default group other>
<transform dir path=var/log$ -> default group sys>

# usr/share/icons, and all its subdirectories at any level are group other
<transform dir path=usr/share/icons(/.*){0,1}$ -> default group other>

#
# programs & shared objects should generally have mode 0555
#
<transform file path=.*lib/.*\.so.* -> default mode 0555>
<transform file path=.*bin/.* -> default mode 0555>
<transform file path=.*lib/inet/.* -> default mode 0555>

# files in libexec should have mode 0555
<transform file path=usr/libexec/.* -> default mode 0555>

#
# For what's left, go with root:bin 0444 for files, 0755 for directories
#
<transform dir file -> default owner root>
<transform dir file -> default group bin>
<transform file -> default mode 0444>
<transform dir -> default mode 0755>

set name=variant.arch value=$(MACH)

#
# Defaults for legacy metadata for SVR4 package information
#
<transform legacy -> default vendor "Project OpenIndiana">
<transform legacy -> default hotline \
	"Please contact your local service provider">
<transform legacy -> default arch $(MACH)>
<transform legacy -> default category "system">
# This is set to the final version number delivered as SVR4 format
<transform legacy -> default version "11.11.0,REV=2010.05.25.01.00">


#
# Set the default Python for mediated links
#
<transform link mediator=python mediator-version=3.9 -> default tmp.fmri %{pkg.fmri} >
<transform link tmp.fmri=.*runtime/python -> default mediator-priority vendor>
<transform link tmp.fmri=.* -> delete tmp.fmri .* >

#
# Set the default Ruby for mediated links
#
<transform link mediator=ruby mediator-version=2.3 -> default mediator-priority vendor>

#
# Set the default MySQL for mediated links
#
<transform link mediator=mysql mediator-implementation=mariadb mediator-version=10.6 -> default mediator-priority vendor>

#
# Disable gtk3 csd by default
#
<transform link mediator=nocsd mediator-implementation=gtk3-nocsd -> default mediator-priority vendor>

#
# Add a facet.version-lock.{package} to each 'optional' consolidation
# incorporation dependency so that we can install without having to
# mangle the system in some way.
#
<transform depend type=optional fmri=(pkg:/)?consolidation/.+-incorporation@ -> \
    default tmp.fmri %{pkg.fmri} >
<transform depend tmp.fmri=pkg:/(.+)@.*$ -> \
    default facet.version-lock.%<1> true >
<transform depend tmp.fmri=.*-> delete tmp.fmri .* >

<transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>

# Avoid mangling compressed man pages
<transform file path=usr.*/man/.+\.(Z|bzip2|gz|xz)$ -> default mangler.bypass true>

# Create default package-level attributes
<transform set name=pkg.fmri -> emit set name=userland.info.git-remote \
             value=$(USERLAND_GIT_REMOTE)>
<transform set name=pkg.fmri -> emit set name=userland.info.git-branch \
             value=$(USERLAND_GIT_BRANCH)>
<transform set name=pkg.fmri -> emit set name=userland.info.git-rev \
             value=$(USERLAND_GIT_REV)>
<transform set name=pkg.fmri -> emit set name=userland.info.component \
    value=$(COMPONENT)>