pisi rebuild pisi glibc upgrade patch
This commit is contained in:
@@ -0,0 +1,172 @@
|
||||
diff -Nuar a/pisi/operations/install.py b/pisi/operations/install.py
|
||||
--- a/pisi/operations/install.py 2020-01-13 21:53:04.000000000 +0300
|
||||
+++ b/pisi/operations/install.py 2025-11-03 10:01:18.864209134 +0300
|
||||
@@ -27,6 +27,32 @@
|
||||
import pisi.ui as ui
|
||||
import pisi.db
|
||||
|
||||
+def reorder_for_glibc_priority(order):
|
||||
+ """GLIBC ve glibc-devel'i EN SONA al, glibc-devel glibc'den SONRA gelsin"""
|
||||
+ try:
|
||||
+ glibc_packages = ["glibc", "glibc-devel"]
|
||||
+
|
||||
+ # Yeni liste oluştur
|
||||
+ new_order = [pkg for pkg in order if pkg not in glibc_packages]
|
||||
+ found_glibc = "glibc" in order
|
||||
+ found_glibc_devel = "glibc-devel" in order
|
||||
+
|
||||
+ if found_glibc or found_glibc_devel:
|
||||
+ # Glibc paketlerini sona ekle (önce glibc, sonra glibc-devel)
|
||||
+ if found_glibc:
|
||||
+ new_order.append("glibc")
|
||||
+ if found_glibc_devel:
|
||||
+ new_order.append("glibc-devel")
|
||||
+
|
||||
+ ctx.ui.debug("Reordered glibc packages to the end: glibc=%s, glibc-devel=%s" % (found_glibc, found_glibc_devel))
|
||||
+
|
||||
+ return new_order
|
||||
+
|
||||
+ except Exception as e:
|
||||
+ # Hata olursa orijinal listeyi döndür
|
||||
+ ctx.ui.debug("Error in glibc reordering: %s" % str(e))
|
||||
+ return order
|
||||
+
|
||||
def install_pkg_names(A, reinstall = False, extra = False):
|
||||
"""This is the real thing. It installs packages from
|
||||
the repository, trying to perform a minimum number of
|
||||
@@ -61,12 +87,18 @@
|
||||
G_f = None
|
||||
order = list(A)
|
||||
|
||||
+ # GLIBC ÖNCELİĞİ - EN SONA al
|
||||
+ order = reorder_for_glibc_priority(order)
|
||||
+
|
||||
componentdb = pisi.db.componentdb.ComponentDB()
|
||||
|
||||
# Bug 4211
|
||||
if componentdb.has_component('system.base'):
|
||||
order = operations.helper.reorder_base_packages(order)
|
||||
|
||||
+ # GLIBC ÖNCELİĞİ - system.base düzenlemesinden sonra tekrar kontrol
|
||||
+ order = reorder_for_glibc_priority(order)
|
||||
+
|
||||
if len(order) > 1:
|
||||
ctx.ui.info(util.colorize(_("Following packages will be installed:"), "brightblue"))
|
||||
ctx.ui.info(util.format_by_columns(sorted(order)))
|
||||
@@ -251,11 +283,19 @@
|
||||
if ctx.config.get_option('debug'):
|
||||
G_f.write_graphviz(sys.stdout)
|
||||
order = G_f.topological_sort()
|
||||
+
|
||||
+ # GLIBC ÖNCELİĞİ - PAKET DOSYALARI İÇİN (EN SONA al)
|
||||
+ order = reorder_for_glibc_priority(order)
|
||||
+
|
||||
if not ctx.get_option('ignore_package_conflicts'):
|
||||
conflicts = operations.helper.check_conflicts(order, packagedb)
|
||||
if conflicts:
|
||||
operations.remove.remove_conflicting_packages(conflicts)
|
||||
order.reverse()
|
||||
+
|
||||
+ # GLIBC ÖNCELİĞİ - ters çevirdikten sonra tekrar kontrol (EN SONA al)
|
||||
+ order = reorder_for_glibc_priority(order)
|
||||
+
|
||||
ctx.ui.info(_('Installation order: ') + util.strlist(order) )
|
||||
|
||||
if ctx.get_option('dry_run'):
|
||||
@@ -300,4 +340,8 @@
|
||||
G_f.write_graphviz(sys.stdout)
|
||||
order = G_f.topological_sort()
|
||||
order.reverse()
|
||||
+
|
||||
+ # GLIBC ÖNCELİĞİ - plan_install_pkg_names için (EN SONA al)
|
||||
+ order = reorder_for_glibc_priority(order)
|
||||
+
|
||||
return G_f, order
|
||||
diff -Nuar a/pisi/operations/upgrade.py b/pisi/operations/upgrade.py
|
||||
--- a/pisi/operations/upgrade.py 2020-01-13 21:53:04.000000000 +0300
|
||||
+++ b/pisi/operations/upgrade.py 2025-11-03 09:52:29.821823074 +0300
|
||||
@@ -26,6 +26,32 @@
|
||||
import pisi.db
|
||||
import pisi.blacklist
|
||||
|
||||
+def reorder_for_glibc_priority(order):
|
||||
+ """GLIBC ve glibc-devel'i EN SONA al, glibc-devel glibc'den SONRA gelsin"""
|
||||
+ try:
|
||||
+ glibc_packages = ["glibc", "glibc-devel"]
|
||||
+
|
||||
+ # Yeni liste oluştur
|
||||
+ new_order = [pkg for pkg in order if pkg not in glibc_packages]
|
||||
+ found_glibc = "glibc" in order
|
||||
+ found_glibc_devel = "glibc-devel" in order
|
||||
+
|
||||
+ if found_glibc or found_glibc_devel:
|
||||
+ # Glibc paketlerini sona ekle (önce glibc, sonra glibc-devel)
|
||||
+ if found_glibc:
|
||||
+ new_order.append("glibc")
|
||||
+ if found_glibc_devel:
|
||||
+ new_order.append("glibc-devel")
|
||||
+
|
||||
+ ctx.ui.debug("Reordered glibc packages to the end: glibc=%s, glibc-devel=%s" % (found_glibc, found_glibc_devel))
|
||||
+
|
||||
+ return new_order
|
||||
+
|
||||
+ except Exception as e:
|
||||
+ # Hata olursa orijinal listeyi döndür
|
||||
+ ctx.ui.debug("Error in glibc reordering: %s" % str(e))
|
||||
+ return order
|
||||
+
|
||||
def check_update_actions(packages):
|
||||
installdb = pisi.db.installdb.InstallDB()
|
||||
packagedb = pisi.db.packagedb.PackageDB()
|
||||
@@ -167,12 +193,18 @@
|
||||
G_f = None
|
||||
order = list(A)
|
||||
|
||||
+ # GLIBC ÖNCELİĞİ - EN SONA al
|
||||
+ order = reorder_for_glibc_priority(order)
|
||||
+
|
||||
componentdb = pisi.db.componentdb.ComponentDB()
|
||||
|
||||
# Bug 4211
|
||||
if componentdb.has_component('system.base'):
|
||||
order = operations.helper.reorder_base_packages(order)
|
||||
|
||||
+ # GLIBC ÖNCELİĞİ - system.base düzenlemesinden sonra tekrar kontrol
|
||||
+ order = reorder_for_glibc_priority(order)
|
||||
+
|
||||
ctx.ui.status(_('The following packages will be upgraded:'))
|
||||
ctx.ui.info(util.format_by_columns(sorted(order)))
|
||||
|
||||
@@ -348,6 +380,10 @@
|
||||
|
||||
order = G_f.topological_sort()
|
||||
order.reverse()
|
||||
+
|
||||
+ # GLIBC ÖNCELİĞİ - plan_upgrade için (EN SONA al)
|
||||
+ order = reorder_for_glibc_priority(order)
|
||||
+
|
||||
return G_f, order
|
||||
|
||||
def upgrade_base(A = set()):
|
||||
@@ -363,6 +399,10 @@
|
||||
"following packages:"))
|
||||
ctx.ui.info(util.format_by_columns(sorted(extra_installs)))
|
||||
G_f, install_order = operations.install.plan_install_pkg_names(extra_installs)
|
||||
+
|
||||
+ # GLIBC ÖNCELİĞİ - install_order için
|
||||
+ install_order = reorder_for_glibc_priority(install_order)
|
||||
+
|
||||
extra_upgrades = filter(lambda x: is_upgradable(x), systembase - set(install_order))
|
||||
upgrade_order = []
|
||||
|
||||
@@ -379,6 +419,10 @@
|
||||
"following packages:"))
|
||||
ctx.ui.info(util.format_by_columns(sorted(extra_upgrades)))
|
||||
G_f, upgrade_order = plan_upgrade(extra_upgrades, force_replaced=False)
|
||||
+
|
||||
+ # GLIBC ÖNCELİĞİ - upgrade_order için
|
||||
+ upgrade_order = reorder_for_glibc_priority(upgrade_order)
|
||||
+
|
||||
# return packages that must be added to any installation
|
||||
return set(install_order + upgrade_order)
|
||||
else:
|
||||
@@ -81,6 +81,13 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="29">
|
||||
<Date>2025-11-03</Date>
|
||||
<Version>2.7.2</Version>
|
||||
<Comment>Rebuild</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="28">
|
||||
<Date>2025-11-01</Date>
|
||||
<Version>2.7.2</Version>
|
||||
|
||||
Reference in New Issue
Block a user