rpm/rpmpopt.in

273 lines
12 KiB
Plaintext

#/*! \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 '\
%|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}|}|\
\
%|PREUN?{preuninstall scriptlet\
%|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}|}|\
\
%|POSTTRANS?{posttrans scriptlet\
%|POSTTRANSPROG?{ (using[ %{POSTTRANSPROG}])}|:\n%{POSTTRANS}\n}:\
{%|POSTTRANSPROG?{posttrans program:[ %{POSTTRANSPROG}]\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} \] || \
( \[ $((%{FILEFLAGS} & 2#1001000)) != 0 \] && \[ ! -e %{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 \
'[ch %{FILEUSERNAME:shescape} %{FILEGROUPNAME:shescape} %{FILENAMES:shescape} %{FILEFLAGS}\n]' \
--pipe "(echo 'ch() { ( \[ $(($4 & 2#1001000)) != 0 \] && \[ ! -e \"$3\" \] ) || \
(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 --setcaps -q --qf \
"[if \[ -f %{FILENAMES:shescape} -a ! -L %{FILENAMES:shescape} \]; then\n\
%|FILECAPS?{ if \[ -n %{FILECAPS:shescape} \]; then\n\
setcap %{FILECAPS:shescape} %{FILENAMES:shescape}\n\
el}:{ }|if \[ -n \"\$(getcap %{FILENAMES:shescape})\" \]; then\n\
setcap -r %{FILENAMES:shescape}\n\
fi\n\
fi\n]" \
--pipe "sh" \
--POPTdesc=$"set capabilities of files in a package"
rpm alias --restore -q --qf \
'[ rpm --setugids %{NAME:shescape}; \
rpm --setperms %{NAME:shescape}; \
rpm --setcaps %{NAME:shescape}; \n]' --pipe "sh" \
--POPTdesc=$"restore file/directory permissions"
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 -P --provides
rpm alias --requires --qf \
"[%|VERBOSE?{%{REQUIREFLAGS:deptype}: }:{}|%{REQUIRENEVRS}\n]" \
--POPTdesc=$"list capabilities required by package(s)"
rpm alias -R --requires
rpm alias --recommends --qf \
"[%|VERBOSE?{%{RECOMMENDFLAGS:deptype}: }:{}|%{RECOMMENDNEVRS}\n]" \
--POPTdesc=$"list capabilities recommended by package(s)"
rpm alias --suggests --qf \
"[%|VERBOSE?{%{SUGGESTFLAGS:deptype}: }:{}|%{SUGGESTNEVRS}\n]" \
--POPTdesc=$"list capabilities suggested by package(s)"
rpm alias --supplements --qf \
"[%|VERBOSE?{%{SUPPLEMENTFLAGS:deptype}: }:{}|%{SUPPLEMENTNEVRS}\n]" \
--POPTdesc=$"list capabilities supplemented by package(s)"
rpm alias --enhances --qf \
"[%|VERBOSE?{%{ENHANCEFLAGS:deptype}: }:{}|%{ENHANCENEVRS}\n]" \
--POPTdesc=$"list capabilities enhanced by package(s)"
rpm alias --info --qf '\
Name : %{NAME}\n\
%|EPOCH?{Epoch : %{EPOCH}\n}|\
Version : %{VERSION}\n\
Release : %{RELEASE}\n\
%|DISTTAG?{DistTag : %{DISTTAG}\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\
%|PREFIXES?{Relocations : [%{PREFIXES} ]\n}|\
%|PACKAGER?{Packager : %{PACKAGER}\n}|\
%|VENDOR?{Vendor : %{VENDOR}\n}|\
%|URL?{URL : %{URL}\n}|\
%|BUGURL?{Bug URL : %{BUGURL}\n}|\
Summary : %{SUMMARY}\n\
Description :\n%{DESCRIPTION}\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 --changes --qf '[* %{CHANGELOGTIME:date} %{CHANGELOGNAME}\n%{CHANGELOGTEXT}\n\n]' \
--POPTdesc=$"list changes for this package with full time stamps"
rpm alias --xml --qf '[%{*:xml}\n]' \
--POPTdesc=$"list metadata in xml"
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 --filetriggerscripts --qf '\
[filetrigger%{FILETRIGGERTYPE} scriptlet (using %{FILETRIGGERSCRIPTPROG}) -- \
%{FILETRIGGERCONDS}\n%{FILETRIGGERSCRIPTS}\n]\
[transfiletrigger%{TRANSFILETRIGGERTYPE} scriptlet (using %{TRANSFILETRIGGERSCRIPTPROG}) -- \
%{TRANSFILETRIGGERCONDS}\n%{TRANSFILETRIGGERSCRIPTS}\n]'
rpm alias --filetriggers --filetriggerscripts \
--POPTdesc=$"list filetrigger scriptlets from package(s)"
rpm alias --last --qf '%|INSTALLTIME?{%{INSTALLTIME}}:{000000000}| %{NVRA} %|INSTALLTIME?{%{INSTALLTIME:date}}:{(not installed)}|\n' \
--pipe "LC_NUMERIC=C 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 --dupes --qf '%|SOURCERPM?{%{name}.%{arch}}:{%|ARCH?{%{name}}:{%{name}-%{version}}|}|\n' --pipe "sort | uniq -d" \
--POPTdesc=$"list duplicated packages"
rpm alias --filesbypkg --qf '[%-25{=NAME} %{FILENAMES}\n]' \
--POPTdesc=$"list all files from each package"
rpm alias --fileclass --qf '[%{FILENAMES}\t%{FILECLASS}\n]' \
--POPTdesc=$"list file names with their classes"
rpm alias --filecolor --qf '[%{FILENAMES}\t%{FILECOLORS}\n]' \
--POPTdesc=$"list file names with their colors"
rpm alias --fileprovide --qf '[%{FILENAMES}\t%{FILEPROVIDE}\n]' \
--POPTdesc=$"list file names with their 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 their POSIX1.e capabilities"
# colon separated i18n domains to use as PO catalogue lookaside for
# retrieving header group/description/summary.
rpm alias --i18ndomains --define '_i18ndomains !#:+'
rpm alias --color --define '_color_output !#:+'
#==============================================================================
# [--httpport <port>] "port number of http proxy"
rpm alias --httpport --define '_httpport !#:+'
# [--httpproxy <host>] "hostname or IP of http proxy"
rpm alias --httpproxy --define '_httpproxy !#:+'
# [--trace] "trace macro expansion"
rpm alias --trace --eval '%trace'
# 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 --signfiles rpmsign --signfiles
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 --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>"
rpmbuild alias --scm --define '__scm !#:+' \
--POPTdesc=$"shortcut for '--define=\"__scm <scm>\"'" \
--POPTargs=$"<scm>"
# 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 'rpm --addsign `grep ".*: .*\.rpm$"|cut -d: -f2` < "/dev/"`ps -p $$ -o tty | tail -n 1`' \
--POPTdesc=$"generate GPG signature (deprecated, use command rpmsign instead)"
rpmbuild alias --trace --eval '%trace' \
--POPTdesc=$"trace macro expansion"
rpmbuild alias --nodebuginfo --define 'debug_package %{nil}' \
--POPTdesc=$"do not generate debuginfo for this package"
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"
rpmspec alias --httpport --define '_httpport !#:+'
rpmspec alias --httpproxy --define '_httpproxy !#:+'
rpmspec alias --with --define "_with_!#:+ --with-!#:+" \
--POPTdesc=$"enable configure <option> for build" \
--POPTargs=$"<option>"
rpmspec alias --without --define "_without_!#:+ --without-!#:+" \
--POPTdesc=$"disable configure <option> for build" \
--POPTargs=$"<option>"
rpmspec alias --scm --define '__scm !#:+' \
--POPTdesc=$"shortcut for '--define=\"__scm <scm>\"'" \
--POPTargs=$"<scm>"
# Build policies enabled from command line. Last policy applies.
rpmspec alias --buildpolicy --define '__os_install_post %{_rpmconfigdir}/brp-!#:+' \
--POPTdesc=$"set buildroot <policy> (e.g. compress man pages)" \
--POPTargs=$"<policy>"
rpmspec alias --trace --eval '%trace' \
--POPTdesc=$"trace macro expansion"
rpmspec alias --nodebuginfo --define 'debug_package %{nil}' \
--POPTdesc=$"do not generate debuginfo for this package"
# \endverbatim
#*/