|
|
@ -16,7 +16,7 @@ from pamac import config, common, aur
|
|
|
|
|
|
|
|
|
|
|
|
to_remove = set()
|
|
|
|
to_remove = set()
|
|
|
|
to_add = set()
|
|
|
|
to_add = set()
|
|
|
|
to_add_as_dep = set()
|
|
|
|
to_mark_as_dep = set()
|
|
|
|
to_update = set()
|
|
|
|
to_update = set()
|
|
|
|
to_load = set()
|
|
|
|
to_load = set()
|
|
|
|
available_updates = (False, [])
|
|
|
|
available_updates = (False, [])
|
|
|
@ -246,9 +246,16 @@ def init_transaction(**options):
|
|
|
|
|
|
|
|
|
|
|
|
def check_to_build():
|
|
|
|
def check_to_build():
|
|
|
|
global to_build
|
|
|
|
global to_build
|
|
|
|
global to_add_as_dep
|
|
|
|
global to_add
|
|
|
|
|
|
|
|
global to_mark_as_dep
|
|
|
|
global make_depends
|
|
|
|
global make_depends
|
|
|
|
global build_depends
|
|
|
|
global build_depends
|
|
|
|
|
|
|
|
make_depends = []
|
|
|
|
|
|
|
|
builds_depends = []
|
|
|
|
|
|
|
|
# check if base_devel packages are installed
|
|
|
|
|
|
|
|
for name in base_devel:
|
|
|
|
|
|
|
|
if not pyalpm.find_satisfier(localdb.pkgcache, name):
|
|
|
|
|
|
|
|
make_depends.add(name)
|
|
|
|
already_checked = set()
|
|
|
|
already_checked = set()
|
|
|
|
build_order = []
|
|
|
|
build_order = []
|
|
|
|
i = 0
|
|
|
|
i = 0
|
|
|
@ -302,7 +309,7 @@ def check_to_build():
|
|
|
|
build_order.insert(index, raw_makedepend)
|
|
|
|
build_order.insert(index, raw_makedepend)
|
|
|
|
# add it in already_checked and to_add_as_as_dep
|
|
|
|
# add it in already_checked and to_add_as_as_dep
|
|
|
|
already_checked.add(raw_makedepend)
|
|
|
|
already_checked.add(raw_makedepend)
|
|
|
|
to_add_as_dep.add(raw_makedepend)
|
|
|
|
to_mark_as_dep.add(raw_makedepend)
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
if error:
|
|
|
|
if error:
|
|
|
|
error += '\n'
|
|
|
|
error += '\n'
|
|
|
@ -341,7 +348,7 @@ def check_to_build():
|
|
|
|
build_order.insert(index, raw_depend)
|
|
|
|
build_order.insert(index, raw_depend)
|
|
|
|
# add it in already_checked and to_add_as_as_dep
|
|
|
|
# add it in already_checked and to_add_as_as_dep
|
|
|
|
already_checked.add(raw_depend)
|
|
|
|
already_checked.add(raw_depend)
|
|
|
|
to_add_as_dep.add(raw_depend)
|
|
|
|
to_mark_as_dep.add(raw_depend)
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
if error:
|
|
|
|
if error:
|
|
|
|
error += '\n'
|
|
|
|
error += '\n'
|
|
|
@ -353,11 +360,13 @@ def check_to_build():
|
|
|
|
i += 1
|
|
|
|
i += 1
|
|
|
|
if error:
|
|
|
|
if error:
|
|
|
|
return error
|
|
|
|
return error
|
|
|
|
# add pkgname in make_depends and build_depends in to_add_as_dep
|
|
|
|
# add pkgname in make_depends and build_depends in to_add and to_mark_as_dep
|
|
|
|
for name in make_depends:
|
|
|
|
for name in make_depends:
|
|
|
|
to_add_as_dep.add(name)
|
|
|
|
to_add.add(name)
|
|
|
|
|
|
|
|
to_mark_as_dep.add(name)
|
|
|
|
for name in build_depends:
|
|
|
|
for name in build_depends:
|
|
|
|
to_add_as_dep.add(name)
|
|
|
|
to_add.add(name)
|
|
|
|
|
|
|
|
to_mark_as_dep.add(name)
|
|
|
|
# reorder to_build following build_order
|
|
|
|
# reorder to_build following build_order
|
|
|
|
to_build.sort(key = lambda pkg: build_order.index(pkg.name))
|
|
|
|
to_build.sort(key = lambda pkg: build_order.index(pkg.name))
|
|
|
|
print('order:', build_order)
|
|
|
|
print('order:', build_order)
|
|
|
@ -387,11 +396,11 @@ def run():
|
|
|
|
while Gtk.events_pending():
|
|
|
|
while Gtk.events_pending():
|
|
|
|
Gtk.main_iteration()
|
|
|
|
Gtk.main_iteration()
|
|
|
|
if not error:
|
|
|
|
if not error:
|
|
|
|
if to_add or to_remove or to_load or to_add_as_dep:
|
|
|
|
if to_add or to_remove or to_load:
|
|
|
|
trans_flags = {'cascade' : True}
|
|
|
|
trans_flags = {'cascade' : True}
|
|
|
|
error += init_transaction(**trans_flags)
|
|
|
|
error += init_transaction(**trans_flags)
|
|
|
|
if not error:
|
|
|
|
if not error:
|
|
|
|
for name in to_add | to_add_as_dep:
|
|
|
|
for name in to_add:
|
|
|
|
error += Add(name)
|
|
|
|
error += Add(name)
|
|
|
|
for name in to_remove:
|
|
|
|
for name in to_remove:
|
|
|
|
error += Remove(name)
|
|
|
|
error += Remove(name)
|
|
|
@ -422,7 +431,7 @@ def prepare(**trans_flags):
|
|
|
|
choose_provides(item)
|
|
|
|
choose_provides(item)
|
|
|
|
error += init_transaction(**trans_flags)
|
|
|
|
error += init_transaction(**trans_flags)
|
|
|
|
if not error:
|
|
|
|
if not error:
|
|
|
|
for name in to_add | to_add_as_dep:
|
|
|
|
for name in to_add:
|
|
|
|
error += Add(name)
|
|
|
|
error += Add(name)
|
|
|
|
for name in to_remove:
|
|
|
|
for name in to_remove:
|
|
|
|
error += Remove(name)
|
|
|
|
error += Remove(name)
|
|
|
@ -602,13 +611,14 @@ def finalize():
|
|
|
|
build_next()
|
|
|
|
build_next()
|
|
|
|
|
|
|
|
|
|
|
|
def mark_needed_pkgs_as_dep():
|
|
|
|
def mark_needed_pkgs_as_dep():
|
|
|
|
global to_add_as_dep
|
|
|
|
global to_mark_as_dep
|
|
|
|
for name in to_add_as_dep.copy():
|
|
|
|
for name in to_mark_as_dep.copy():
|
|
|
|
|
|
|
|
if get_localpkg(name):
|
|
|
|
error = SetPkgReason(name, pyalpm.PKG_REASON_DEPEND)
|
|
|
|
error = SetPkgReason(name, pyalpm.PKG_REASON_DEPEND)
|
|
|
|
if error:
|
|
|
|
if error:
|
|
|
|
print(error)
|
|
|
|
print(error)
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
to_add_as_dep.discard(name)
|
|
|
|
to_mark_as_dep.discard(name)
|
|
|
|
|
|
|
|
|
|
|
|
def get_updates():
|
|
|
|
def get_updates():
|
|
|
|
while Gtk.events_pending():
|
|
|
|
while Gtk.events_pending():
|
|
|
|