Add macro %isu_package to generate ISU Package
[platform/upstream/rpm.git] / rpmpopt.in
index 531fb24..92656e2 100644 (file)
+#/*! \page config_rpmpopt Default configuration: @RPMCONFIGDIR@/rpmpopt-@VERSION@
+# \verbatim
 #
 # This file *should not be modified*. Local customizations
 # belong in /etc/popt, not here. This file will be replaced
 # whenever a new version of RPM is installed.
+#
+# Note: Not all popt aliases are documented. This is a decision on my
+# part as to which are the more important aliases. Feel free to clip
+# a copy of the alias/exec here and place in /etc/popt or ~/.popt with
+# your own words added. It's easier than arguing about how many options
+# fit on the head of an executable :-)
+#
 
-rpm alias --scripts --qf '\
-%|PREIN?{preinstall script\
-%|PREINPROG?{ (through %{PREINPROG})}|:\n%{PREIN}\n}:\
-{%|PREINPROG?{preinstall program: %{PREINPROG}\n}|}|\
+rpm    alias --scripts --qf '\
+%|PRETRANS?{pretrans scriptlet\
+%|PRETRANSPROG?{ (using[ %{PRETRANSPROG}])}|:\n%{PRETRANS}\n}:\
+{%|PRETRANSPROG?{pretrans program:[ %{PRETRANSPROG}]\n}|}|\
+\
+%|PREIN?{preinstall scriptlet\
+%|PREINPROG?{ (using[ %{PREINPROG}])}|:\n%{PREIN}\n}:\
+{%|PREINPROG?{preinstall program:[ %{PREINPROG}]\n}|}|\
+\
+%|POSTIN?{postinstall scriptlet\
+%|POSTINPROG?{ (using[ %{POSTINPROG}])}|:\n%{POSTIN}\n}:\
+{%|POSTINPROG?{postinstall program:[ %{POSTINPROG}]\n}|}|\
 \
-%|POSTIN?{postinstall script\
-%|POSTINPROG?{ (through %{POSTINPROG})}|:\n%{POSTIN}\n}:\
-{%|POSTINPROG?{postinstall program: %{POSTINPROG}\n}|}|\
+%|PREUN?{preuninstall scriptlet\
+%|PREUNPROG?{ (using[ %{PREUNPROG}])}|:\n%{PREUN}\n}:\
+{%|PREUNPROG?{preuninstall program:[ %{PREUNPROG}]\n}|}|\
 \
-%|PREUN?{preuninstall script\
-%|PREUNPROG?{ (through %{PREUNPROG})}|:\n%{PREUN}\n}:\
-{%|PREUNPROG?{preuninstall program: %{PREUNPROG}\n}|}|\
+%|POSTUN?{postuninstall scriptlet\
+%|POSTUNPROG?{ (using[ %{POSTUNPROG}])}|:\n%{POSTUN}\n}:\
+{%|POSTUNPROG?{postuninstall program:[ %{POSTUNPROG}]\n}|}|\
 \
-%|POSTUN?{postuninstall script\
-%|POSTUNPROG?{ (through %{POSTUNPROG})}|:\n%{POSTUN}\n}:\
-{%|POSTUNPROG?{postuninstall program: %{POSTUNPROG}\n}|}|\
+%|POSTTRANS?{posttrans scriptlet\
+%|POSTTRANSPROG?{ (using[ %{POSTTRANSPROG}])}|:\n%{POSTTRANS}\n}:\
+{%|POSTTRANSPROG?{posttrans program:[ %{POSTTRANSPROG}]\n}|}|\
 \
-%|VERIFYSCRIPT?{verify script:\n%{VERIFYSCRIPT}\n}|\
-'
+%|VERIFYSCRIPT?{verify scriptlet\
+%|VERIFYSCRIPTPROG?{ (using[ %{VERIFYSCRIPTPROG}])}|:\n%{VERIFYSCRIPT}\n}:\
+{%|VERIFYSCRIPTPROG?{verify program:[ %{VERIFYSCRIPTPROG}]\n}|}|\
+' \
+       --POPTdesc=$"list install/erase scriptlets from package(s)"
 
