Skip to content

FOXY-cyber-dot/pisi-python3

Repository files navigation

🐍 PiSi - Python 3 Port

Pardus'un efsane paket yöneticisi PiSi'nin Python 3'e taşınma projesi.

Hakkında

PiSi (Packages Installed Successfully as Intended), TÜBİTAK tarafından geliştirilen ve Pardus Linux'ta kullanılan özgün paket yöneticisidir. 2013'te Pardus'un Debian'a geçmesiyle birlikte terk edilmiştir.

Bu proje, PiSi'nin pisilinux fork'unu Python 3'e taşımak amacıyla başlatılmıştır.

Durum

Tamamlananlar

  • Python 3 uyumluluk analizi yapıldı
  • fissix ile otomatik dönüşüm uygulandı (13 dosya)
  • eval() ve bytes/str güvenlik açıkları düzeltildi (pisi/cli/__init__.py, scripts/check-newconfigs.py)
  • coreutils.py parse hatası giderildi
  • api.py geçersiz escape sequence düzeltildi (Python 3.12+ SyntaxWarning)
  • DÜZELTİLDİ: import formatter kaldırıldı — Python 3.12'de silinmiş modül; _Writer ve _AbstractFormatter sınıfları ile değiştirildi (pisi/pxml/autoxml.py)
  • DÜZELTİLDİ: base64.encodestring()base64.encodebytes() — Python 3.9'da kaldırılmıştı (pisi/fetcher.py)
  • DÜZELTİLDİ: os.tmpfile()tempfile.TemporaryFile() — Python 3'te kaldırılmıştı (scripts/package-signing/pisign.py)
  • DÜZELTİLDİ: Binary arşiv dosyaları text modda açılıyordu → "wb" modu ile düzeltildi (pisi/archive.py: Bzip2, Gzip, Lzma)
  • DÜZELTİLDİ: _LZMAProxy.buf string yerine bytes olarak başlatıldı (pisi/archive.py)
  • DÜZELTİLDİ: distutilssetuptools geçişi yapıldı — Python 3.12'de kaldırılmıştı (setup.py, pisi/db/historydb.py)
  • DÜZELTİLDİ: bytes/str karışıklığı kapsamlı düzeltildi (pisi/db/sourcedb.py, scripts/package-signing/pisign.py, scripts/make-changelog.py)
  • DÜZELTİLDİ: Geçersiz regex escape dizileri SyntaxWarning üretiyordu → raw string yapıldı (pisi/index.py, pisi/operations/build.py, pisi/actionsapi/kerneltools.py, pisi/pxml/autoxml.py)
  • DÜZELTİLDİ: pisi/db/repodb.py tanımsız repo değişkeni → repo_name ile düzeltildi
  • DÜZELTİLDİ: from pisi.delta importfrom pisi.operations.delta import (scripts/createdelta.py)
  • DÜZELTİLDİ: importlib.reload(sys) Python 2 hack'i kaldırıldı (pisi/__init__.py)
  • DÜZELTİLDİ: Config::CONFIGRbConfig::CONFIG — eski Ruby API (pisi/actionsapi/rubymodules.py)
  • DÜZELTİLDİ: python setup.pypython3 setup.py (pisi/actionsapi/pythonmodules.py)
  • DÜZELTİLDİ: locale.getdefaultlocale() → Python 3.11'de deprecated; locale.setlocale() ile değiştirildi (pisi/pxml/autoxml.py)
  • DÜZELTİLDİ: is ""== "" SyntaxWarning giderildi (pisi/pxml/autoxml.py)

Bekleyenler

  • piksemellxml ile değiştirilecek (pisi/pxml/xmlext.py ve 7 bağımlı dosya)
  • Kapsamlı test yazılacak
  • Pardus 25 üzerinde çalıştırılacak

Kritik Engel: piksemel

piksemel, Pardus'a özgü bir C-extension XML kütüphanesidir. PyPI veya apt üzerinden kurulumu mevcut değildir. import pisi çalışmaz hale getirmektedir.

Çözüm: pisi/pxml/xmlext.py dosyasındaki piksemel API'si lxml.etree ile ikame edilecek. Etkilenen dosyalar (8 adet):

Dosya Bağımlılık
pisi/pxml/xmlext.py import piksemel — ana adaptör
pisi/pxml/xmlfile.py xmlext üzerinden
pisi/pxml/autoxml.py xmlext üzerinden
pisi/db/packagedb.py doğrudan piksemel
pisi/db/installdb.py doğrudan piksemel
pisi/db/sourcedb.py doğrudan piksemel
pisi/db/repodb.py doğrudan piksemel
pisi/specfile.py doğrudan piksemel

Kurulum (Geliştirici)

git clone https://github.com/FOXY-cyber-dot/pisi-python3.git
cd pisi-python3
git checkout python3-port

Orijinal Proje

Katkı

Bu proje aktif geliştirme aşamasındadır. Katkıda bulunmak isteyenler PR açabilir. 🚀

Lisans

GPL-2.0

About

PiSi paket yöneticisinin Python 3 portu

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages