def doFile(self, path):
        # temporarily do nothing for capsules, we might do something later
        if self.recipe._getCapsulePathsForFile(path):
            return
        fullpath = self.recipe.macros.destdir + os.sep + path
        s = os.lstat(fullpath)
        mode = s[stat.ST_MODE]

        if mode & 0777 != 0755:
            self.info('excluding directory %s with mode %o', path, mode&0777)
        elif not os.listdir(fullpath):
            d = self.recipe.autopkg.pathMap[path]
            if d.inode.owner.freeze() != 'root':
                self.info('not excluding empty directory %s'
                          ' because of non-root owner', path)
                return
            elif d.inode.group.freeze() != 'root':
                self.info('not excluding empty directory %s'
                          ' because of non-root group', path)
                return
            self.info('excluding empty directory %s', path)
            # if its empty and we're not packaging it, there's no need for it
            # to continue to exist on the filesystem to potentially confuse
            # other policy actions... see CNP-18
            os.rmdir(fullpath)
        self.recipe.autopkg.delFile(path)