summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-08-10 22:05:36 +0000
committerZac Medico <zmedico@gentoo.org>2009-08-10 22:05:36 +0000
commite1f2145ea16367ba2de11cadab50816b89b0f125 (patch)
treef8ea727e713d331614d72d40dc75be294df7445e /bin
parent6b527ece39ee92f1223b1ecc25ee51aeb1e6ccee (diff)
downloadportage-e1f2145ea16367ba2de11cadab50816b89b0f125.tar.gz
portage-e1f2145ea16367ba2de11cadab50816b89b0f125.tar.bz2
portage-e1f2145ea16367ba2de11cadab50816b89b0f125.zip
This old script does checksums on installed files. People use equery for this
now. svn path=/main/trunk/; revision=13982
Diffstat (limited to 'bin')
-rwxr-xr-xbin/chkcontents66
1 files changed, 0 insertions, 66 deletions
diff --git a/bin/chkcontents b/bin/chkcontents
deleted file mode 100755
index fe108de06..000000000
--- a/bin/chkcontents
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/python
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-# Very simple program to compare the md5sums of a package as listed
-# in VDB_PATH/category/package/CONTENTS with the md5sums of the
-# actual programs on the system (and makes sure that symlinks point to
-# the right files).
-
-import os.path, os, sys
-try:
- import portage
-except ImportError:
- from os import path as osp
- sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
- import portage
-
-def CONTENTScheck(path):
- try:
- contents = open(path, "r")
- except IOError, e:
- print "Unable to open %s: %s" % (path, e)
- sys.exit(1)
- lines = contents.readlines()
- for line in lines:
- items = line.split()
- # items is a list w/ size depending on the type of item listed in item[0]
- # if items[0] = 'dir' then items[1] is the path of a directory
- # if items[0] = 'obj' then items[1] is the path of a file,
- # items[2] is the file's md5sum,
- # items[3] is the file's size
- # if items[0] = 'sym' then items[1] is the path of a symbolic link,
- # items[2] is '->'
- # items[3] is the file the symlink should point to
- # items[4] is the symlink mtime
- if (items[0] == 'obj'):
- md5stored = items[2].lower()
- # fchksum.fmdft(file) returns the file's md5sum and the file's size
- md5real = portage.perform_checksum(items[1])[0].lower()
- if (md5stored != md5real):
- if md5real:
- print "%s has md5sum of %s instead of %s" % (items[1], md5real, md5stored)
- else:
- print "%s is missing!" % items[1]
- elif (items[0] == 'sym'):
- link = items[1]
- target = items[3]
- if (not os.path.islink(link)):
- print "%s is not a symbolic link" % link
- continue
- actualtarget = os.readlink(link)
- if (os.path.normpath(actualtarget) != os.path.normpath(target)):
- print "%s points to %s, not %s" % (link, actualtarget, target)
-
-
-if __name__ == '__main__':
- import sys
- if (len(sys.argv) != 2 or sys.argv[1] == "--help"):
- print "This program compares md5sums in the file VDB_PATH/category/package/CONTENTS"
- print "with the md5sums of the actual files on the filesystem"
- print "(and makes sure that symlinks point to the right files)."
- print "\nUsage: chkcontents path/to/CONTENTS"
- sys.exit(1)
- CONTENTScheck(sys.argv[1])
-