File: dpkg_csv.py

package info (click to toggle)
cruft-ng 0.9.77
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,836 kB
  • sloc: cpp: 1,748; sh: 816; python: 233; makefile: 97; ansic: 82; perl: 75
file content (24 lines) | stat: -rwxr-xr-x 786 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/python3

import glob
import os

for dpkg_list in glob.glob('/var/lib/dpkg/info/*.list') + glob.glob('/var/lib/dpkg/info/*.conffiles'):
    package = os.path.basename(dpkg_list)
    package = package.split(':')[0]
    package = package.split('.')[0]
    with open(dpkg_list, 'r') as files:
        for file in files:
            file = file.rstrip('\n')
            if os.path.isdir(file):
                continue
            elif not os.path.exists(file):
                continue
            elif os.path.islink(file):
                type_ = 'l'
                size = 1024
            else:
                type_ = 'f'
                size = os.stat(file).st_size
            file = file.replace(';','_')
            print("%s;%s;%s;0;%s" % (file, package, type_, size))