summaryrefslogtreecommitdiff
path: root/list-installed.d/50list-installed
blob: 129447f9876385f34bc844fcc1c5ba5acfbd1538 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh
if [ "$1" = fmt ]; then
	# If the list format changes, change the fmt
	if [ "$LOWLEVEL_PACKAGE_MANAGER" = dpkg ]; then
		echo 2
	else
		echo ""
	fi
else
	# Output to stdout a *sorted* list of all currently installed 
	# (or removed but still with config-files) packages, in the
	# format "package version\n" (or something similar).
	if [ "$LOWLEVEL_PACKAGE_MANAGER" = dpkg ]; then
		dpkg-query -W -f '${Status}\t${Package} ${Version} ${Architecture}\n' | \
			egrep '(ok installed|ok config-files)' | cut -f2,3
	elif [ "$LOWLEVEL_PACKAGE_MANAGER" = rpm ]; then
		rpm -qa --qf "%|epoch?{%{epoch}}:{0}|:%{name}-%{version}-%{release}.%{arch}\n" | sort
	elif [ "$LOWLEVEL_PACKAGE_MANAGER" = pacman ]; then
		pacman -Q
	elif [ "$LOWLEVEL_PACKAGE_MANAGER" = pacmatic ]; then
		pacmatic -Q
	elif [ "$LOWLEVEL_PACKAGE_MANAGER" = pkgng ]; then
		pkg info -E "*"
	fi
fi