Skip to content

Pardus 23'ten 25'e geçişte ayarlar sıfırlanıyor: eski yol çözümlemesi üç yerde ayrışmış #58

Description

@muhammetali

Pardus 23'ten 25'e geçen bir kullanıcının pardus-software ayarları sessizce sıfırlanıyor. Sebebini araştırdım, altında yapısal bir konu var; yama göndermeden önce sizin görüşünüzü almak istedim.

Ne oluyor

Ayar dosyasının yolu 1.0.0 öncesinde ~/.config/pardus-software/ idi, sonra ~/.config/pardus/pardus-software/ oldu. UserSettings artık yalnızca yeni yola bakıyor, eski dosyayı görmüyor. Kullanıcının seçimleri diskte duruyor ama uygulama varsayılanlarla açılıyor.

Nasıl ölçtüm

İki sanal makine kurdum, ikisinde de depodan kurulu paketler kullandım:

  • Pardus 23.0, pardus-software 0.8.3 → ayarları uygulamanın kendi writeConfig() çağrısıyla değiştirdim, dosya ~/.config/pardus-software/settings.ini oldu
  • Bu dosyayı Pardus 25.2'ye taşıdım (yükseltmede olan da bu), pardus-software 1.0.5 çalıştırdım

Sonuç:

Ayar 23'te seçilen 25'te okunan
koyu tema açık kapalı
animasyonlar kapalı açık
gnome yorumları kapalı açık
otomatik apt güncelleme kapalı açık

Diskte iki dosya birden duruyor:

~/.config/pardus-software/settings.ini          <- kullanıcının ayarları, okunmuyor
   animations = no, usedarktheme = yes, autoaptupdate = no

~/.config/pardus/pardus-software/settings.ini   <- 1.0.5'in yazdığı varsayılanlar
   animations = yes, autoaptupdate = yes

Altındaki yapısal konu

Eski yol çözümlemesi üç yerde ayrı ayrı yazılmış:

Dosya Durum
Server.py:51-58 eski yolu tercih ediyor (cachedir + configdir)
Logger.py:22-24 eski yolu tercih ediyor (logdir)
UserSettings.py:34-35 koşulsuz yeni yol, yedek dal yok

UserSettings'teki yedek dal 1.0.0'da (5029a09) kaldırılmış, diğer ikisi kalmış. Ayrışma buradan geliyor.

Aynı kökün ikinci bir belirtisi daha var: set_cache_size() ve delete_cache() Server.cachedir üzerinden çalıştığı için, eski dizini olan bir sistemde gösterilen boyut yanlış oluyor ve "Önbelleği Temizle" gerçek önbelleği silmiyor. Pardus 25.2 üzerinde ölçtüm: gösterilen 28,5 MB, gerçek önbellek 4,8 MB ve temizlemeden sonra yerinde duruyor.

Sormak istediğim

Bunu nasıl ele almak istersiniz? Aklıma üç yol geliyor:

  1. UserSettings'e de yedek dalı geri koymak — en küçük değişiklik, ama üç yerde aynı mantık kalmaya devam eder
  2. Bir kereye mahsus taşıma: eski dosya varsa yeni yola kopyalayıp eskisini bırakmak
  3. Yol çözümlemesini tek bir yere toplamak, üçü de oradan alsın

Hangisini uygun görürseniz yamayı ona göre hazırlayıp gönderebilirim. Önbellek tarafı için düzeltme elimde hazır, onu ayrı bir PR olarak gönderebilirim; ayar tarafını sizin tercihinize göre yaparım.

Test ortamı: Pardus 23.0 XFCE ve Pardus 25.2 XFCE, KVM, her ikisinde de depo paketleri.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions