Merge pull request #2256 from Rmys/master

pisi rebuild gklibc-upgrade patch
This commit is contained in:
Rmys
2025-11-01 21:54:19 +03:00
committed by GitHub
2 changed files with 148 additions and 0 deletions
+140
View File
@@ -0,0 +1,140 @@
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-01 16:42:51.410617888 +0300
@@ -27,6 +27,27 @@
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"""
+
+ glibc_packages = ["glibc", "glibc-devel"]
+ found_packages = [pkg for pkg in glibc_packages if pkg in order]
+
+ if found_packages:
+ # Tüm glibc paketlerini listeden çıkar
+ for pkg in found_packages:
+ order.remove(pkg)
+
+ # Önce glibc, sonra glibc-devel şeklinde sona ekle
+ # Bu sayede glibc-devel glibc'den sonra kurulur
+ order.append("glibc")
+ if "glibc-devel" in found_packages:
+ order.append("glibc-devel")
+
+ ctx.ui.debug("Reordered glibc packages to the end: %s" % found_packages)
+
+ 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 +82,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 +278,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 +335,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-01 16:45:13.016847566 +0300
@@ -26,6 +26,27 @@
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"""
+
+ glibc_packages = ["glibc", "glibc-devel"]
+ found_packages = [pkg for pkg in glibc_packages if pkg in order]
+
+ if found_packages:
+ # Tüm glibc paketlerini listeden çıkar
+ for pkg in found_packages:
+ order.remove(pkg)
+
+ # Önce glibc, sonra glibc-devel şeklinde sona ekle
+ # Bu sayede glibc-devel glibc'den sonra kurulur
+ order.append("glibc")
+ if "glibc-devel" in found_packages:
+ order.append("glibc-devel")
+
+ ctx.ui.debug("Reordered glibc packages to the end: %s" % found_packages)
+
+ return order
+
def check_update_actions(packages):
installdb = pisi.db.installdb.InstallDB()
packagedb = pisi.db.packagedb.PackageDB()
@@ -167,12 +188,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 +375,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()):
+8
View File
@@ -30,6 +30,7 @@
<Patch level="1">python3modules.patch</Patch>
<Patch level="1">kde6-tools.patch</Patch>
<Patch level="1">kerneltools-kernnel6.patch</Patch>
<Patch level="1">glibc-upgrade.patch</Patch>
</Patches>
</Source>
@@ -80,6 +81,13 @@
</Package>
<History>
<Update release="28">
<Date>2025-11-01</Date>
<Version>2.7.2</Version>
<Comment>Rebuild</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="27">
<Date>2025-02-17</Date>
<Version>2.7.2</Version>