.save: renamed to .pkggen. This script is no more used to maintain backups. It only generate package lists for various distributions including TeX Live.
parent
4c2bea8bcb
commit
3eb2b903ad
|
@ -1,10 +1,11 @@
|
|||
amscls
|
||||
amsmath
|
||||
babel
|
||||
beamer
|
||||
carlisle
|
||||
ec
|
||||
eplain
|
||||
eurosym
|
||||
eukdate
|
||||
fancyhdr
|
||||
geometry
|
||||
glossaries
|
||||
|
@ -29,6 +30,5 @@ pgf
|
|||
tabulary
|
||||
tools
|
||||
url
|
||||
was
|
||||
xcolor
|
||||
xkeyval
|
||||
|
|
|
@ -0,0 +1,70 @@
|
|||
#!/usr/bin/env zsh
|
||||
################################################################################
|
||||
## Package List Generator
|
||||
## 2013-01-09
|
||||
################################################################################
|
||||
## This script used to save the file list. of my home config. However this is
|
||||
## quiet cumbersome to maintain, especially in sync with a VCS. Since VCS can do
|
||||
## the same job much more easily, I do not feel the need anymore to use this
|
||||
## script for backup purpose. Still it remains useful to create package lists
|
||||
## for pacman, FreeBSD, TeX Live, and so on.
|
||||
|
||||
## Git can create a bundle with:
|
||||
##
|
||||
## git bundle create --all
|
||||
##
|
||||
## and can list files with
|
||||
##
|
||||
## git ls-files
|
||||
|
||||
## This script should be compatible with ksh, bash and zsh. Issue with sh
|
||||
## however: we use arrays. Therefore we do not comply with POSIX and use some
|
||||
## extended syntax for file input -- the <(...) syntax. We used to write the
|
||||
## file list in an array which is not support by POSIX neither.
|
||||
|
||||
## Note for zsh: because of the Ksh-style arrays (index starting at 0), you
|
||||
## cannot use array index to append elements to arrays -- otherwise the
|
||||
## KSH_ARRAYS option for zsh must be used.
|
||||
|
||||
## Variables
|
||||
OLDPATH="$(pwd)"
|
||||
cd "$HOME"
|
||||
SCRIPTPATH="$(readlink -f $(dirname "$0"))"
|
||||
HOST=$(hostname)
|
||||
|
||||
## Arch Linux
|
||||
if [ -e "/usr/bin/pacman" ]; then
|
||||
|
||||
ARCH_PKG_OFFICIAL="$HOME/.pkg-arch-official"
|
||||
ARCH_PKG_EXPLICIT="$HOME/.pkg-arch-explicit"
|
||||
ARCH_PKG_AUR="$HOME/.pkg-arch-aur"
|
||||
|
||||
PKG_LOCAL='pacman -Qq | sort'
|
||||
PKG_FOREIGN='pacman -Qmq | sort'
|
||||
PKG_EXPLICIT='pacman -Qeq | sort'
|
||||
|
||||
comm -3 <(eval "${PKG_LOCAL}") <(eval "${PKG_FOREIGN}") >"${ARCH_PKG_OFFICIAL}-${HOST}"
|
||||
|
||||
eval "${PKG_EXPLICIT}" >"${ARCH_PKG_EXPLICIT}-${HOST}"
|
||||
eval "${PKG_FOREIGN}" >"${ARCH_PKG_AUR}-${HOST}"
|
||||
fi
|
||||
|
||||
## FreeBSD
|
||||
if [ "$(uname)" = "FreeBSD" ]; then
|
||||
pkg_info | cut -f1 -d' ' >"$HOME/.pkg-freebsd-${HOST}"
|
||||
fi
|
||||
|
||||
## TeXlive
|
||||
if type tlmgr >/dev/null 2>&1; then
|
||||
HOST=$(hostname)
|
||||
|
||||
## We use <TAB> in the sed expressions.
|
||||
TEXLIVE_BASIC="$(tlmgr info collection-basic --list | sed -n '/^ /{s/ //g;p;}' | sort)"
|
||||
TEXLIVE_ALL="$(tlmgr info --only-installed | grep -v 'x86_64\|amd64' | cut -d' ' -f2 | cut -f1 -d':' | sort)"
|
||||
|
||||
comm -3 <(echo "$TEXLIVE_BASIC") <(echo "$TEXLIVE_ALL") | sed 's/ //g' | \
|
||||
grep -vi 'collection-basic\|scheme-minimal\|texlive-common\|texlive-docindex\|texlive-en' >"$HOME/.pkg-texlive-$(uname)-${HOST}"
|
||||
fi
|
||||
|
||||
## Cleaning
|
||||
cd "${OLDPATH}"
|
256
.save
256
.save
|
@ -1,256 +0,0 @@
|
|||
#!/usr/bin/env zsh
|
||||
################################################################################
|
||||
## Home Config Backup Script
|
||||
## 2012-11-01
|
||||
################################################################################
|
||||
|
||||
## This script should be compatible with ksh, bash and zsh. Issue with sh
|
||||
## however: we use arrays. Therefore we do not comply with POSIX and use some
|
||||
## extended syntax for arrays and file input -- the <(...) syntax.
|
||||
|
||||
## Note for Zsh: because of the Ksh-style arrays (index starting at 0), you
|
||||
## cannot use array index to append elements to arrays -- otherwise the
|
||||
## KSH_ARRAYS option for zsh must be used.
|
||||
|
||||
##==============================================================================
|
||||
## Options
|
||||
##==============================================================================
|
||||
|
||||
## Set Debug mode on
|
||||
DEBUG=no
|
||||
if [ "$DEBUG" = "yes" ]; then
|
||||
set -x
|
||||
fi
|
||||
|
||||
## Variables
|
||||
OLDPATH="$(pwd)"
|
||||
cd "$HOME"
|
||||
SCRIPTPATH="$(readlink -f $(dirname "$0"))"
|
||||
COMPRESSION="gz"
|
||||
ARCHIVENAME="$HOME/home-config-$(date "+%y-%m-%d-%H%M%S")"
|
||||
ARCEXT="tar.gz"
|
||||
ARCOPT="czf"
|
||||
|
||||
print_help()
|
||||
{
|
||||
echo "Synopsis:"
|
||||
echo " $1 [-o ARCHIVENAME] [-m COMPRESSION]"
|
||||
echo
|
||||
echo "Usage:"
|
||||
echo " default: "
|
||||
echo " -h:\t\tDisplay this help."
|
||||
echo " -m: compression method among"
|
||||
echo " * gz (default)"
|
||||
echo " * xz"
|
||||
echo " -o: output archive name (without extension)."
|
||||
echo ""
|
||||
echo "Note: xz is not available on older Unices."
|
||||
|
||||
}
|
||||
|
||||
while getopts ":hm:o:" opt; do
|
||||
case $opt in
|
||||
h)
|
||||
print_help "$0"
|
||||
exit 1
|
||||
;;
|
||||
m)
|
||||
COMPRESSION="$OPTARG"
|
||||
;;
|
||||
o)
|
||||
ARCHIVENAME="${OLDPATH}/$OPTARG"
|
||||
;;
|
||||
?)
|
||||
print_help "$0"
|
||||
exit 1
|
||||
;;
|
||||
:)
|
||||
echo "Missing argument."
|
||||
echo "Use $0 -h for help."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
shift $(($OPTIND - 1))
|
||||
|
||||
case $COMPRESSION in
|
||||
"gz")
|
||||
ARCEXT="tar.gz"
|
||||
ARCOPT="czf"
|
||||
;;
|
||||
"xz")
|
||||
ARCEXT="tar.xz"
|
||||
ARCOPT="cJf"
|
||||
;;
|
||||
*)
|
||||
ARCEXT="tar.gz"
|
||||
ARCOPT="czf"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
if [ "${DEBUG}" = "yes" ]; then
|
||||
echo "COMPRESSION=[$COMPRESSION]"
|
||||
echo "ARCHIVENAME=[$ARCHIVENAME]"
|
||||
echo "ARCEXT=[$ARCEXT]"
|
||||
echo "ARCOPT=[$ARCOPT]"
|
||||
fi
|
||||
|
||||
if [ -e "${ARCHIVENAME}.${ARCEXT}" ]; then
|
||||
echo "Error: ${ARCHIVENAME}.${ARCEXT} already exists!">&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
##==============================================================================
|
||||
## Packages list
|
||||
##==============================================================================
|
||||
|
||||
HOST=$(hostname)
|
||||
|
||||
## Arch Linux
|
||||
if [ -e "/usr/bin/pacman" ]; then
|
||||
|
||||
ARCH_PKG_OFFICIAL="$HOME/.pkg-arch-official"
|
||||
ARCH_PKG_EXPLICIT="$HOME/.pkg-arch-explicit"
|
||||
ARCH_PKG_AUR="$HOME/.pkg-arch-aur"
|
||||
|
||||
PKG_LOCAL='pacman -Qq | sort'
|
||||
PKG_FOREIGN='pacman -Qmq | sort'
|
||||
PKG_EXPLICIT='pacman -Qeq | sort'
|
||||
|
||||
comm -3 <(eval "${PKG_LOCAL}") <(eval "${PKG_FOREIGN}") >"${ARCH_PKG_OFFICIAL}-${HOST}"
|
||||
|
||||
eval "${PKG_EXPLICIT}" >"${ARCH_PKG_EXPLICIT}-${HOST}"
|
||||
eval "${PKG_FOREIGN}" >"${ARCH_PKG_AUR}-${HOST}"
|
||||
fi
|
||||
|
||||
## FreeBSD
|
||||
if [ "$(uname)" = "FreeBSD" ]; then
|
||||
pkg_info | cut -f1 -d' ' >"$HOME/.pkg-freebsd-${HOST}"
|
||||
fi
|
||||
|
||||
## TeXlive
|
||||
if type tlmgr >/dev/null 2>&1; then
|
||||
HOST=$(hostname)
|
||||
|
||||
## We use <TAB> in the sed expressions.
|
||||
TEXLIVE_BASIC="$(tlmgr info collection-basic --list | sed -n '/^ /{s/ //g;p;}' | sort)"
|
||||
TEXLIVE_ALL="$(tlmgr info --only-installed | grep -v 'x86_64\|amd64' | cut -d' ' -f2 | cut -f1 -d':' | sort)"
|
||||
|
||||
comm -3 <(echo "$TEXLIVE_BASIC") <(echo "$TEXLIVE_ALL") | sed 's/ //g' | \
|
||||
grep -vi 'collection-basic\|scheme-minimal\|texlive-common\|texlive-docindex\|texlive-en' >"$HOME/.pkg-texlive-$(uname)-${HOST}"
|
||||
fi
|
||||
|
||||
##==============================================================================
|
||||
## Let's fill the file list:
|
||||
##==============================================================================
|
||||
FILELIST=()
|
||||
|
||||
## Distro + TeXlive Package list
|
||||
for i in $(find . -maxdepth 1 -name '.pkg*' -exec basename {} \;)
|
||||
do
|
||||
FILELIST=(${FILELIST[*]} "$i")
|
||||
done
|
||||
|
||||
## Awesome
|
||||
FILELIST=(${FILELIST[*]} ".config/awesome/rc.lua")
|
||||
FILELIST=(${FILELIST[*]} ".config/awesome/themes/custom/theme.lua")
|
||||
|
||||
## cmus
|
||||
FILELIST=(${FILELIST[*]} ".cmus/rc")
|
||||
|
||||
## DWB
|
||||
FILELIST=(${FILELIST[*]} ".config/dwb/searchengines")
|
||||
FILELIST=(${FILELIST[*]} ".config/dwb/settings")
|
||||
|
||||
## Emacs
|
||||
FILELIST=(${FILELIST[*]} ".emacs")
|
||||
FILELIST=(${FILELIST[*]} ".emacs.d/abbrev_defs")
|
||||
FILELIST=(${FILELIST[*]} ".emacs.d/functions.el")
|
||||
FILELIST=(${FILELIST[*]} ".emacs.d/main.el")
|
||||
FILELIST=(${FILELIST[*]} ".emacs.d/modes.el")
|
||||
FILELIST=(${FILELIST[*]} ".emacs.d/plugins.el")
|
||||
FILELIST=(${FILELIST[*]} ".emacs.d/snippets")
|
||||
FILELIST=(${FILELIST[*]} ".emacs.d/theme.el")
|
||||
|
||||
## GTK
|
||||
FILELIST=(${FILELIST[*]} ".gtkrc-2.0")
|
||||
# FILELIST=(${FILELIST[*]} ".config/gtk-3.0/settings.ini")
|
||||
|
||||
## Git
|
||||
FILELIST=(${FILELIST[*]} ".gitconfig")
|
||||
|
||||
## Homeinit
|
||||
FILELIST=(${FILELIST[*]} ".homeinit")
|
||||
|
||||
## Luakit
|
||||
FILELIST=(${FILELIST[*]} ".config/luakit/rc.lua")
|
||||
FILELIST=(${FILELIST[*]} ".config/luakit/globals.lua")
|
||||
|
||||
## Mutt
|
||||
FILELIST=(${FILELIST[*]} ".muttrc")
|
||||
FILELIST=(${FILELIST[*]} ".mutt.d/colors.ambrevar")
|
||||
FILELIST=(${FILELIST[*]} ".mutt.d/colorset.sh")
|
||||
FILELIST=(${FILELIST[*]} ".mutt.d/mailcap")
|
||||
|
||||
## Netinit
|
||||
FILELIST=(${FILELIST[*]} ".netinit")
|
||||
|
||||
## Ranger
|
||||
FILELIST=(${FILELIST[*]} ".config/ranger/apps.py")
|
||||
FILELIST=(${FILELIST[*]} ".config/ranger/options.py")
|
||||
FILELIST=(${FILELIST[*]} ".config/ranger/rc.conf")
|
||||
FILELIST=(${FILELIST[*]} ".config/ranger/scope.sh")
|
||||
|
||||
## README
|
||||
FILELIST=(${FILELIST[*]} "README")
|
||||
|
||||
## rtorrent
|
||||
FILELIST=(${FILELIST[*]} ".rtorrent.rc")
|
||||
|
||||
## Shells
|
||||
FILELIST=(${FILELIST[*]} ".bash_profile")
|
||||
FILELIST=(${FILELIST[*]} ".bashrc")
|
||||
FILELIST=(${FILELIST[*]} ".zshrc")
|
||||
for i in $(ls -a .shell.d/*|grep -vi 'bhistory')
|
||||
do
|
||||
FILELIST=(${FILELIST[*]} "$i")
|
||||
done
|
||||
|
||||
## Taskwarrior
|
||||
FILELIST=(${FILELIST[*]} ".taskrc")
|
||||
|
||||
## Terminfo
|
||||
# FILELIST=(${FILELIST[*]} ".terminfo/x/xterm")
|
||||
|
||||
## TeXlive
|
||||
FILELIST=(${FILELIST[*]} ".texmf")
|
||||
|
||||
## Vim
|
||||
FILELIST=(${FILELIST[*]} ".vimrc")
|
||||
|
||||
## Xinit
|
||||
FILELIST=(${FILELIST[*]} ".xinitrc")
|
||||
|
||||
## XKB
|
||||
FILELIST=(${FILELIST[*]} ".xkb")
|
||||
|
||||
## Xresource
|
||||
FILELIST=(${FILELIST[*]} ".Xresources")
|
||||
|
||||
##==============================================================================
|
||||
## Archiving
|
||||
##==============================================================================
|
||||
|
||||
tar ${ARCOPT} "${ARCHIVENAME}.${ARCEXT}" -C "$HOME" ${FILELIST[*]} -C "$SCRIPTPATH" "$(basename "$0")"
|
||||
|
||||
##==============================================================================
|
||||
## Cleaning
|
||||
##==============================================================================
|
||||
cd "${OLDPATH}"
|
||||
|
||||
## Set Debug mode off
|
||||
if [ "$DEBUG" = "yes" ]; then
|
||||
set +x
|
||||
fi
|
Loading…
Reference in New Issue