-rpm alias --setperms -q --qf '[\[ -L %{FILENAMES:shescape} \] || chmod %7.7{FILEMODES:octal} %{FILENAMES:shescape}\n]' \
-                  --pipe "grep -v \(none\) | sed 's/chmod .../chmod /' | sh"
+rpm    alias --setperms -q --qf '[\[ -L %{FILENAMES:shescape} \] || chmod %7{FILEMODES:octal} %{FILENAMES:shescape}\n]' \
+                  --pipe "grep -v \(none\) | grep '^. -L ' | sed 's/chmod .../chmod /' | sh" \
+       --POPTdesc=$"set permissions of files in a package"
 
-rpm alias --setugids -q --qf \
+rpm    alias --setugids -q --qf \
         '[ch %{FILEUSERNAME:shescape} %{FILEGROUPNAME:shescape} %{FILENAMES:shescape}\n]' \
-        --pipe "(echo 'ch() { chown -- \"$1\" \"$3\";chgrp -- \"$2\" \"$3\"; }';grep -v \(none\))|sh"
+        --pipe "(echo 'ch() { chown -h -- \"$1\" \"$3\";chgrp -h -- \"$2\" \"$3\"; }';grep '^ch '|grep -v \(none\))|sh" \
+       --POPTdesc=$"set user/group ownership of files in a package"
+
+rpm    alias --conflicts       --qf \
+  "[%|VERBOSE?{%{CONFLICTFLAGS:deptype}: }:{}|%{CONFLICTNEVRS}\n]" \
+       --POPTdesc=$"list capabilities this package conflicts with"
+rpm    alias --obsoletes       --qf \
+  "[%|VERBOSE?{%{OBSOLETEFLAGS:deptype}: }:{}|%{OBSOLETENEVRS}\n]" \
+       --POPTdesc=$"list other packages removed by installing this package"
+rpm    alias --provides        --qf \
+  "[%|VERBOSE?{%{PROVIDEFLAGS:deptype}: }:{}|%{PROVIDENEVRS}\n]" \
+       --POPTdesc=$"list capabilities that this package provides"
+
+rpm    alias --requires        --qf \
+  "[%|VERBOSE?{%{REQUIREFLAGS:deptype}: }:{}|%{REQUIRENEVRS}\n]" \
+       --POPTdesc=$"list capabilities required by package(s)"
+rpm    alias -R --requires
+
+rpm    alias --suggests        --qf \
+  "[%|SUGGESTSFLAGS:depflag_strong?{}:{%{SUGGESTSNAME} %{SUGGESTSFLAGS:depflags} %{SUGGESTSVERSION}\n}|]" \
+       --POPTdesc=$"list capabilities this package suggests"
+
+rpm    alias --recommends      --qf \
+  "[%|SUGGESTSFLAGS:depflag_strong?{%{SUGGESTSNAME} %{SUGGESTSFLAGS:depflags} %{SUGGESTSVERSION}\n}|]" \
+       --POPTdesc=$"list capabilities this package recommends"
+
+rpm    alias --enhances        --qf \
+  "[%|ENHANCESFLAGS:depflag_strong?{}:{%{ENHANCESNAME} %{ENHANCESFLAGS:depflags} %{ENHANCESVERSION}\n}|]" \
+       --POPTdesc=$"list capabilities this package enhances"
+
+rpm    alias --supplements     --qf \
+  "[%|ENHANCESFLAGS:depflag_strong?{%{ENHANCESNAME} %{ENHANCESFLAGS:depflags} %{ENHANCESVERSION}\n}|]" \
+       --POPTdesc=$"list capabilities this package supplements"
+
+rpm    alias --info --qf '\
+Name        : %{NAME}\n\
+%|EPOCH?{Epoch       : %{EPOCH}\n}|\
+Version     : %{VERSION}\n\
+Release     : %{RELEASE}\n\
+Architecture: %{ARCH}\n\
+Install Date: %|INSTALLTIME?{%{INSTALLTIME:date}}:{(not installed)}|\n\
+Group       : %{GROUP}\n\
+Size        : %{LONGSIZE}\n\
+%|LICENSE?{License     : %{LICENSE}}|\n\
+Signature   : %|DSAHEADER?{%{DSAHEADER:pgpsig}}:{%|RSAHEADER?{%{RSAHEADER:pgpsig}}:{%|SIGGPG?{%{SIGGPG:pgpsig}}:{%|SIGPGP?{%{SIGPGP:pgpsig}}:{(none)}|}|}|}|\n\
+Source RPM  : %{SOURCERPM}\n\
+Build Date  : %{BUILDTIME:date}\n\
+Build Host  : %{BUILDHOST}\n\
+Relocations : %|PREFIXES?{[%{PREFIXES} ]}:{(not relocatable)}|\n\
+%|PACKAGER?{Packager    : %{PACKAGER}\n}|\
+%|VENDOR?{Vendor      : %{VENDOR}\n}|\
+%|URL?{URL         : %{URL}\n}|\
+%|VCS?{VCS         : %{VCS}\n}|\
+%|BUGURL?{Bug URL     : %{BUGURL}\n}|\
+Summary     : %{SUMMARY}\n\
+Description :\n%{DESCRIPTION}\n\
+Distribution: %{DISTRIBUTION}\n' \
+       --POPTdesc=$"list descriptive information from package(s)"
 
