Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- from os import chdir, listdir
- from os.path import basename, islink, realpath
- from shutil import rmtree
- import re
- import subprocess as sp
- import sys
- if __name__ == '__main__':
- chdir('/usr/src')
- current = None
- for name in listdir('.'):
- if islink(name):
- current = basename(realpath(name))
- cmd = ['eselect', 'kernel', 'list']
- output = sp.check_output(cmd).decode('utf-8').splitlines()
- for line in output:
- if line.endswith('*'):
- output = line
- break
- eselect_current = re.split(r'\s+', output)[2]
- if not current or not eselect_current or current != eselect_current:
- print('Invalid state. Use `eselect kernel` to set a kernel.',
- file=sys.stderr)
- sys.exit(1)
- print('Current: {}'.format(current), file=sys.stderr)
- removed = False
- for name in listdir('.'):
- if islink(name) or not name.startswith('linux-') or name == current:
- continue
- print('Removing ./{}'.format(name), file=sys.stderr)
- rmtree('./{}'.format(name))
- removed = True
- if not removed:
- print('Found nothing to clean up', file=sys.stderr)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement