port to libsolv