+rpm    alias --changelog --qf '[* %{CHANGELOGTIME:day} %{CHANGELOGNAME}\n%{CHANGELOGTEXT}\n\n]' \
+       --POPTdesc=$"list change logs for this package"
 
-rpm alias --conflicts  --qf \
-  "[%{CONFLICTNAME} %{CONFLICTFLAGS:depflags} %{CONFLICTVERSION}\n]"
-rpm alias --obsoletes  --qf \
-  "[%{OBSOLETENAME} %|OBSOLETEFLAGS?{%{OBSOLETEFLAGS:depflags} %{OBSOLETEVERSION}}:{}|\n]"
-rpm alias --provides   --qf \
-  "[%{PROVIDENAME} %|PROVIDEFLAGS?{%{PROVIDEFLAGS:depflags} %{PROVIDEVERSION}}:{}|\n]"
+rpm    alias --xml --qf '[%{*:xml}\n]' \
+       --POPTdesc=$"list metadata in xml"
 
-# XXX prereq output is part of requires for query
-#rpm alias --prereq    --qf '[%{PREREQ}:depflags\n]'
+rpm    alias --triggerscripts --qf '\
+[trigger%{TRIGGERTYPE} scriptlet (using %{TRIGGERSCRIPTPROG}) -- %{TRIGGERCONDS}\n\
+%{TRIGGERSCRIPTS}\n]'
+rpm    alias --triggers --triggerscripts \
+       --POPTdesc=$"list trigger scriptlets from package(s)"
 
-rpm alias --requires   --qf \
-  "[%{REQUIRENAME} %{REQUIREFLAGS:depflags} %{REQUIREVERSION}\n]"
-rpm alias -R --requires
+rpm    alias --last --qf '%|INSTALLTIME?{%{INSTALLTIME}}:{000000000}| %{NVRA} %|INSTALLTIME?{%{INSTALLTIME:date}}:{(not installed)}|\n' \
+       --pipe "sort -r -n | sed 's,^[0-9]\+ ,,' | awk '{printf(\"%-45s %-s\n\", $1, substr($0,length($1)+2))}' " \
+       --POPTdesc=$"list package(s) by install time, most recent first"
 
-rpm alias --info --qf 'Name        : %-27{NAME}  Relocations: %|PREFIXES?{[%{PREFIXES} ]}:{(not relocateable)}|\n\
-Version     : %-27{VERSION}       Vendor: %{VENDOR}\n\
-Release     : %-27{RELEASE}   Build Date: %{BUILDTIME:date}\n\
-Install date: %|INSTALLTIME?{%-27{INSTALLTIME:date}}:{(not installed)         }|      Build Host: %{BUILDHOST}\n\
-Group       : %-27{GROUP}   Source RPM: %{SOURCERPM}\n\
-Size        : %-27{SIZE}%|LICENSE?{      License: %{LICENSE}}|\n\
-%|PACKAGER?{Packager    : %{PACKAGER}\n}|\
-%|URL?{URL         : %{URL}\n}|\
-Summary     : %{SUMMARY}\n\
-Description :\n%{DESCRIPTION}\n'
+rpm    alias --dupes   --qf '%|SOURCERPM?{%{name}.%{arch}}:{%|ARCH?{%{name}}:{%{name}-%{version}}|}|\n' --pipe "sort | uniq -d" \
+       --POPTdesc=$"list duplicated packages"
 
