Paket isimlendirme işlemi
Bu belge pisi linux reposu içinde kullanılan paket isimlendirme kurallarını açıklar.
Genel Kurallar
Bu bölüm paket isimlendirme kurallarını tanımlar.
Karakter Seti
Bütün paketler aşağıdaki karakterler kullanılarak isimlendirilmelidir:
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789-_+
Harf Duyarlılığı
Yazılım sağlayıcının tercihine saygı duyulur. Bunun anlamı yazılımın arşivdeki ismini paket ismi olarak belirlemek bir zorunluluktur. Örneğin bir python Foo modülü paket ismi python-Foo şeklinde yazılır.
Çoklu Versiyonlar
Bir yazılımın bir çok versiyonu aynı anda repoda olacaksa önceki versiyonlar da paket isminde belirtilmelidir.
Örneğin:
qt paketinin en son versiyonu: qt
qt 4.x serisi : qt4
Birkaç versiyon gösterilecekse onları alt çizgi ile ayırmak gerekir.
Örneğin:
4.4.x serisi: docbook-sgml4_4
4.5.x serisi: docbook-sgml4_5
Eklentiler
Komponent/eklenti ismi esas uygulama/kütüphane ismini takip etmek zorundadır.
Örneğin:
avahi için Qt bağlayıcıları: avahi-qt (esas uygulama: avahi)
Bazı isimler komponent isminden önce eklenebilir. Aşağıdaki örnekler bu isimleri gösterir.
Örneğin:
- foo-bar
- foo-addon-bar
- foo-applet-bar
- foo-backend-bar
- foo-extension-bar
- foo-plugin-bar
Bölünmüş Paketler
Mümkün olduğunda paketleri bölmek bazı sebeblerle daha kullanışlı olabilir. Bu bölüm aynı kaynaktan gelen bölünmüş paket isimlerinden bahseder.
Geliştirici Dosyaları
İnşa edilen uygulamalar için geliştirici dosyaları içeren paketler -devel uzantılıdır.
Örneğin:
libX11-devel: libX11 kütüphanesi ve pkgconfig dosyaları
Kütüphaneler
Bazen bir paket içerisinde kütüphaneleri ayırmak mümkün olabilir. Bu tür paketler -lib uzantılı olur.
Ortak Dosyalar
Bir paket diğer paketler tarafında ihtiyaç duyulursa -common uzantılı olur.
Örneğin:
php-common: cli ve apache modülü tarafından kullanılan PHP ayar dosyaları
Dökümantasyon
Doküman dosyalarını içeren paketlerin uzantısı -docs olmalıdır.
Örneğin:
qt-docs: Qt doküman dosyaları
Paket alt paketleri
Bazı meta paketleri birlikte tüm alt paketleri yüklemek istenildiğinde -suite kullanılır.
Örneğin:
koffice-suite: Tüm koffice uygulamarının Meta paketleri
Yerelleştirme Dosyaları
Yerelleştirme paketleri -l10n-xx ile sonlandırılır.
Örneğin:
kde-l10n-tr: Turkish localization package for KDE
Bazı Paket Grupları için Özel Kurallar
Bazı paket gruplarının kendi isimlendirme kuralları vardır.Bu bölüm her grup için bu istinaları tanımlar.
Apache Modülleri
Apache modüllerini içeren paketler mod_ ön ekini kullanmalıdır.Bu isimlendirme şekli hazırda birçok yazılım geliştiricisi tarafından kullanılmaktadır.
Örneğin:
mod_php: Apache için PHP modülü
Cursor Temaları
Cursor teması içeren paketler için cursor-theme- ön eki kullanılmak zorundadır.
Örneğin:
cursor-theme-oxygen-zion: Oxygen Zion cursor theme
Django Modülleri
The rules for Python packages do not apply for Django modules. These packages must have a “django-” prefix in their names.
Example:
django-tagging: Tagging module for Django Fonts
Names of the font packages must end with “-fonts”.
Example:
dejavu-fonts Icon Themes
Names of the packages containg an icon theme must start with “icon-theme-“.
Example:
icon-theme-hicolor: Hicolor icon theme KDE Styles
KDE styles must be kept in packages whose names start with “kde-style-“.
Example:
kde-style-oxygen: Oxygen style for KDE Kernel Modules
Names of packages containing kernel modules must be prefixed with “module-x” where x is the name of kernel flavor (pae, rt, etc.). If files needed by userspace applications (such as udev and modprobe configurations) are also needed, these must be separated with another sub-package whose name is also suffixed with “-common”.
Example:
module-alsa: ALSA kernel modules (kernel objects) module-alsa-common: udev and modprobe.conf files needed by ALSA drivers KDE Thumbnailers
KDE thumbnailer packages must have a name prefixed with “kde-thumbnailer-“.
Example:
kde-thumbnailer-ffmpeg KWin Decorations
KWin decoration packages must have a name prefixed with “kwin-decoration-“.
Example:
kwin-decoration-aurorae Latex Packages
Latex packages must have a prefix of “latex-” in their names.
Example:
latex-mh: Additional LaTeX math tools NSS Modules
Packages containg NSS modules should use “nss_” prefix. This naming scheme is already used by many of the upstream maintainers.
Example:
nss_ldap: NSS module for querying user information from LDAP PAM Modules
Packages containg PAM modules should use “pam_” prefix. This naming scheme is already used by many of the upstream maintainers.
Example:
pam_ldap: PAM module for LDAP authentication Pear Packages
Pear packages must have a prefix of “PEAR-” in their names.
Example:
PEAR-Net_Socket: Network Socket Interface Perl Modules
Perl packages must have a prefix of “perl-” in their names.
Example:
perl-YAML: YAML module for Perl Plasma Applets
For packages providing Plasma applets, “plasma-applet-” prefix must be used.
Example:
plasma-applet-network: Network configuration plasmoid for Plasma Python Modules
If the upstream name includes the word “python”, the package name is not changed.
Examples:
dbus-python: Python bindings for dbus gnome-python-desktop: Python bindings for GNOME desktop libraries If the upstream name does not include the word “python” and the project is a binding of another library, the library name with the prefix “python-” is used as the package name. In this case, the upstream name must be included in the package summary and description.
Examples:
python-gtk: Python bindings for GTK (pygtk) python-qt: Python bindings for Qt (PyQt) When the name does not comply with the rules above, “python-” prefix must be added to the upstream name.
Examples:
python-numpy: The fundamental package needed for scientific computing with Python python-FormEncode: A validation and form generation package for Python python-pyaspects: Aspect-Oriented development for Python For modules built for Python3, “python3” must be used instead of the word “python”.
Examples:
dbus-python3: Python3 bindings for dbus gnome-python3-desktop: Python3 bindings for GNOME desktop libraries python3-liblzma: Python3 bindings for liblzma (pyliblzma) R Modules
R packages must have a prefix of “R-” in their names.
Example:
R-mathlib: mathlib module for R