2013-10-23 12:13:54 +02:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
## Create lists of system- and TeX Live packages.
|
2013-01-09 11:41:04 +01:00
|
|
|
|
|
|
|
## Variables
|
2013-05-21 21:57:54 +02:00
|
|
|
HOST="$(hostname)"
|
2013-06-26 22:36:27 +02:00
|
|
|
PKG_ROOT="$HOME/.pkg"
|
2013-10-23 12:13:54 +02:00
|
|
|
mkdir -p "$PKG_ROOT"
|
2013-01-09 11:41:04 +01:00
|
|
|
|
|
|
|
## Arch Linux
|
2014-01-03 19:13:07 +01:00
|
|
|
if command -v pacman >/dev/null 2>&1; then
|
2013-10-23 12:13:54 +02:00
|
|
|
## Note: the "-n" option was added between 2012 and 2013.
|
|
|
|
pacman -Qnq | sort >"$PKG_ROOT/arch-official-${HOST}"
|
|
|
|
pacman -Qmq | sort >"$PKG_ROOT/arch-aur-${HOST}"
|
2013-01-09 11:41:04 +01:00
|
|
|
fi
|
|
|
|
|
|
|
|
## FreeBSD
|
|
|
|
if [ "$(uname)" = "FreeBSD" ]; then
|
2013-06-26 21:34:06 +02:00
|
|
|
pkg_info | cut -f1 -d' ' >"$PKG_ROOT/freebsd-${HOST}"
|
2013-01-09 11:41:04 +01:00
|
|
|
fi
|
|
|
|
|
|
|
|
## TeXlive
|
|
|
|
if type tlmgr >/dev/null 2>&1; then
|
|
|
|
## We use <TAB> in the sed expressions.
|
2013-10-23 12:13:54 +02:00
|
|
|
TEXLIVE_BASIC="$(mktemp)"
|
|
|
|
tlmgr info collection-basic --list | sed -n '/^ /{s/ //g;p;}' | sort >"$TEXLIVE_BASIC"
|
2013-01-09 11:41:04 +01:00
|
|
|
|
2013-10-23 12:13:54 +02:00
|
|
|
TEXLIVE_ALL="$(mktemp)"
|
|
|
|
tlmgr info --only-installed | grep -v 'x86_64\|amd64' | cut -d' ' -f2 | cut -f1 -d':' | sort >"$TEXLIVE_ALL"
|
|
|
|
|
|
|
|
comm -3 "$TEXLIVE_BASIC" "$TEXLIVE_ALL" | sed 's/ //g' | \
|
2013-06-26 21:34:06 +02:00
|
|
|
grep -vi 'collection-basic\|scheme-minimal\|texlive-common\|texlive-docindex\|texlive-en' >"$PKG_ROOT/texlive-$(uname)-${HOST}"
|
2013-10-23 12:13:54 +02:00
|
|
|
|
|
|
|
rm "$TEXLIVE_ALL" "$TEXLIVE_BASIC"
|
2013-01-09 11:41:04 +01:00
|
|
|
fi
|
|
|
|
|
2013-10-23 12:13:54 +02:00
|
|
|
## Zsh version
|
|
|
|
# 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' >"$PKG_ROOT/texlive-$(uname)-${HOST}"
|