csomh / source-git / rpm

Forked from source-git/rpm 4 years ago
Clone
Blob Blame History Raw
#/*! \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\
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}|\
%|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 !#:+'

#==============================================================================
#	[--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 !#:+'
#	[--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 --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.
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)"
#	[--trace]		"trace macro expansion"
rpmbuild alias --trace		--eval '%trace'
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"
#	[--trace]		"trace macro expansion"
rpmspec alias --trace		--eval '%trace'
# \endverbatim
#*/