summaryrefslogtreecommitdiffstats
path: root/show-leaves.sh
blob: 89ba4661058b9a20890e600d5e8dff72a3dce124 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash

# Partial script version of http://fedorasolved.org/Members/fenris02/post_upgrade_cleanup
# Mirrored on https://fedoraproject.org/wiki/User:Fenris02/Distribution_upgrades_and_cleaning_up_after_them

DS=$(/bin/date +%Y%m%d)
LANG=C
TMPDIR=$(/bin/mktemp -d ${TMPDIR:-/tmp}/${0##*/}-XXXXX.log)
[ -d "${TMPDIR}" ] || mkdir -p "${TMPDIR}"
YSHELL=${TMPDIR}/YUM-SHELL_${DS}.txt

if [ "$(/usr/bin/whoami)" != "root" ]; then
  echo "Must be run as root."
  exit 1
fi

[ -x /usr/bin/package-cleanup ] || yum install -y yum-utils

# Locate installed leaves packages that were installed as a dep of some other package
repoquery --installed --qf "%{nvra} - %{yumdb_info.reason}" \
  `package-cleanup --leaves -q --all` \
  |grep '\- dep' \
  |while read n a a; do \
    echo remove $n
  done > $YSHELL

if [ -s $YSHELL ]; then
  echo "Leaf packages:"
  cat $YSHELL

  echo ""
  echo "run" >> $YSHELL
  echo "To remove auto-detected leaf packages: yum shell $YSHELL"
else
  rm $YSHELL
  echo "No leaf packages detected."
fi

#EOF