Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- function pacman-update {
- local LOGPREFIX="${LOGPREFIX:-/var/paclog}"
- if ! [[ -d "${LOGPREFIX}" ]]; then
- mkdir -m 0755 "${LOGPREFIX}"
- fi
- (
- set -e
- local curdate=$(date +%s)
- pacman -Q > "${LOGPREFIX}/pacman-Q.pre-update.${curdate}.pkglist"
- pacman -Sy
- pacman -Q > "${LOGPREFIX}/pacman-Q.post-update-all.${curdate}.pkglist"
- if cmp -s "${LOGPREFIX}/pacman-Q.pre-update-all.${curdate}.pkglist" \
- "${LOGPREFIX}/pacman-Q.post-update-all.${curdate}.pkglist";
- then
- ln -f "${LOGPREFIX}/pacman-Q.pre-update-all.${curdate}.pkglist" \
- "${LOGPREFIX}/pacman-Q.post-update-all.${curdate}.pkglist"
- fi
- ) 2>&1 | tee -a "${LOGPREFIX}/pacman-global.log"
- }
- function pacman-upgrade-all-preview {
- pacman -Sup --noconfirm --needed --print-format "%r/%n-%v"
- }
- function pacman-upgrade-all {
- local LOGPREFIX="${LOGPREFIX:-/var/paclog}"
- if ! [[ -d "${LOGPREFIX}" ]]; then
- mkdir -m 0755 "${LOGPREFIX}"
- fi
- (
- set -e
- local curdate=$(date +%s)
- pacman -Q > "${LOGPREFIX}/pacman-Q.pre-upgrade-all.${curdate}.pkglist"
- pacman -Q | awk '{print $1}' | xargs --no-run-if-empty pacman-fetch
- pacman -Su --noconfirm
- pacman -Q > "${LOGPREFIX}/pacman-Q.post-upgrade-all.${curdate}.pkglist"
- if cmp -s "${LOGPREFIX}/pacman-Q.pre-upgrade-all.${curdate}.pkglist" \
- "${LOGPREFIX}/pacman-Q.post-upgrade-all.${curdate}.pkglist";
- then
- ln -f "${LOGPREFIX}/pacman-Q.pre-upgrade-all.${curdate}.pkglist" \
- "${LOGPREFIX}/pacman-Q.post-upgrade-all.${curdate}.pkglist"
- fi
- ) 2>&1 | tee -a "${LOGPREFIX}/pacman-global.log"
- }
- function pacman-upgrade-explicit-preview {
- pacman -Qe | awk '{print $1}' |
- xargs --no-run-if-empty pacman -Sp --noconfirm --needed --print-format "%r/%n-%v"
- }
- function pacman-upgrade-explicit {
- local LOGPREFIX="${LOGPREFIX:-/var/paclog}"
- if ! [[ -d "${LOGPREFIX}" ]]; then
- mkdir -m 0755 "${LOGPREFIX}"
- fi
- (
- set -e
- local curdate=$(date +%s)
- pacman -Q > "${LOGPREFIX}/pacman-Q.pre-upgrade-explicit.${curdate}.pkglist"
- pacman -Qe | awk '{print $1}' | xargs --no-run-if-empty pacman-fetch
- pacman -Qe | awk '{print $1}' | xargs --no-run-if-empty pacman -S --noconfirm --needed
- pacman -Q > "${LOGPREFIX}/pacman-Q.post-upgrade-explicit.${curdate}.pkglist"
- if cmp -s "${LOGPREFIX}/pacman-Q.pre-upgrade-explicit.${curdate}.pkglist" \
- "${LOGPREFIX}/pacman-Q.post-upgrade-explicit.${curdate}.pkglist";
- then
- ln -f "${LOGPREFIX}/pacman-Q.pre-upgrade-explicit.${curdate}.pkglist" \
- "${LOGPREFIX}/pacman-Q.post-upgrade-explicit.${curdate}.pkglist"
- fi
- ) 2>&1 | tee -a "${LOGPREFIX}/pacman-global.log"
- }
- function pacman-search {
- pacman -Ss "$@"
- }
- function pacman-fetch {
- local CacheDir="${CacheDir:-/var/cache/pacman/pkg}"
- local XferCommand="${XferCommand:-/usr/bin/wget -P "${CacheDir}"}"
- if aria2c -v 2>&1 > /dev/null; then
- local XferCommand="${XferCommand:-/usr/bin/aria2c -j 5 -s 5 --allow-overwrite=true --auto-file-renaming=false -d "${CacheDir}"}"
- fi
- pacman -Sp --noconfirm --needed "$@" | grep '^[^ ]' |
- xargs --no-run-if-empty ${XferCommand}
- }
- function pacman-install-preview {
- pacman -Sp --noconfirm --needed --print-format "%r/%n-%v" "$@"
- }
- function pacman-install {
- local LOGPREFIX="${LOGPREFIX:-/var/paclog}"
- if ! [[ -d "${LOGPREFIX}" ]]; then
- mkdir -m 0755 "${LOGPREFIX}"
- fi
- (
- set -e
- local curdate=$(date +%s)
- pacman -Q > "${LOGPREFIX}/pacman-Q.pre-install.${curdate}.pkglist"
- pacman-fetch "$@"
- pacman -S --asexplicit --noconfirm --needed "$@"
- pacman -Q > "${LOGPREFIX}/pacman-Q.post-install.${curdate}.pkglist"
- if cmp -s "${LOGPREFIX}/pacman-Q.pre-install.${curdate}.pkglist" \
- "${LOGPREFIX}/pacman-Q.post-install.${curdate}.pkglist";
- then
- ln -f "${LOGPREFIX}/pacman-Q.pre-install.${curdate}.pkglist" \
- "${LOGPREFIX}/pacman-Q.post-install.${curdate}.pkglist"
- fi
- ) 2>&1 | tee -a "${LOGPREFIX}/pacman-global.log"
- }
- function pacman-remove {
- local LOGPREFIX="${LOGPREFIX:-/var/paclog}"
- if ! [[ -d "${LOGPREFIX}" ]]; then
- mkdir -m 0755 "${LOGPREFIX}"
- fi
- (
- set -e
- local curdate=$(date +%s)
- pacman -Q > "${LOGPREFIX}/pacman-Q.pre-remove.${curdate}.pkglist"
- pacman -R --noconfirm "$@"
- pacman -Q > "${LOGPREFIX}/pacman-Q.post-remove.${curdate}.pkglist"
- if cmp -s "${LOGPREFIX}/pacman-Q.pre-remove.${curdate}.pkglist" \
- "${LOGPREFIX}/pacman-Q.post-remove.${curdate}.pkglist";
- then
- ln -f "${LOGPREFIX}/pacman-Q.pre-remove.${curdate}.pkglist" \
- "${LOGPREFIX}/pacman-Q.post-remove.${curdate}.pkglist"
- fi
- ) 2>&1 | tee -a "${LOGPREFIX}/pacman-global.log"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement