'Unpack a downloaded package archive.'

def unpackPackageOnly(self, output=None):

    filename = os.path.split(self.archiveFilename)[1]
    for (ext, unpackerClass, arg) in ARCHIVE_FORMATS:
        if (filename[(- len(ext)):] == ext):
            break
    else:
        return ('unknown    extension    for    archive    file:    %s' % filename)
    self.basename = filename[:(- len(ext))]
    unpacker = unpackerClass(arg, dir=self._db.preferences.buildDir, watcher=self._db.preferences.watcher)
    rv = unpacker.unpack(self.archiveFilename, output=output)
    if rv:
        return rv
