mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-23 16:28:50 -05:00
62880d7568
The original concept for this script was a bash implementation, but turned out to be unreasonable at the time due to the efficiencies of the database format. Since those have been resolved, we can rewrite this in bash as a much simpler script. All the action happens in a single line, but we add extend this a little, binding to gettext to keep our pacman translations intact. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
44 lines
1.4 KiB
Bash
Executable File
44 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# paclist - List all packages installed from a given repo
|
|
#
|
|
# Copyright (C) 2008 Dan McGee <dpmcgee@gmail.com>
|
|
# Copyright (C) 2011 Dave Reisner <dreisner@archlinux.org>
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation; either version 2
|
|
# of the License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
export TEXTDOMAIN='pacman'
|
|
export TEXTDOMAINDIR='/usr/share/locale'
|
|
|
|
# determine whether we have gettext; make it a no-op if we do not
|
|
if ! type gettext &>/dev/null; then
|
|
gettext() {
|
|
echo "$@"
|
|
}
|
|
fi
|
|
|
|
if [[ -z $1 ]]; then
|
|
printf '%s - List all packages installed from a given repo\n' "${0##*/}"
|
|
printf 'Usage: %s <repo>\n' "${0##*/}"
|
|
printf 'Example: %s testing\n' "${0##*/}"
|
|
exit 1
|
|
fi
|
|
|
|
printf -v installed '[%s]' "$(gettext installed)"
|
|
pacman -Sl $1 | awk -v i="$installed" '$NF == i { print $2,$3 }'
|
|
|
|
# exit with pacman's return value, not awk's
|
|
exit ${PIPESTATUS[0]}
|
|
|
|
# vim: set ts=2 sw=2 noet:
|