def METHOD_NAME(self):
    package_ids = {}
    h = rhnSQL.prepare(self._query_get_packages)
    for channel_id in list(self._channels_hash.values()):
        h.execute(channel_id=channel_id)
        while 1:
            row = h.fetchone_dict()
            if not row:
                break
            package_id = row['package_id']
            package_ids[package_id] = (row['path'], row['header_start'], row['header_end'])
    self._channel_packages = {}
    orphaned_packages = {}
    # Now, for each package, get the channels it's part of
    h = rhnSQL.prepare(self._query_get_channel_packages)
    for package_id in package_ids:
        h.execute(package_id=package_id)
        while 1:
            row = h.fetchone_dict()
            if not row:
                break
            channel_label = row['label']
            if package_id in self._channel_packages:
                l = self._channel_packages[package_id]
            else:
                l = self._channel_packages[package_id] = []
            l.append(channel_label)
            if channel_label not in self._channels_hash:
                orphaned_packages[package_id] = None
    if orphaned_packages:
        print("Bailing out because of packages shared with other channels")
        for package_id in orphaned_packages:
            channels = self._channel_packages[package_id]
            print((package_id, channels))
        return None
    return package_ids