xref: /titanic_41/usr/src/tools/depcheck/make_pkg_db.1 (revision a2bb96e7d59f447f59bc306e53b7d00e38594667)
ident "%Z%%M% %I% %E% SMI"
<!DOCTYPE REFENTRY PUBLIC "-//Sun Microsystems//DTD DocBook V3.0-Based SolBook Subset V2.0//EN" [ <!--ArborText, Inc., 1988-1997, v.4001--> <!ENTITY SolarisSoftwareCD1 "Solaris 8 Software 1 of 2 Intel Platform Edition"> <!ENTITY % commonents SYSTEM "smancommon.ent"> %commonents; ]> <?Pub UDT _bookmark _target> <?Pub EntList brvbar bull cross dash diam diams frac12 frac13 frac14 hellip laquo lArr loz mdash nabla ndash para pound rArr raquo sect yen trade nbsp> <?Pub Inc> <refentry id="make-pkg-db-1"><?Pub Caret1> <!-- GENERIC CmdSynopsis TEMPLATE @(#)man1_template.sgm 1.6 97/09/23 SMI; --> <refmeta><refentrytitle>make_pkg_db</refentrytitle><manvolnum>1</manvolnum> <refmiscinfo class="date">2 November 2000</refmiscinfo> <refmiscinfo class="sectdesc">&man1;</refmiscinfo> <refmiscinfo class="software">&release;</refmiscinfo> <refmiscinfo class="arch">generic</refmiscinfo> <refmiscinfo class="copyright"> Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. CDDL HEADER START The contents of this file are subject to the terms of the Common Development and Distribution License, Version 1.0 only (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 </refmiscinfo> </refmeta> <refnamediv><indexterm><primary sortas="blueprint">make_pkg_db &mdash; create a Perl DBM database of installed software</primary></indexterm><indexterm><primary sortas="create a Perl DBM database of installed software">create a Perl DBM database of installed software &mdash; make_pkg_db</primary></indexterm><refname>make_pkg_db</refname><refpurpose>create a Perl DBM database of installed software</refpurpose></refnamediv> <refsynopsisdiv><title>&synp-tt;</title> <cmdsynopsis><command>make_pkg_db</command><arg choice="plain">&nbsp;<option>dbdir</option> <replaceable>dbm_database_pathname</replaceable>&nbsp;</arg><arg choice="opt"><option>h</option></arg><arg choice="opt" rep="repeat"><option>ifiles</option> <replaceable>filename</replaceable></arg><arg choice="opt"><option>pkgdef</option> <replaceable>package_pool_pathname</replaceable></arg> </cmdsynopsis></refsynopsisdiv> <refsect1><title>&desc-tt;</title> <para>The <command>make_pkg_db</command> command (a Perl script) generates a Perl DBM database of software installed on a system based on <filename>/var/sadm/install/contents</filename> or the contents of a package pool directory. The Perl DBM database files are used by <citerefentry><refentrytitle>get_depend_info</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para> <para>The Perl DBM database files contain information keyed on a file name. Some files, for example, list the package in which a file is included and the permissions of the file.</para> <para>If you run <command>make_pkg_db&nbsp;-dbdir&nbsp;<replaceable>dbm_database_pathname</replaceable></command>, an error message such as:</para> <para><literal>***CANNOT RESOLVE ABSOLUTE PATH /usr/java/bin/appletviewer</literal></para> <para>is generated because the script cannot resolve symbolic links based on the information in <filename>/var/sadm/install/contents</filename>. In <filename>/var/sadm/install/contents</filename>, for example, <filename>appletviewer</filename> is specified as a symbolic link:</para> <programlisting>/usr/bin/appletviewer=../java/bin/appletviewer s none SUNWj2dev</programlisting> <para>Unfortunately, <filename>/usr/java</filename> is a symbolic link to <filename>/usr/java1.2</filename>. The correct file entry in <filename>/var/sadm/install/contents</filename> is therefore <filename>/usr/java1.2/bin/appletviewer</filename>. It is impossible for this script to resolve this link based on the information in <filename>/var/sadm/install/contents</filename>.</para> <para>To correct this problem, create a file named <filename>MyLinkResolution</filename> and add this entry:</para> <programlisting>/usr/bin/appletviewer=../java1.2/bin/appletviewer s none SUNWj2dev</programlisting> <para>Then enter this command:</para> <para><programlisting>make_pkg_db -dbdir <replaceable>dbm_database_pathname</replaceable> -ifiles MyLinkResolution</programlisting>When you execute this command, the following message is displayed:</para> <programlisting>...OVERRIDDEN: /usr/bin/appletviewer= ../java/bin/appletviewer s none SUNWj2dev</programlisting> <para>This message indicates that the original entry in <filename>/var/sadm/install/contents</filename> is ignored and your new entry in <filename>MyLinkResolution</filename> is used instead. </para> <para><filename>SampleLinks</filename> is a file you can use to resolve links in <filename>/var/sadm/install/contents</filename> for Solaris (Intel Platform Edition). <filename>SamplePkgLinks</filename> is a file you can use to resolve some of the links used on the &SolarisSoftwareCD1; CD. You might want to modify these two preceding files for SPARC or for your particular environment.</para> <para>The <command>make_pkg_db</command> script verifies the files it finds against the software that is actually installed on the system. The more complete the information, the more accurate the output of the script.</para> </refsect1> <refsect1><title>&opts-tt;</title> <para>The following options are supported:</para> <variablelist termlength="narrow"><varlistentry><term><option>dbdir</option></term><listitem><para>Specifies the directory in which you want to place the output Perl DBM databases.</para> </listitem></varlistentry> <varlistentry><term><option>h</option></term><listitem><para>Displays help.</para> </listitem></varlistentry> <varlistentry><term><option>ifiles</option></term><listitem><para>Specifies the name of an input file you want to use to help in resolving symbolic links.</para> </listitem></varlistentry> <varlistentry><term><option>pkgdef</option></term><listitem><para>Specifies the path name of the package pool you want to use instead of <filename>/var/sadm/install/contents</filename>.</para> </listitem></varlistentry> </variablelist> </refsect1> <refsect1><title>&oper-tt;</title> <para>The following operands are supported:</para> <variablelist termlength="medium"><varlistentry><term><replaceable>dbm_database_pathname</replaceable></term><listitem><para>Specifies the directory in which you want to place the output Perl DBM databases.</para> </listitem></varlistentry> <varlistentry><term><replaceable>filename</replaceable></term><listitem><para>Specifies the name of a file or files that contain data in the format used in <filename>/var/sadm/install/contents</filename>.</para> </listitem></varlistentry> <varlistentry><term><replaceable>package_pool_pathname</replaceable></term><listitem><para>Specifies the path name of the package pool you want to use instead of <filename>/var/sadm/install/contents</filename>.</para> </listitem></varlistentry> </variablelist> </refsect1> <refsect1><title>&attr-tt;</title> <para>See <olink targetdocent="REFMAN5" localinfo="attributes-5"><citerefentry><refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry></olink> for descriptions of the following attributes:</para> <informaltable frame="all"><tgroup cols="2" colsep="1" rowsep="1"><colspec colwidth="198*"><colspec colwidth="198*"><tbody><row><entry align="left" valign="top">ATTRIBUTE TYPE</entry><entry align="left" valign="top">ATTRIBUTE VALUE</entry></row><row><entry align="left" valign="top">Availability</entry><entry align="left" valign="top">SUNWonbld</entry></row><row><entry align="left" valign="top">CSI</entry><entry align="left" valign="top">Enabled</entry></row><row><entry align="left" valign="top">Interface Stability</entry><entry align="left" valign="top">Evolving</entry></row><row><entry align="left" valign="top">MT-Level</entry><entry align="left" valign="top">Unsafe</entry></row></tbody></tgroup></informaltable> </refsect1> <refsect1><title>&also-tt;</title> <para><citerefentry><refentrytitle>get_depend_info</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <olink targetdocent="REFMAN5" localinfo="attributes-5"><citerefentry><refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry></olink></para> </refsect1> <refsect1><title>&note-tt;</title> <para>DBM database files are platform dependent. DBM database files you generate on a SPARC machine, for example, do not work on an IA machine (and vice-versa). </para> <para>This script might not resolve all symbolic links.</para> </refsect1> </refentry> <?Pub *0000008214 464>