sqdkjqlsjdklqsjdlqskjd azjdjksqhvdjqskhdkqhsj zkhjdhqksldjqlskdjlqskjd zjhdjqlskdhqsljkhdsqd usr/bin/dpkg-info000075500000004132152427304710007736 0ustar00#!/bin/bash # convenience script to show information about debian # packages in a nice, colourful, human-readable way { type dpkg-query && type apt-cache; } >/dev/null || { echo "This mechanism needs dpkg and apt. Are you even on Debian?"; exit 1; } { type ccze && type sed && type du && type less; } >/dev/null || { echo "This mechanism needs ccze, sed, coreutils and less."; exit 1; } dpkg-info() { for pkg in ${@}; do { { apt-cache policy ${pkg} 2>&1 && echo dpkg-query -s ${pkg} 2>/dev/null && echo } | ccze -A -o nolookups && { IFS=${IFS/ /} list=($(dpkg -L ${pkg} 3>/dev/null | sed "s|^[^/]*||"|tail --lines=+2)) && [ ${#list[*]} -gt 0 ] && for item in ${list[@]}; do { [ -L "${item}" ] && [ ! -d $(realpath "${item}" 2>/dev/null) ] && links=("${links[@]}" "${item}") || [ -f "${item}" ] && files=("${files[@]}" "${item}") || dirs=("${dirs[@]}" "${item}") } done [ ${#files[@]} -gt 0 ] && echo -ne "package ${pkg} contains:\t " && { echo -n "$(LANG=C du -hc ${files[@]} | sed -nr "s/(.*)\s+total/\1iB/p") in ${#files[@]} $(ngettext 'file' 'files' ${#files[@]})" && { [ ${#links[@]} -eq 0 ] || echo -n " and ${#links[@]} $(ngettext 'symbolic link' 'symbolic links' ${#links[@]})"; } && echo " within ${#dirs[@]} $(ngettext 'directory' 'directories' ${#dirs[@]})"; } | ccze -A -o nolookups && echo && ls --color=always -lahd --time-style=+" %^a %F %R" "${list[@]}" debsums -s ${pkg} } 2>&1 echo { apt-cache show ${pkg} apt-cache showsrc ${pkg} } | ccze -A -o nolookups } | less -SRiM~ --shift 1 -PM"debian package info\: ${pkg}, ?ltlines %lt-%lb?L/%L.:byte %bB?s/%s. .?e(END)" done } dpkg-info ${@}