.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
|
amsmath
|
||||||
babel
|
babel
|
||||||
beamer
|
beamer
|
||||||
carlisle
|
carlisle
|
||||||
ec
|
ec
|
||||||
eplain
|
eplain
|
||||||
eurosym
|
eukdate
|
||||||
fancyhdr
|
fancyhdr
|
||||||
geometry
|
geometry
|
||||||
glossaries
|
glossaries
|
||||||
|
@ -29,6 +30,5 @@ pgf
|
||||||
tabulary
|
tabulary
|
||||||
tools
|
tools
|
||||||
url
|
url
|
||||||
was
|
|
||||||
xcolor
|
xcolor
|
||||||
xkeyval
|
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