Browse Source

Merge pull request #693 from dreur/upstream-debian-apt-history

Add apt-history function to debian plugin
Robby Russell 13 years ago
parent
commit
ae3f5e4917
1 changed files with 37 additions and 5 deletions
  1. 37 5
      plugins/debian/debian.plugin.zsh

+ 37 - 5
plugins/debian/debian.plugin.zsh

@@ -54,7 +54,7 @@ if [[ $use_sudo -eq 1 ]]; then
 
     # apt-get only
     alias ads="sudo $apt_pref dselect-upgrade"
-    
+
     # Install all .deb files in the current directory.
     # Warning: you will need to put the glob in single quotes if you use:
     # glob_subst
@@ -113,9 +113,6 @@ alias allpkgs='aptitude search -F "%p" --disable-columns ~i'
 alias mydeb='time dpkg-buildpackage -rfakeroot -us -uc'
 
 
-
-
-
 # Functions #################################################################
 # create a simple script that can be used to 'duplicate' a system
 apt-copy() {
@@ -132,11 +129,46 @@ apt-copy() {
     chmod +x apt-copy.sh
 }
 
+# Prints apt history
+# Usage:
+#   apt-history install
+#   apt-history upgrade
+#   apt-history remove
+#   apt-history rollback
+#   apt-history list
+# Based On: http://linuxcommando.blogspot.com/2008/08/how-to-show-apt-log-history.html
+apt-history () {
+  case "$1" in
+    install)
+      zgrep --no-filename 'install ' $(ls -rt /var/log/dpkg*)
+      ;;
+    upgrade|remove)
+      zgrep --no-filename $1 $(ls -rt /var/log/dpkg*)
+      ;;
+    rollback)
+      zgrep --no-filename upgrade $(ls -rt /var/log/dpkg*) | \
+        grep "$2" -A10000000 | \
+        grep "$3" -B10000000 | \
+        awk '{print $4"="$5}'
+      ;;
+    list)
+      zcat $(ls -rt /var/log/dpkg*)
+      ;;
+    *)
+      echo "Parameters:"
+      echo " install - Lists all packages that have been installed."
+      echo " upgrade - Lists all packages that have been upgraded."
+      echo " remove - Lists all packages that have been removed."
+      echo " rollback - Lists rollback information."
+      echo " list - Lists all contains of dpkg logs."
+      ;;
+  esac
+}
 
 # Kernel-package building shortcut
 kerndeb () {
     # temporarily unset MAKEFLAGS ( '-j3' will fail )
-    MAKEFLAGS=$( print - $MAKEFLAGS | perl -pe 's/-j\s*[\d]+//g' )		
+    MAKEFLAGS=$( print - $MAKEFLAGS | perl -pe 's/-j\s*[\d]+//g' )
     print '$MAKEFLAGS set to '"'$MAKEFLAGS'"
 	appendage='-custom' # this shows up in $ (uname -r )
     revision=$(date +"%Y%m%d") # this shows up in the .deb file name