-rpm alias --changelog --qf '[* %{CHANGELOGTIME:day} %{CHANGELOGNAME}\n\n%{CHANGELOGTEXT}\n\n]'
+rpm    alias --filesbypkg --qf '[%-25{=NAME} %{FILENAMES}\n]' \
+       --POPTdesc=$"list all files from each package"
 
-rpm alias --triggerscripts --qf '\
-[trigger%{TRIGGERTYPE} script (through %{TRIGGERSCRIPTPROG}) -- %{TRIGGERCONDS}\n\
-%{TRIGGERSCRIPTS}\n]'
-rpm alias --triggers --triggerscripts
+rpm    alias --fileclass --qf '[%{FILENAMES}\t%{FILECLASS}\n]' \
+       --POPTdesc=$"list file names with classes"
 
-rpm alias --last --qf '%|INSTALLTIME?{%{INSTALLTIME}}:{000000000}| %{NAME}-%{VERSION}-%{RELEASE} %|INSTALLTIME?{%-27{INSTALLTIME:date}}:{(not installed)}|\n' \
-       --pipe "sort -r -n | sed 's,^..........,,' | awk '{printf(\"%-35s %-3s %-3s %2s %-8s %-4s\n\", $1, $2, $3, $4, $5, $6)}' "
+rpm    alias --filecolor --qf '[%{FILENAMES}\t%{FILECOLORS}\n]' \
+       --POPTdesc=$"list file names with colors"
 
-rpm alias --filesbypkg --qf '[%-25{=NAME} %{FILENAMES}\n]'
-rpm exec --freshen freshen.sh
-rpm alias -F --freshen
+rpm     alias --fscontext --qf '[%{FILENAMES}\n]' \
+        --pipe "xargs ls --scontext | awk '{printf(\"%s %s\n\", $2, $1)}'" \
+        --POPTdesc=$"list file names with security context from file system"
 
-rpm alias --redhatprovides -q --define '_dbpath /usr/lib/rpmdb/%{_arch}-%{_vendor}-%{_os}/redhat' --whatprovides
-rpm alias --redhatrequires -q --define '_dbpath /usr/lib/rpmdb/%{_arch}-%{_vendor}-%{_os}/redhat' --whatrequires
+rpm    alias --fileprovide --qf '[%{FILENAMES}\t%{FILEPROVIDE}\n]' \
+       --POPTdesc=$"list file names with provides"
+
+rpm    alias --filerequire --qf '[%{FILENAMES}\t%{FILEREQUIRE}\n]' \
+       --POPTdesc=$"list file names with requires"
+
+rpm    alias --filecaps --qf '[%{FILENAMES}\t%|FILECAPS?{%{FILECAPS}}|\n]' \
+       --POPTdesc=$"list file names with POSIX1.e capabilities"
 
 # colon separated i18n domains to use as PO catalogue lookaside for
-* retrieving header group/description/summary.
-#
-# For Red Hat, value should be "redhat-dist:redhat-powertools".
+# retrieving header group/description/summary.
 rpm alias --i18ndomains --define '_i18ndomains !#:+'
 
