pkgdepend man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana logo
[printable version]

User Commands						  pkgdepend(1)

NAME
     pkgdepend - image packaging system dependency analyzer

SYNOPSIS
     /usr/bin/pkgdepend [options] command [cmd_options] [operands]

     /usr/bin/pkgdepend generate [-IMm] -d dir [...] [-D name=value]
	 [-k path] manifest_path

     /usr/bin/pkgdepend resolve [-dmosSv] manifest_path ...

DESCRIPTION
     pkgdepend(1) is used to generate and resolve dependencies for
     packages.	A package may depend upon files from other packages.
     pkgdepend(1) is typically used in two passes:  file dependency
     generation and file-to-package resolution.

     The generate subcommand examines a package's content and discovers
     what external files the package needs.

     The resolve subcommand takes the list of files from the generate
     step, and figures out the name of the packages, limited to some
     reference set of packages, that contain the dependent files.
     Currently, the reference set of packages is defined as the packages
     currently installed on the publisher's system.

     Several aspects of delivered files are used as sources of
     dependency information:

     ELF	     ELF headers in delivered files are analyzed for
		     dependency information, with the -k and -D options
		     modifying the information obtained.  For more
		     details on ELF dependencies, please see ldd(1)
		     and the Solaris Linker and Libraries Guide.

     Scripts	     Shell scripts that contain '#!' lines referencing
		     an interpreter will result in a dependency on the
		     package that delivers that interpreter.

     Python	     Python scripts are first analyzed as scripts.  In
		     addition, any imports the script declares may also
		     serve as sources of dependency information.

     Hard links	     Hard links in manifests will result in a
		     dependency on the package that delivers the link
		     target.

     SMF	     SMF service manifests delivered that include
		     "require_all" dependencies will result in
		     dependencies on the packages that deliver the SMF
		     manifests that provide those FMRIs.

OPTIONS
     The following options are supported:

     -R dir
	  Operate on the image rooted at dir, rather than the one
	  discovered automatically.

     --help or -?
	  Displays a usage message.

SUBCOMMANDS
     The following subcommands are supported:

     generate [-IMm] -d dir [-d dir] [-D name=value] [-k path] manifest_path
	  Produce the dependencies on files of the manifest specified by
	  manifest_path.

	  With -I, the dependencies which are satisfied within the
	  manifest given will be shown.

	  With -M, a list of those file types which could not be
	  analyzed will be displayed.

	  With -m, the original manifest will be repeated with any
	  discovered dependencies added after.

	  With -d, add the directory provided to a list of directories
	  to search for the manifest's files.

	  For each -D, add the 'value' as a way to expand the token
	  'name' in run paths for elf file dependencies.

	  For each -k, add the path given to the list of paths in which
	  to look for kernel modules.  Using the -k argument removes the
	  default paths which are /kernel and /usr/kernel.

     resolve [-mov] [-d output_dir] [-s suffix] manifest_path ...
	  Transform dependencies on files into dependencies on the
	  packages which deliver those files.  Dependencies are first
	  resolved against the manifests given on the command line and
	  then against the packages installed on the system.  By
	  default, the dependencies for each manifest are placed in a
	  file whose name is determined by appending ".res" to the
	  manifest's path.

	  With -m, repeat the manifest, with any dependencies produced
	  by the generate step removed, before adding the resolved
	  dependencies.

	  With -o, write the results to standard output.

	  With -d, write the resolved dependencies for each manifest
	  provided in a separate file in output_dir.  By default, each
	  file will have the same basename as the manifest that was the
	  source of the dependencies written to that file.

	  With -s, for each output file, append the given suffix (a "."
	  will be added to the argument if not provided) to the basename
	  of the file that was the source of the resolved dependencies.

	  With -S, only resolve against the manifests given on the command
	  line and not against those installed on the system.

	  With -v, include additional package dependency debugging
	  metadata.

EXAMPLES
     Example 1: Generate the dependencies for the manifest written in
     foo, whose content directory is in ./bar/baz and store the results
     in foo.fdeps.

     $ pkgdepend generate foo ./bar/baz > foo.fdeps

     Example 2: Resolve the file dependencies in foo.fdeps, and
     bar.fdeps against each other, and the packages currently installed
     on the system.

     $ pkgdepend resolve foo.fdeps bar.fdeps
     $ ls *.res foo.fdeps.res bar.fdeps.res

     Example 3: Generate the file dependencies for two manifests (foo
     and bar) and retain all the information in the original manifests.
     Then resolve the file dependencies and place the resulting
     manifests, which could be used with pkgsend publish, in ./res

     $ pkgdepend generate -m foo > ./deps/foo
     $ pkgdepend generate -m bar > ./deps/bar
     $ pkgdepend resolve -m -d ./res ./deps/foo ./deps/bar
     $ ls ./res foo	bar

     Example 4: Replace all $PLATFORM tokens in the run paths in elf
     files with sun4v and sun4u while generating the dependences for the
     manifest written in foo whose content directory is in /.

     $ pkgdepend generate -D 'PLATFORM=sun4v' -D 'PLATFORM=sun4u' foo /

     Example 5: Use /kmod as the directory in which to find kernel
     modules when generating the dependencies for the manifest written
     in foo whose content directory is in /.

     $ pkgdepend generate -k /kmod foo /

EXIT STATUS
     The following exit values are returned:

     0	   Everything worked.

     1	   Something bad happened.

     2	   Invalid command line options were specified.

ATTRIBUTES
     See attributes(5) for descriptions of the following attributes:
     ____________________________________________________________
    |	    ATTRIBUTE TYPE	  |	  ATTRIBUTE VALUE	|
    |_____________________________|_____________________________|
    | Availability		  | SUNWipkg			|
    |				  | pkg:/package/pkg		|
    |_____________________________|_____________________________|
    | Interface Stability	  | None / Under Development	|
    |_____________________________|_____________________________|

SEE ALSO
     attributes(5), pkg(5)
[top]

List of man pages available for OpenIndiana

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net