Add macro %isu_package to generate ISU Package
[platform/upstream/rpm.git] / rpmpopt.in
index c822b38..92656e2 100644 (file)
 
 rpm    alias --scripts --qf '\
 %|PRETRANS?{pretrans scriptlet\
-%|PRETRANSPROG?{ (using %{PRETRANSPROG})}|:\n%{PRETRANS}\n}:\
-{%|PRETRANSPROG?{pretrans program: %{PRETRANSPROG}\n}|}|\
+%|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}|}|\
+%|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}|}|\
+%|POSTINPROG?{ (using[ %{POSTINPROG}])}|:\n%{POSTIN}\n}:\
+{%|POSTINPROG?{postinstall program:[ %{POSTINPROG}]\n}|}|\
 \
 %|PREUN?{preuninstall scriptlet\
-%|PREUNPROG?{ (using %{PREUNPROG})}|:\n%{PREUN}\n}:\
-{%|PREUNPROG?{preuninstall program: %{PREUNPROG}\n}|}|\
+%|PREUNPROG?{ (using[ %{PREUNPROG}])}|:\n%{PREUN}\n}:\
+{%|PREUNPROG?{preuninstall program:[ %{PREUNPROG}]\n}|}|\
 \
 %|POSTUN?{postuninstall scriptlet\
-%|POSTUNPROG?{ (using %{POSTUNPROG})}|:\n%{POSTUN}\n}:\
-{%|POSTUNPROG?{postuninstall program: %{POSTUNPROG}\n}|}|\
+%|POSTUNPROG?{ (using[ %{POSTUNPROG}])}|:\n%{POSTUN}\n}:\
+{%|POSTUNPROG?{postuninstall program:[ %{POSTUNPROG}]\n}|}|\
 \
 %|POSTTRANS?{posttrans scriptlet\
-%|POSTTRANSPROG?{ (using %{POSTTRANSPROG})}|:\n%{POSTTRANS}\n}:\
-{%|POSTTRANSPROG?{posttrans program: %{POSTTRANSPROG}\n}|}|\
+%|POSTTRANSPROG?{ (using[ %{POSTTRANSPROG}])}|:\n%{POSTTRANS}\n}:\
+{%|POSTTRANSPROG?{posttrans program:[ %{POSTTRANSPROG}]\n}|}|\
 \
-%|VERIFYSCRIPT?{verify scriptlet:\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]' \
+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"
 
@@ -51,31 +53,59 @@ rpm alias --setugids -q --qf \
        --POPTdesc=$"set user/group ownership of files in a package"
 
 rpm    alias --conflicts       --qf \
-  "[%{CONFLICTNAME} %{CONFLICTFLAGS:depflags} %{CONFLICTVERSION}\n]" \
+  "[%|VERBOSE?{%{CONFLICTFLAGS:deptype}: }:{}|%{CONFLICTNEVRS}\n]" \
        --POPTdesc=$"list capabilities this package conflicts with"
 rpm    alias --obsoletes       --qf \
-  "[%{OBSOLETENAME} %|OBSOLETEFLAGS?{%{OBSOLETEFLAGS:depflags} %{OBSOLETEVERSION}}:{}|\n]" \
+  "[%|VERBOSE?{%{OBSOLETEFLAGS:deptype}: }:{}|%{OBSOLETENEVRS}\n]" \
        --POPTdesc=$"list other packages removed by installing this package"
 rpm    alias --provides        --qf \
-  "[%{PROVIDENAME} %|PROVIDEFLAGS?{%{PROVIDEFLAGS:depflags} %{PROVIDEVERSION}}:{}|\n]" \
+  "[%|VERBOSE?{%{PROVIDEFLAGS:deptype}: }:{}|%{PROVIDENEVRS}\n]" \
        --POPTdesc=$"list capabilities that this package provides"
 
 rpm    alias --requires        --qf \
-  "[%{REQUIRENAME} %{REQUIREFLAGS:depflags} %{REQUIREVERSION}\n]" \
+  "[%|VERBOSE?{%{REQUIREFLAGS:deptype}: }:{}|%{REQUIRENEVRS}\n]" \
        --POPTdesc=$"list capabilities required by package(s)"
 rpm    alias -R --requires
 
-rpm    alias --info --qf 'Name        : %-27{NAME}  Relocations: %|PREFIXES?{[%{PREFIXES} ]}:{(not relocatable)}|\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\
+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' \
+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]' \
@@ -90,7 +120,7 @@ rpm  alias --triggerscripts --qf '\
 rpm    alias --triggers --triggerscripts \
        --POPTdesc=$"list trigger scriptlets from package(s)"
 
-rpm    alias --last --qf '%|INSTALLTIME?{%{INSTALLTIME}}:{000000000}| %{NAME}-%{VERSION}-%{RELEASE} %|INSTALLTIME?{%{INSTALLTIME:date}}:{(not installed)}|\n' \
+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"
 
@@ -116,54 +146,77 @@ rpm       alias --fileprovide --qf '[%{FILENAMES}\t%{FILEPROVIDE}\n]' \
 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.
 rpm alias --i18ndomains --define '_i18ndomains !#:+'
 
-# Build policies enabled from command line. Last policy applies.
-rpm alias --buildpolicy --define '__os_install_post @RPMCONFIGDIR@/brp-!#:+' \
-       --POPTdesc=$"set buildroot <policy> (e.g. compress man pages)" \
-       --POPTargs=$"<policy>"
-
-# Choose db interface:
-#      0       same as 1
-#      1       native db1 interface (e.g. linux glibc libdb1 routines).
-#      2       native db2 interface.
-#      3       native db3 interface.
-#      -1      db3 -> db2 -> db1 (as available).
-#
-# There are two macros so that --rebuilddb can convert db1 -> db3
-rpm alias --dbapi               --define '_dbapi !#:+'
-
-rpm alias --rebuilddbapi        --define '_dbapi_rebuild !#:+'
-rpm alias --rebuilddbpath       --define '_dbapath_rebuild !#:+'
-
 #==============================================================================
-#      [--dbpath DIRECTORY"    "use database in DIRECTORY"
-rpm    alias --dbpath          --define '_dbpath !#:+'
 #      [--ftpport <port>]      "port number of ftp server (or proxy)"
-rpm    alias --ftpport         --define '_ftpport !#:+'
+rpm    alias --ftpport         --define '_httpport !#:+'
 #      [--ftpproxy <host>]     "hostname or IP of ftp proxy"
-rpm    alias --ftpproxy        --define '_ftpproxy !#:+'
+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 --dbpath          --define '_dbpath !#:+' \
-       --POPTdesc=$"use database in DIRECTORY" \
-       --POPTargs=$"DIRECTORY"
-rpmbuild alias --ftpport               --define '_ftpport !#:+'
-rpmbuild alias --ftpproxy      --define '_ftpproxy !#:+'
+rpmbuild alias --ftpport               --define '_httpport !#:+'
+rpmbuild alias --ftpproxy      --define '_httpproxy !#:+'
 rpmbuild alias --httpport      --define '_httpport !#:+'
 rpmbuild alias --httpproxy     --define '_httpproxy !#:+'
-rpmbuild alias --timecheck     --define '_timecheck !#:+'
 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.
+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
 #*/