Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Thursday, March 14, 2019
 
 

spectool (1)

Name

spectool - A tool for extracting information from pkgbuild(1) spec files

Synopsis

spectool [OPTIONS] command spec...

Description

PKGTOOL(1)                  General Commands Manual                 PKGTOOL(1)



NAME
       spectool  -  A  tool  for  extracting information from pkgbuild(1) spec
       files


SYNOPSIS
       spectool [OPTIONS] command spec...


DESCRIPTION
       spectool is a tool that parses a given list of pkgbuild(1)  spec  files
       and can be used for extracting information from them.  Its primary pur-
       pose is to facilitate scripting and interfacing with pkgbuild(1).


OPTIONS
   General
       -v or --verbose
              Increase verbosity.  Use -v to prefix the output lines with  the
              name of the spec file they belong to.

       -q or --quiet
              Silent operation (no diagnostic messages).

       --rcfile=file
              Read  default  configuration  from file.  Default: ./.pkgtoolrc,
              ~/.pkgtoolrc

       --norc Ignore the default rc files.

       --ips  Print IPS package names, even on  SVr4  systems,  if  pkg(7)  is
              installed.

       --svr4 Print SVr4 package names, even on IPS systems.


   Directories and search paths:
       --specdirs=path or --spec=path
              Specify a colon separated list of directories to search for spec
              files in --topdir=dir Use dir as the  rpm  base  directory  (aka
              %topdir,  where  the SPECS, SOURCES, RPMS, SRPMS, BUILD directo-
              ries are found).  Default: ~/packages

       --logdir=dir or --log=dir
              Write build logs to dir.


   Options controlling the build:
       --nodeps / --deps
              Ignore/verify  dependencies   before   building   a   component.
              Default: --deps

       --with foo or --with-foo / --without foo or --without-foo
              These options are passed on to pkgbuild(1) as is.  They are used
              for enabling/disabling conditional build options.


   Commands:
       eval expr
              Evaluate expr in the context of each given spec file

       get_packages
              List the packages defined in the given spec files

       get_sources
              List the sources (defined by Source tags)  used  by  each  given
              spec file.  Sources in %use'd spec files are also included.

       get_public_sources
              Same as get_sources but list only the public sources (omit those
              listed in a NoSource tag)

       get_block block_name
              Print the expanded block (sctiptlet) called block_name from each
              given spec file.  Example:

              spectool get_block prep foo.spec

       get_files
              Print the files sections of each given spec file

       get_meta
              Print the Meta tags defined in each spec file

       get_package_names [-a]
              Print  the  package  names defined in each given spec file.  Use
              --ips or --svr4 to select the package format, otherwise  package
              names of the native format are printed.  Use -a to include obso-
              lete/renamed IPS packages.

       match_package_names
              Display how %package labels map to SVr4 package  names  and  IPS
              package names in each given spec file spec

       get_patches
              Print  the  patches  (defined  by Patch tags) used by each given
              spec files.  The patches in %use'd spec file are also included.

       get_public_patches
              Same as get_patches but only prints the  public  patches  (omits
              those listed in NoPatch tags)

       get_requires package name
              Prints  the  runtime  dependencies  (Requires tags) belonging to
              package label package name and defined in each given spec  file.
              Example:

              spectool get_requires SUNWgtk2-devel SUNWgtk2.spec

       get_all_requires
              Prints all runtime dependencies (Requires tags) belonging to all
              packages defined in the given spec file.

       get_prereq package_name
              Same as get_requires but for PreReq tags.

       get_buildrequires
              Prints the build-time dependencies of the given spec files.

       get_classes
              Print any SVr4 classes (other than "none") in each of the  given
              spec files.

       get_class_script_names
              Print  any SVr4 class action script names defined in each of the
              given spec files.

       get_included_files
              Print all files included (using the %include directive) in  each
              given spec file, recursively.

       get_used_spec_files [-l]
              Print all files referenced using the %use tag in each given spec
              file.  With the -l option, print  the  labels  assigned  to  the
              %use'd spec files as well.

       get_publish_scripts
              Print the path to the IPS publishing scripts used for publishing
              each IPS package defined by the given spec files.

       get_ips_pkgname file|package_name
              Print the IPS package name and version that corresponds  to  the
              given  package_name  (IPS or SVr4) or file.  No spec files argu-
              ments are needed for this command.

       get_error
              Print any syntax errors in the given spec files.

       verify Parse the given spec files and return 0 if they  can  be  parsed
              without errors, or non-0 if any of them have errors.



   Spec Files
       specs...
              List  of  spec files to process. Either full path names or names
              of spec files in the spec directory search path.

              Spec files are build recipes, similar to rpmbuild's  spec  files
              on  Linux systems.  You can find detailed information about spec
              files in /usr/share/doc/pkgbuild/spec-files.txt


EXAMPLES
       Example 1: Print the value of the Version tag from each  spec  file  in
       the  current  directory,  prefixing  with the name of the spec file (-v
       option):

       spectool -v eval '%version' *.spec

       Example 2: Print the build scriptlet of  the  given  spec  file,  using
       debug options:

       spectool --with-debug get_block build foo.spec

       Example  3:  Print  the  IPS  package name of the package that contains
       usrbinbash:

       spectool get_ips_pkgname usrbinbash


EXIT STATUS
       The following exit values are returned:


       0      SUCCESS (command passed for all spec files)

       >0     FAILURE (the number of spec files that failed)


FILES
       /usr/bin/spectool
              executable for pkgtool

       configuration file for pkgtool, see the CONFIGURATION section in
              pkgtool(1) for details.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +--------------------+------------------+
       |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE  |
       +--------------------+------------------+
       |Availability        | package/pkgbuild |
       +--------------------+------------------+
       |Interface Stability | Volatile         |
       +--------------------+------------------+


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | package/pkgbuild |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+
SEE ALSO
       Spec file description in /usr/share/doc/pkgbuild/spec-files.txt

       attributes(7), pkgbuild(1), pkgtool(1), pkg(7), pkgmk(1)


NOTES
       Written by Laszlo (Laca) Peter, Oracle Corporation, 2012



       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source  was  downloaded  from   http://prdownloads.sourceforge.net/pkg-
       build/pkgbuild-1.3.105.tar.bz2

       Further information about this software can be found on the open source
       community website at http://pkgbuild.sourceforge.net/.



                                 Feb 15, 2012                       PKGTOOL(1)