<?xml version="1.0" encoding="iso-8859-1"?>
<!--Arbortext, Inc., 1988-2008, v.4002-->
<!DOCTYPE refentry PUBLIC "-//Sun Microsystems//DTD SolBook-XML 3.7//EN" "xsolbook.dtd" [
<!ENTITY % ent SYSTEM "entities.ent">
%ent;
]>
<refentry id="pkgdiff-1">
<refmeta><refentrytitle>pkgdiff</refentrytitle><manvolnum>1</manvolnum>
<refmiscinfo class="date">26 Feb 2013</refmiscinfo>
<refmiscinfo class="sectdesc">&man1;</refmiscinfo>
<refmiscinfo class="software">&release;</refmiscinfo>
<refmiscinfo class="arch">generic</refmiscinfo>
<refmiscinfo class="copyright">Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.</refmiscinfo>
</refmeta>
<refnamediv>
<refname>pkgdiff</refname><refpurpose>compare package manifests</refpurpose>
</refnamediv>
<refsynopsisdiv><title></title>
<synopsis>/usr/bin/pkgdiff [-i <replaceable>attribute</replaceable>]... [-o <replaceable>attribute</replaceable>]
[-t <replaceable>action_name</replaceable>[,<replaceable>action_name</replaceable>]...]...
[-v <replaceable>name</replaceable>=<replaceable>value</replaceable>]... (<replaceable>file1</replaceable> | -) (<replaceable>file2</replaceable> | -)
</synopsis>
</refsynopsisdiv>
<refsect1 id="pkgdiff-1-desc" role="description"><title></title>
<para><command>pkgdiff</command> compares two package manifests and reports differences. One of the
manifests can be read from <literal>stdin</literal> by specifying <literal>-</literal> in place of
the file name. <command>pkgdiff</command> sorts each manifest and action into a consistent order
before comparison.</para>
<para>Output is in the following form:</para>
<variablelist termlength="wholeline">
<varlistentry><term>+ <replaceable>complete_action</replaceable></term>
<listitem><para>This action is in <replaceable>file2</replaceable> but not
in <replaceable>file1</replaceable>.</para>
</listitem>
</varlistentry>
<varlistentry><term>- <replaceable>complete_action</replaceable></term>
<listitem><para>This action is in <replaceable>file1</replaceable> but not
in <replaceable>file2</replaceable>.</para>
</listitem>
</varlistentry>
</variablelist>
<programlisting><replaceable>actionname</replaceable> <replaceable>keyvalue</replaceable> [<replaceable>variant values, if any</replaceable>]</programlisting>
<variablelist termlength="wholeline">
<varlistentry><term>- <replaceable>attribute1</replaceable>=<replaceable>value1</replaceable></term>
<listitem><para>This <replaceable>attribute</replaceable>,<replaceable>value</replaceable> is
in <replaceable>file1</replaceable> but not in <replaceable>file2</replaceable>.</para>
</listitem>
</varlistentry>
<varlistentry><term>+ <replaceable>attribute2</replaceable>=<replaceable>value2</replaceable></term>
<listitem><para>This <replaceable>attribute</replaceable>,<replaceable>value</replaceable> is
in <replaceable>file2</replaceable> but not in <replaceable>file1</replaceable>.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Actions with different variants but the same type and key attribute
value are treated as separate actions for purposes of comparison. Thus, actions
that change attributes are shown in their complete form rather than as attribute
changes.</para>
</refsect1>
<refsect1 role="options"><title></title>
<para>The following options are supported:</para>
<variablelist termlength="wholeline">
<varlistentry><term><option>-help</option></term>
<listitem><para>Display a usage message.</para>
</listitem>
</varlistentry>
<varlistentry><term><option>i</option> <replaceable>attribute</replaceable></term>
<listitem><para>Ignore <replaceable>attribute</replaceable> if present during comparisons. File hash values
can be ignored with <option>i</option> <replaceable>hash</replaceable>. This option cannot be used
with the <option>o</option> option. This option can be specified multiple times.</para>
</listitem>
</varlistentry>
<varlistentry><term><option>o</option> <replaceable>attribute</replaceable></term>
<listitem><para>Only report differences in <replaceable>attribute</replaceable>.
This option cannot be used with the <option>i</option> option. This option
elides any action changes that do not affect <replaceable>attribute</replaceable> on
an action.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>t</option> <replaceable>action_name</replaceable>[,<replaceable>action_name</replaceable>]...</term>
<listitem>
<para>Only compare the specified actions. Multiple actions can be specified in a comma-separated
list. The value of <replaceable>action_name</replaceable> is one of the actions listed in
&ldquo;Actions&rdquo; in the <literal>pkg</literal>(7) man page. For example, the following values
could be specified for <replaceable>action_name</replaceable>: <literal>file</literal>,
<literal>dir</literal>, <literal>driver</literal>, <literal>depend</literal>,
<literal>set</literal>. This option can be specified multiple times.</para>
</listitem>
</varlistentry>
<varlistentry><term><option>v</option> <replaceable>name</replaceable>=<replaceable>value</replaceable></term>
<listitem><para>Only compute differences for this variant value. For example,
only compute differences for <literal>arch=sparc</literal>. This variant tag
is removed for all actions before comparison. Only one value can be specified
per variant. This option can be specified multiple times for different variants.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="exit-status"><title></title>
<para>The following exit values are returned:</para>
<variablelist>
<varlistentry><term><returnvalue>0</returnvalue></term>
<listitem><para>No differences were found.</para>
</listitem>
</varlistentry>
<varlistentry><term><returnvalue>1</returnvalue></term>
<listitem><para>Differences were found.</para>
</listitem>
</varlistentry>
<varlistentry><term><returnvalue>2</returnvalue></term>
<listitem><para>Invalid command line options were specified.</para>
</listitem>
</varlistentry>
<varlistentry><term><returnvalue>3</returnvalue></term>
<listitem><para>An error occurred.</para>
</listitem>
</varlistentry>
<varlistentry><term><returnvalue>99</returnvalue></term>
<listitem><para>An unanticipated exception occurred.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="attributes"><title></title>
<para>See <literal>attributes</literal>(7) for descriptions of the following
attributes:</para>
<informaltable frame="all" orient="port">
<tgroup cols="2" colsep="1" rowsep="1"><colspec colname="col1" colwidth="198*"
align="left"/><colspec colname="col2" colwidth="198*" align="left"/><thead>
<row>
<entry align="center">
<para>ATTRIBUTE TYPE</para>
</entry>
<entry align="center">
<para>ATTRIBUTE VALUE</para>
</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left">
<para>Availability</para>
</entry>
<entry align="left">
<para><literal>package/pkg</literal></para>
</entry>
</row>
<row>
<entry align="left">
<para>Interface Stability</para>
</entry>
<entry align="left">
<para>Uncommitted</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable></refsect1>
<refsect1 role="see-also"><title></title>
<para><olink targetdoc="refman" targetptr="pkg-7"><citerefentry><refentrytitle>pkg
</refentrytitle><manvolnum>7</manvolnum></citerefentry></olink></para>
<para><literal>https://java.net/projects/ips/pages/Home</literal></para>
</refsect1>
</refentry>