pisi tarafından kurulmamış dosyaları bulan arkadaş, './unownedfiles.py /sbin/' şeklinde çalışıyor
This commit is contained in:
Executable
+48
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright (C) 2005, TUBITAK/UEKAE
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation; either version 2 of the License, or (at your
|
||||
# option) any later version. Please read the COPYING file.
|
||||
#
|
||||
|
||||
import os
|
||||
import sys
|
||||
import piksemel
|
||||
|
||||
|
||||
def findFilesXML(path):
|
||||
filesXMLs = list()
|
||||
for root, dirs, files in os.walk(path):
|
||||
for file in files:
|
||||
if file == "files.xml":
|
||||
filesXMLs.append(os.path.join(root, file))
|
||||
return filesXMLs
|
||||
|
||||
def parseFilesXML():
|
||||
files = set()
|
||||
for filesXML in findFilesXML("/var/lib/pisi/package/"):
|
||||
data = open(filesXML).read()
|
||||
data = piksemel.parseString(data)
|
||||
for filePath in data.tags("File"):
|
||||
path = filePath.getTagData("Path")
|
||||
if filePath.getTag("Hash"):
|
||||
files.add("/%s" % path)
|
||||
return files
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
sys.argv[1]
|
||||
except IndexError:
|
||||
sys.exit("Unsufficient arguments...")
|
||||
|
||||
fileSet = parseFilesXML()
|
||||
|
||||
for root, dirs, files in os.walk(sys.argv[1]):
|
||||
for file in files:
|
||||
f = os.path.join(root, file)
|
||||
if not fileSet.__contains__(f):
|
||||
print f
|
||||
Reference in New Issue
Block a user