+#==============================================================================
+#      [--ftpport <port>]      "port number of ftp server (or proxy)"
+rpm    alias --ftpport         --define '_httpport !#:+'
+#      [--ftpproxy <host>]     "hostname or IP of ftp proxy"
+rpm    alias --ftpproxy        --define '_httpproxy !#:+'
+#      [--httpport <port>]     "port number of http server (or proxy)"
+rpm    alias --httpport        --define '_httpport !#:+'
+#      [--httpproxy <host>]    "hostname or IP of http proxy"
+rpm    alias --httpproxy       --define '_httpproxy !#:+'
+
+# Minimally preserve commonly used switches from cli split-up
+rpm    exec --addsign          rpmsign --addsign
+rpm    exec --delsign          rpmsign --delsign
+rpm    exec --resign           rpmsign --resign
+rpm    exec --checksig         rpmkeys --checksig
+rpm    exec -K                 rpmkeys --checksig
+rpm    exec --import           rpmkeys --import
+rpm    exec --initdb           rpmdb --initdb
+rpm    exec --rebuilddb        rpmdb --rebuilddb
+rpm    exec --verifydb         rpmdb --verifydb
+rpm    exec --specfile         rpmspec -q
+
+#==============================================================================
+rpmbuild alias --ftpport               --define '_httpport !#:+'
+rpmbuild alias --ftpproxy      --define '_httpproxy !#:+'
+rpmbuild alias --httpport      --define '_httpport !#:+'
+rpmbuild alias --httpproxy     --define '_httpproxy !#:+'
+rpmbuild alias --with          --define "_with_!#:+     --with-!#:+" \
+       --POPTdesc=$"enable configure <option> for build" \
+       --POPTargs=$"<option>"
+rpmbuild alias --without       --define "_without_!#:+  --without-!#:+" \
+       --POPTdesc=$"disable configure <option> for build" \
+       --POPTargs=$"<option>"
 # Build policies enabled from command line. Last policy applies.
-rpm alias --buildpolicy --define '__spec_install_post @RPMCONFIGDIR@/brp-!#:+'
-
-# Preferred db interface:
-#      0       linux glibc libdb1 routines.
-#      1       db_185.h interface in db2/db3 libdb.a.
-#      2       native db2 interface.
-#      3       native db3 interface.
-rpm alias --preferdb --define '_preferdb !#:+'
+rpmbuild alias --buildpolicy --define '__os_install_post %{_rpmconfigdir}/brp-!#:+' \
+       --POPTdesc=$"set buildroot <policy> (e.g. compress man pages)" \
+       --POPTargs=$"<policy>"
+# Minimally preserve rpmbuild's --sign functionality
+rpmbuild alias --sign \
+       --pipe "grep '.*: .*\.rpm$'|cut -d: -f2|xargs -r rpm --addsign" \
+       --POPTdesc=$"generate GPG signature"
+
+rpmsign alias --key-id  --define '_gpg_name !#:+' \
+       --POPTdesc=$"key id/name to sign with" \
+       --POPTargs=$"<id>"
+rpmsign alias --digest-algo --define '_gpg_digest_algo !#:+' \
+       --POPTdesc=$"override default digest algorithm (eg sha1/sha256)" \
+       --POPTargs=$"<algorithm>"
+
+rpmspec        alias --conflicts       --qf \
+  "[%|VERBOSE?{%{CONFLICTFLAGS:deptype}: }:{}|%{CONFLICTNEVRS}\n]" \
+       --POPTdesc=$"list capabilities this package conflicts with"
+rpmspec        alias --obsoletes       --qf \
+  "[%|VERBOSE?{%{OBSOLETEFLAGS:deptype}: }:{}|%{OBSOLETENEVRS}\n]" \
+       --POPTdesc=$"list other packages removed by installing this package"
+rpmspec        alias --provides        --qf \
+  "[%|VERBOSE?{%{PROVIDEFLAGS:deptype}: }:{}|%{PROVIDENEVRS}\n]" \
+       --POPTdesc=$"list capabilities that this package provides"
+rpmspec        alias --requires        --qf \
+  "[%|VERBOSE?{%{REQUIREFLAGS:deptype}: }:{}|%{REQUIRENEVRS}\n]" \
+       --POPTdesc=$"list capabilities required by package(s)"
+rpmspec        alias --buildconflicts  --srpm --conflicts \
+       --POPTdesc=$"list capabilities conflicting with build of this package"
+rpmspec        alias --buildrequires   --srpm --requires \
+       --POPTdesc=$"list capabilities required to build this package"
+# \endverbatim
+#*/