Merge pull request #529 from dbb/master

Merge 'deb' and 'debian' plugins
This commit is contained in:
Robby Russell 2011-10-10 05:48:49 -07:00
commit b8ade4815a
3 changed files with 166 additions and 35 deletions

View File

@ -1,13 +0,0 @@
# Aliases
alias as="aptitude -F \"* %p -> %d \n(%v/%V)\" \
--no-gui --disable-columns search" # search package
alias ad="sudo apt-get update" # update packages lists
alias au="sudo apt-get update && \
sudo apt-get dselect-upgrade" # upgrade packages
alias ai="sudo apt-get install" # install package
alias ar="sudo apt-get remove --purge && \
sudo apt-get autoremove --purge" # remove package
alias ap="apt-cache policy" # apt policy
alias av="apt-cache show" # show package info
alias acs="apt-cache search" # search package
alias ac="sudo apt-get clean && sudo apt-get autoclean" # clean apt cache

View File

@ -1,53 +1,143 @@
# https://github.com/dbbolton/
# Authors:
# https://github.com/AlexBio
# https://github.com/dbb
#
# Debian-related zsh aliases and functions for zsh
# Use aptitude if installed, or apt-get if not.
# You can just set apt_pref='apt-get' to override it.
if [[ -e $( which aptitude ) ]]; then
apt_pref='aptitude'
else
apt_pref='apt-get'
fi
# Use sudo by default if it's installed
if [[ -e $( which sudo ) ]]; then
use_sudo=1
fi
# Aliases ###################################################################
# These are for more obscure uses of apt-get and aptitude that aren't covered
# below.
alias ag='apt-get'
alias at='aptitude'
# Some self-explanatory aliases
alias afs='apt-file search --regexp'
alias acs="apt-cache search"
alias aps='aptitude search'
alias apsrc='apt-get source'
alias apv='apt-cache policy'
alias as="aptitude -F \"* %p -> %d \n(%v/%V)\" \
--no-gui --disable-columns search" # search package
alias apdg='su -c "aptitude update && aptitude safe-upgrade"'
alias apud='su -c "aptitude update"'
alias apug='su -c "aptitude safe-upgrade"'
# apt-file
alias afs='apt-file search --regexp'
# These are apt-get only
alias asrc='apt-get source'
alias ap='apt-cache policy'
# superuser operations ######################################################
if [[ $use_sudo -eq 1 ]]; then
# commands using sudo #######
alias aac="sudo $apt_pref autoclean"
alias abd="sudo $apt_pref build-dep"
alias ac="sudo $apt_pref clean"
alias ad="sudo $apt_pref update"
alias adg="sudo $apt_pref update && sudo $apt_pref upgrade"
alias adu="sudo $apt_pref update && sudo $apt_pref dist-upgrade"
alias afu='sudo apt-file update'
alias ag="sudo $apt_pref upgrade"
alias ai="sudo $apt_pref install"
alias ap="sudo $apt_pref purge"
alias ar="sudo $apt_pref remove"
# 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
alias di='sudo dpkg -i ./*.deb'
# Remove ALL kernel images and headers EXCEPT the one in use
alias kclean='sudo aptitude remove -P ?and(~i~nlinux-(ima|hea) \
?not(~n`uname -r`))'
# commands using su #########
else
alias aac='su -ls "'"$apt_pref"' autoclean" root'
abd() {
cmd="su -lc '$apt_pref build-dep $@' root"
print "$cmd"
eval "$cmd"
}
alias ac='su -ls "'"$apt_pref"' clean" root'
alias ad='su -lc "'"$apt_pref"' update" root'
alias adg='su -lc "'"$apt_pref"' update && aptitude safe-upgrade" root'
alias adu='su -lc "'"$apt_pref"' update && aptitude dist-upgrade" root'
alias afu='su -lc "apt-file update"'
alias ag='su -lc "'"$apt_pref"' safe-upgrade" root'
ai() {
cmd="su -lc 'aptitude -P install $@' root"
print "$cmd"
eval "$cmd"
}
ap() {
cmd="su -lc '$apt_pref -P purge $@' root"
print "$cmd"
eval "$cmd"
}
ar() {
cmd="su -lc '$apt_pref -P remove $@' root"
print "$cmd"
eval "$cmd"
}
# Install all .deb files in the current directory
# Assumes glob_subst is off
alias di='su -lc "dpkg -i ./*.deb" root'
# Remove ALL kernel images and headers EXCEPT the one in use
alias kclean='su -lc '\''aptitude remove -P ?and(~i~nlinux-(ima|hea) \
?not(~n`uname -r`))'\'' root'
fi
# Misc. #####################################################################
# print all installed packages
alias allpkgs='aptitude search -F "%p" --disable-columns ~i'
# Install all .deb files in the current directory.
# Warning: you will need to put the glob in single quotes if you use:
# glob_subst
alias di='su -c "dpkg -i ./*.deb"'
# Create a basic .deb package
alias mydeb='time dpkg-buildpackage -rfakeroot -us -uc'
# Remove ALL kernel images and headers EXCEPT the one in use
alias kclean='su -c '\''aptitude remove -P ?and(~i~nlinux-(ima|hea) ?not(~n`uname -r`))'\'' root'
# Functions #################################################################
# create a simple script that can be used to 'duplicate' a system
apt-copy() {
print '#!/bin/sh'"\n" > apt-copy.sh
list=$(perl -m'AptPkg::Cache' -e '$c=AptPkg::Cache->new; for (keys %$c){ push @a, $_ if $c->{$_}->{'CurrentState'} eq 'Installed';} print "$_ " for sort @a;')
cmd="$apt_pref install "
print 'aptitude install '"$list\n" >> apt-copy.sh
for p in ${(f)"$(aptitude search -F "%p" --disable-columns \~i)"}; {
cmd="${cmd} ${p}"
}
print $cmd "\n" >> apt-copy.sh
chmod +x apt-copy.sh
}
# Kernel-package building shortcut
dbb-build () {
MAKEFLAGS='' # temporarily unset MAKEFLAGS ( '-j3' will fail )
kerndeb () {
# temporarily unset MAKEFLAGS ( '-j3' will fail )
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
@ -57,4 +147,3 @@ dbb-build () {
"$revision" kernel_image kernel_headers
}

View File

@ -3,3 +3,58 @@ if [ "$commands[(I)hub]" ] && [ "$commands[(I)ruby]" ]; then
# eval `hub alias -s zsh`
function git(){hub "$@"}
fi
# Functions #################################################################
# https://github.com/dbb
# empty_gh [NAME_OF_REPO]
#
# Use this when creating a new repo from scratch.
empty_gh() { # [NAME_OF_REPO]
repo = $1
ghuser=$( git config github.user )
mkdir "$repo"
cd "$repo"
git init
touch README
git add README
git commit -m 'Initial commit.'
git remote add origin git@github.com:${ghuser}/${repo}.git
git push -u origin master
}
# new_gh [DIRECTORY]
#
# Use this when you have a directory that is not yet set up for git.
# This function will add all non-hidden files to git.
new_gh() { # [DIRECTORY]
cd "$1"
ghuser=$( git config github.user )
git init
# add all non-dot files
print '.*'"\n"'*~' >> .gitignore
git add ^.*
git commit -m 'Initial commit.'
git remote add origin git@github.com:${ghuser}/${repo}.git
git push -u origin master
}
# exist_gh [DIRECTORY]
#
# Use this when you have a git repo that's ready to go and you want to add it
# to your GitHub.
exist_gh() { # [DIRECTORY]
cd "$1"
name=$( git config user.name )
ghuser=$( git config github.user )
git remote add origin git@github.com:${ghuser}/${repo}.git
git push -u origin master
}
# End Functions #############################################################