Skip to content

Fix: LXQt sürüm tespiti çalışmıyor (get_desktop_env_version) - #57

Open
muhammetali wants to merge 1 commit into
pardus:masterfrom
muhammetali:fix/lxqt-version-detection
Open

Fix: LXQt sürüm tespiti çalışmıyor (get_desktop_env_version)#57
muhammetali wants to merge 1 commit into
pardus:masterfrom
muhammetali:fix/lxqt-version-detection

Conversation

@muhammetali

@muhammetali muhammetali commented Sep 9, 2026

Copy link
Copy Markdown

Utils.get_desktop_env_version() fonksiyonunun lxqt dalı, lxqt-about --version
çıktısını satırlara ayırmadan dolaşıyor:

output = (...).stdout.decode().strip()
for line in output:          # dize üzerinde karakter karakter
    if "liblxqt" in line:    # tek karakter asla "liblxqt" içermez
        version = line.split()[1].strip()

Döngü bir dize üzerinde döndüğü için line her adımda tek bir karakter oluyor ve
"liblxqt" in line koşulu hiçbir zaman sağlanmıyor. Sonuç olarak LXQt oturumlarında
sürüm bilgisi her zaman boş kalıyor.

Fonksiyonda satırlarda dönen diğer iki dal (xfce ve gnome) output.split("\n")
kullanıyor; lxqt dalında bu split atlanmış. (cinnamon, mate ve kde dalları
satırlara hiç ayırmıyor, tek satırlık çıktıyı doğrudan ayrıştırıyor.)

Doğrulama

Pardus 23.0 (yirmiuc) üzerinde, depodan kurulu pardus-software 0.8.3 ile
(/usr/share/pardus/pardus-software/src/Utils.py), git kopyası ile değil:

$ lxqt-about --version
lxqt-about 1.2.0
liblxqt   1.2.0
Qt        5.15.6

liblxqt satırı çıktıda mevcut ve sürüm okunabilir durumda. Buna rağmen:

$ python3 -c "from Utils import Utils; print(repr(Utils().get_desktop_env_version('LXQt')))"
''

Yama sonrası aynı çağrı '1.2.0' döndürüyor.

Etkisi

Sonuç user_desktop_envuser_distro_full zinciriyle sunucuya gönderilen
distro alanına gidiyor:

Gönderilen değer
Mevcut Pardus GNU/Linux, 23.0, yirmiuc, (LXQt , X11)
Yama sonrası Pardus GNU/Linux, 23.0, yirmiuc, (LXQt 1.2.0, X11)

Mevcut durumda virgülden önce boşluk kalıyor ve sürüm bilgisi kayboluyor.

Regresyon kontrolü

Aynı makinede yama öncesi ve sonrası tüm dallar karşılaştırıldı:

Masaüstü Önce Sonra Değişti
LXQt '' '1.2.0' evet
XFCE '4.18' '4.18' hayır
GNOME '' '' hayır
KDE '' '' hayır
MATE '' '' hayır
Cinnamon '' '' hayır
Budgie '' '' hayır

Değişiklik tek satır ve yalnızca lxqt dalını etkiliyor.

Not

Aynı hata pardus-update/src/Utils.py dosyasında da var, ancak orada fonksiyon
çağrılmadığı için ayrı bir PR açmadım.

get_desktop_env_version fonksiyonunun lxqt dalı, lxqt-about --version
çıktısını satırlara ayırmadan dolaşıyor. Döngü dize üzerinde karakter
karakter ilerlediği için "liblxqt" araması hiçbir zaman eşleşmiyor ve
sürüm her zaman boş kalıyor.

Satırlarda dönen diğer iki dal (xfce ve gnome) output.split("\n")
kullanıyor, lxqt dalında bu atlanmış.

Pardus 23.0 üzerinde depodan kurulu pardus-software 0.8.3 ile doğrulandı:

  $ lxqt-about --version
  lxqt-about 1.2.0
  liblxqt   1.2.0
  Qt        5.15.6

  get_desktop_env_version("LXQt")   önce: ''   sonra: '1.2.0'

Sunucuya gönderilen distro bilgisi de düzeliyor:

  önce : Pardus GNU/Linux, 23.0, yirmiuc, (LXQt , X11)
  sonra: Pardus GNU/Linux, 23.0, yirmiuc, (LXQt 1.2.0, X11)

Aynı makinede yama öncesi/sonrası karşılaştırıldığında xfce, gnome, kde,
mate, cinnamon ve budgie dallarının çıktısı değişmiyor.
@muhammetali
muhammetali force-pushed the fix/lxqt-version-detection branch from 2c516d4 to 788e06d Compare September 9, 2026 16:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant