Kaydet (Commit) a16f9df6 authored tarafından Suleyman Poyraz's avatar Suleyman Poyraz

A problem was happened so I have added documentation again

Documentations added again. (When them have been removed???)
üst 493df95c
# -*- coding: utf-8 -*-
# documentation build configuration file, created by
# sphinx-quickstart on Wen Feb 7 18:41:23 2018
# This file is execfile()d with the current directory set to its
# containing dir.
# The contents of this file are pickled, so don't put values in the namespace
# that aren't pickleable (module imports are okay, they're removed
# automatically).
# All configuration values have a default value; values that are commented out
# serve to show the default value.
import sys
import os
# pip install sphinx_rtd_theme
# import sphinx_rtd_theme
# html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
VERSION = '1.0'
AUTHOR = 'Zaryob'
# General configuration
# ---------------------
# Add any Sphinx extension module names here, as strings.
# They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx']
# Later on, add 'sphinx.ext.viewcode' to the list if you want to have
# colorized code generated too for references.
# Add any paths that contain templates here, relative to this directory.
templates_path = ['.templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The master toctree document.
master_doc = 'index'
# General substitutions.
project = 'Inary'
copyright = "2016-2019 Zaryob"
# The default replacements for |version| and |release|, also used in various
# other places throughout the built documents.
# The short X.Y version.
version = VERSION
# The full version, including alpha/beta/rc tags.
release = VERSION
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
# today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%B %d, %Y'
# List of documents that shouldn't be included in the build.
# unused_docs = []
# List of directories, relative to source directories, that shouldn't be
# searched for source files.
# exclude_dirs = []
# A list of glob-style patterns that should be excluded when looking
# for source files.
exclude_patterns = ['modules']
# The reST default role (used for this markup: `text`) to use for all
# documents.
# default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
# add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
# add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
# show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
highlight_language = 'YAML+Jinja'
# Substitutions, variables, entities, & shortcuts for text which do not need to link to anything.
# For titles which should be a link, use the intersphinx anchors set at the index, chapter, and
# section levels, such as qi_start_:
rst_epilog = """
# Options for HTML output
# -----------------------
#html_theme_path = ['../_themes']
#html_theme = 'highlight'
#html_short_title = 'Inary Documentation'
# The style sheet to use for HTML and HTML Help pages. A file of that name
# must exist either in Sphinx' static/ path, or in one of the custom paths
# given in html_static_path.
# html_style = 'solar.css'
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
html_title = 'Inary'
# A shorter title for the navigation bar. Default is the same as html_title.
html_short_title = "Inary"
# The name of an image file (within the static path) to place at the top of
# the sidebar.
# html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = 'favicon.ico'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
# html_static_path = ['.static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
# html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
# html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
# html_additional_pages = {}
# If false, no module index is generated.
# html_use_modindex = True
# If false, no index is generated.
# html_use_index = True
# If true, the index is split into individual pages for each letter.
# html_split_index = False
# If true, the reST sources are included in the HTML build as _sources/<name>.
html_copy_source = False
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
html_use_opensearch = 'true'
# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
html_file_suffix = '.html'
# Output file base name for HTML help builder.
htmlhelp_basename = 'Poseidodoc'
# Options for LaTeX output
# ------------------------
# The paper size ('letter' or 'a4').
# latex_paper_size = 'letter'
# The font size ('10pt', '11pt' or '12pt').
# latex_font_size = '10pt'
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, document class
# [howto/manual]).
latex_documents = [
('index', 'ansible.tex', 'Ansible 2.2 Documentation', AUTHOR, 'manual'),
# The name of an image file (relative to this directory) to place at the top of
# the title page.
# latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
# latex_use_parts = False
# Additional stuff for the LaTeX preamble.
# latex_preamble = ''
# Documents to append as an appendix to all manuals.
# latex_appendices = []
# If false, no module index is generated.
# latex_use_modindex = True
autoclass_content = 'both'
intersphinx_mapping = {'python3': ('https://docs.python.org/3/', (None, '../python3-3.7.4.inv'))}
#'jinja2': ('http://jinja.pocoo.org/docs/', (None, '../jinja2-2.9.7.inv'))}
.. -*- coding: utf-8 -*-
Inary Documentation
.. _an_introduction:
.. toctree::
:maxdepth: 2
This documentation Licensed with AGPLv3.
.. -*- coding: utf-8 -*-
Çokça Sorulan Sorular
.. -*- coding: utf-8 -*-
Sulin Dağıtımı Geliştirici Rolleri
.. -*- coding: utf-8 -*-
.. _gelistirme_index:
Geliştirme Yapmak ve Katkıda Bulunmak
Inary paket yönetim sistemi Sulin Topluluğuna bağlı olmak ile beraber
isteyen kişiler Inary'i geliştirmeye yardımcı olabilirler. Yardımcı olmak
isteyenler, paketlerini yapmak yayınlamak bizimle paylaşmak isteyenler ve
diğer tüm şeyler hakkında:
.. toctree::
:maxdepth: 3
.. -*- coding: utf-8 -*-
.. _adim_adim_derleme_rehberi_index:
Adım adım kaynak paket derleme
.. toctree::
:caption: İçerik
:maxdepth: 2
.. -*- coding: utf-8 -*-
.. _paket_yapimi_index:
Kaynak Koddan Paket Yapımı
Inary ikili paketleri kaynak kodlardan elde edilir. Kaynak kodlara ait tanımlamaları, derleme \
yönetmeliklerini, oluşturulacak ikili pakete ait tanım ve açıklamaların \
yerelleştirmelerini içerir.
Kaynak koddan paket üretimi için inary'de bazı dosyaların bulunması gerekmektedir. Derleme sırasında \
kullandığımız bu dosyalar bir dizin içerisine konulur. Bu dizin bizim kaynak paketimizi oluşturur. :
.. code-block:: text
$ tree
├── pspec.xml
├── translations.xml
├── actions.py
└── scom/
└── betigin_adı.py
Paket derlemesi sırasında kullanılan dosyaları incelemek için bakınız.
.. toctree::
:name: kaynaktoc
:maxdepth: 4
Adım adım paket yapım rehberi için bakınız.
.. toctree::
:name: derlemetoc
:maxdepth: 2
.. -*- coding: utf-8 -*-
Bu belgelendirme sayfası **actions.py** :term:`betik`'ine ait fonksiyonları içerir.
**Actions** Nedir?
Paket yöneticileri kaynak paket oluştururken derleme talimatlarını girdiğimiz dosyadır. \
Bu dosya bir python3 :term:`betik` dosyasıdır. İçerisindeki kütüphaneler `inary`_'ye ait python3 \
kütüphanesidir. `ActionsAPI`_ içerisindeki fonksiyonlar her çeşitte kaynak kodun inşaa \
ve kurulmasına uygun olarak yazılmıştır.
.. seealso: Dillere uygun `ActionsAPI`_ fonksiyonları için bknz. #Fixme:
Inary paket yöneticisinde kaynak paketten ikili paket üretimi yapılırken \
bu dosya import edilir ve fonksiyonları çalıştırılır.
.. _inary: https://gitlab.com/Zaryob/inary/
.. _ActionsAPI: #Fixme:
Örnek bir `actions.py` dosyası şu şekildedir.
.. _target:
.. sourcecode:: python3
# -*- coding: utf-8 -*-
from inary.actionsapi import autotools
from inary.actionsapi import inarytools
from inary.actionsapi import get
def setup():
autotools.configure("--disable-rpath \
--enable-utf8 \
--enable-altrcname \
def build():
def install():
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
inarytools.insinto("/etc/", "doc/sample.nanorc", "nanorc")
inarytools.dosym("/usr/bin/nano", "/bin/nano")
inarytools.dodoc("ChangeLog*", "README", "doc/sample.nanorc", "AUTHORS", "NEWS", "TODO", "COPYING*", "THANKS")
**actions.py** :term:`betik`'inin fonksiyonları
**actions.py** :term:`betik`'i paket talimatnamesi olarak kullanılır çünkü bu \
kaynak paket derleme işini adım adım yapabilmemize olanak verir. Her bir \
fonksiyon derlemenin bir adımını oluşturur.
setup() fonksiyonu
Paket derlemesinin ilk aşamasıdır. Paketin derleme öncesi dosyaları düzenlenir \
kaynak için `configure` işlemi burada yapılır.
.. note:: Configure işlemi öntanımlı olarak `/var/inary/<paket_adı>-<paket_sürümü>-<paket-yayımı>/work/` klasörü içinde yapılır
build() fonksiyonu
Kaynak kod bu kısımda inşaa edilir.
.. note:: Derleme işlemi öntanımlı olarak `/var/inary/<paket_adı>-<paket_sürümü>-<paket-yayımı>/work/` klasörü içinde yapılır
check() fonksiyonu
Derlenen kaynak kodun testi burada yapılır.
install() fonksiyonu
Derlenen kaynak kod paketleme klasörüne kurulur.
.. note:: Derlenen paketin kurulduğu öntanımlı paketleme klasörü `/var/inary/<paket_adı>-<paket_sürümü>-<paket-yayımı>/install/` klasörüdür
.. -*- coding: utf-8 -*-
.. _kaynak_paket_dosyalari_index:
Kaynak Paket İçin Gerekli Olan Dosyalar
.. toctree::
:caption: İçerik
:maxdepth: 4
.. -*- coding: utf-8 -*-
Bu belgelendirme sayfası paket sonrası işlemler için kullanılan **SCOM** dosyalarına ait açıklamayı içerir.
**SCOM** :term:`betik`'leri nedir?
Kurulum sonrası işlemler için kullanılan dosyadır. `SpecFile`_ içerisinde tanımlanır, \
farklı paket çeşitlerinin farklı **SCOM** :term:`betik`'leri vardır.
.. seealso: Bu kısımda **SCOM** :term:`betik`'leri hakkında daha fazla bilgi verilmeyecektir. Daha fazla bilgi için bakınız: #Fixme:
_SpecFile: : #Fixme:
.. -*- coding: utf-8 -*-
Bu belgelendirme sayfası **translations.xml** dosyasına ait XML dizin ağacını ve bu dosyanın kullanım inceliklerini içerir.
**Translations** nedir?
`SpecFile`_ içerisindeki `Summary`_ ve `Description`_ verilerini içeren dosyadır. \
Aslında ana dizin ağacı `SpecFile`_'a benzemektedir.
_SpecFile: #Fixme:
Sadece `Source`_ ve `Package`_ ana :term:`etiket`'lerini ve bu :term:`etiket`'lere ait \
`Summary`_ ve `Description`_ alt :term:`etiket`'lerini içeren basit bir **pspec.xml** dosyasıdır
Aşağıda örnek bir **translations.xml** dosyası verilmiştir.
.. _target:
.. sourcecode:: xml
<Summary xml:lang="tr">Konsol ortamında kullanabileceğiniz bir metin düzenleyicidir.</Summary>
<Description xml:lang="tr">Nano özgür olmayan Pine paketinin içindeki metin düzenleme programı olan Pico'nun yerine geçme hedefini güden küçük, özgür ve kullanışlı bir metin düzenleme programıdır. Pico'nun görünüşünü ve işlevini kopyalamaktan çok, Nano aynı zamanda &quot;ara ve değiştir&quot; ve &quot;satır numarasına git&quot; gibi Pico'da olmayan (veya ön tanımlı olarak kapalı) bazı özellikleri sunar.</Description>
<Description xml:lang="fr">Nano est un petit éditeur libre et convivial qui a pour but de remplacer Pico, l'éditeur par défaut inclus dans le paquet non-libre Pine. Plutôt que juste copier l'apparence et le ressenti de Pico, nan implémente également certaines fonctionnalité manquantes (ou désactivées par défaut), tel que &quot;rechercher et remplacer&quot; ou &quot;allez à la ligne numéro&quot;.</Description>
Anlayacağınız üzere önceki belgelendirme sayfasında belirttiğimiz **xml:lang** \
:term:`belirteç`'i içerisine farklı dil bilgisi girilip `Summary`_ ve `Description`_ \
alt :term:`etiket`'lerine çeviriler eklenerek farklı dillerde Linux kullanan son kullanıcılara \
uygun tanımlama ve açıklamalar ulaştırılabilir ve İngilizce dil öğrenme zahmetine katlanmaktan \
.. seealso: Yerelleştirme için bakınız. #Fixme:
.. -*- coding: utf-8 -*-
.. _yerellestirme_index:
Yerelleştirme ve Çeviriler
Inary Yazılımı Hakkında
`Pisi`_ çatalı: Copyright (C) 2005 - 2011, Tubitak/UEKAE
GNU/Genel Kamu Lisansı sürüm 2 ile lisanslanmıştır.
Inary çatalı ve geliştirmeleri: Copyright (C) 2016 - 2018 Suleyman POYRAZ (Zaryob)
Lisansı GNU/Genel Affero Kamu Lisansı sürüm 3'e yükseltilmiştir.
.. _Pisi: https://github.com/Pardus-Linux/pisi
https://github.com/Pardus-Linux/pisi adresinden çatallanmıştır
Inary paket yönetim sistemi mevcut pisi paket yöneticisinin eksiklerini, \
hatalarını onarmak, python3 ile yeniden ele alınıp açık kaynak dünyasındaki \
son gelişmeleri yakalamak amacıyla 21-12-2016 tarihinde pisi çatalı üzerinde \
çalışılarak başlamış; ilerleyen başlangıç niteliğinde olan pisi çatalından \
kodlama yöntemi ve kullanılan ek modüller bakımından ayrılmış ve kendine \
özgü bir hale dönüşmüş, ayrıca pisi adının lisanslı olması sebebiyle yeniden \
adlandırılarak geliştirilmeye devam edilmiştir. Kütüphanenin adı pisi yerine \
inary olarak değiştirilmiştir. Bunun sebebi ise `Solus`_ ve `PisiLinux`_ gibi benzer \
altyapı kullanan linux dağıtımlarıyla olan çakışmaları önlemektir.
.. _Solus: https://dev.sol.us/
.. _PisiLinux: https://www.pisilinux.org
Yazılım inary adını alıp son kullanıcının kullanımı için uygun şartları sağladığı zaman gitlab sitesi üzerinden kamuya yayılmıştır.
Diğer paket yönetim sistemlerinden ayrılan yanları:
* Dinamik dosya veritabanına sahiptir. Kurulu dosyalarda değişme olup olmadığı
ile ilgili takipler kolayca yapılabilir.
* Python ile kodlanmış diğer paket yöneticilerine göre oldukça hızlı ve seri
iş yapar.
* Tüm kurulum betiği python :term:`betik`'lerinden oluştuğu için :term:`betik`'leri anlaması
kolaydır, pakete ait diğer veriler xml dosyalarında depo edildiği için paket
yapım arayüzü ile terminal ekranına gerek kalmadan paket oluşturma işi
* Paket sonrası ve öncesi işlemler (postinstall) ayrı bir yazılım tarafından
yapıldığı işlem karmaşasına sebep olmaz.
Diğer özellikleri:
* Sağlam ve python içinde gömülü bir veritabanı ile çalıştığı için hızlıdır.
* LZMA ve XZ sıkıştırma yöntemleri kullandığı için daha küçük paketlere sahiptir.
* Basit düzey ve üst düzey tüm işlemleri aynı kararlılıkla yerine getirir
* Forend uygulamaları tasarlanmasına elverişli bir yapıdadır.
* Terminal arayüzü oldukça anlaşılır ve kullanıcı dostudur.
.. -*- coding: utf-8 -*-
Inary El Kitabı
Inary belgelendirme sayfalarına hoş geldiniz.
Bu belgelendirme Inary paket yöneticisi hakkında tüm bilgileri içermektedir.
.. _an_introduction:
.. toctree::
:maxdepth: 2
Bu belgeleme AGPL-3 ile lisanslanmıştır.
.. -*- coding: utf-8 -*-
inary blame
`inary blame` komutu bir pakete air paket bakıcısı, paket sürüm bilgisini \
ve güncelleme mesajını getirmek için kullanılır.
**Yardım Çıktısı**
.. code-block:: shell
$ inary blame --help
blame (bl): Paket sahibi ve yayım bilgisi
Kullanım: blame <paket> ... <paket>
--version : programın sürüm numarasını göster ve çık
-h [--help] : bu yardım iletisini göster ve çık
blame seçenekleri:
-r [--release] arg : Verilen sürüm için paket bakıcısı
-a [--all] : Tüm sürümler için paket bakıcısı
genel seçenekler:
-D [--destdir] arg : INARY komutları için sistem kökü dizinini
-y [--yes-all] : Bütün evet/hayır sorularında cevabı evet kabul
-u [--username] arg
-p [--password] arg
-L [--bandwidth-limit] arg : Bant genişliği kullanımını belirtilen kilobaytın
altında tut.
-v [--verbose] : Detaylı çıktı
-d [--debug] : Hata ayıklama bilgisini göster.
-N [--no-color] : INARY çıktılarında renk kullanılmasını engeller.
**Örnek bir çalışma çıktısı**
.. code-block:: shell
$ inary blame expat
İsim: expat, sürüm: 2.2.6, yayım: 1
Paket Bakıcısı: Süleyman POYRAZ <zaryob.dev@gmail.com>
Yayım Güncelleyen: Süleyman POYRAZ <zaryob.dev@gmail.com>
Güncelleme Tarihi: 2018-12-23
First release
.. -*- coding: utf-8 -*-
inary build
`inary build` komutu kaynak paketten ikili paket derlemesi için kullanılır. \
pspec.xml veya kaynak depo içerisindeki paket ismi verilerek derleme yapılır.
**Yardım Çıktısı**
.. code-block:: shell
$ inary build --help
kullanım: Verilen INARY paket(ler)ini inşa et
Kullanım: build [<pspec.xml> | <kaynakadı>] ...
Yerel veya uzak bir adresteki pspec.xml dosyasının adresinin verilmesi
yeterlidir, INARY gerekli dosyaları indirip paketi inşa edecektir.
Kaynak depo kullanıyorsanız, doğrudan kaynak depoda bulunan bir
paketin adını vererek INARY'nin o paketi inşa etmesini sağlayabilirsiniz.
--version : programın sürüm numarasını göster ve çık
-h [--help] : bu yardım iletisini göster ve çık
inşa seçenekleri:
-q [--quiet] : Ekstra hata ayıklama bilgilerini basmadan inşa
operasyonunu çalıştır.
--ignore-dependency : Bağımlılık bilgilerini dikkate alma.
-O [--output-dir] arg : Üretilen paketler için çıktı dizini.
--ignore-action-errors : ActionsAPI kaynaklı hataları yoksay.
--ignore-safety : Emniyet mandalını yoksay.
--ignore-check : Test adımını yoksay.
--create-static : Statik bir paketi ar dosyalarıyla yarat.
-F [--package-format] arg : İkili paketi verilen biçimde oluştur.
Desteklenen biçimlerin listesini görmek için '-F
help' kullanın.
--use-quilt : GNU patch yerine quilt yama yönetim sistemini
--ignore-sandbox : İnşa işlemini inşa klasörüyle sınırlama.
inşa adımları:
--fetch : Kaynak arşivi indirdikten sonra inşayı
--unpack : Kaynak arşivini açtıktan, sha1sum denetimi
yaptıktan ve yamaları uyguladıktan sonra inşayı
--setup : Yapılandırma adımından sonra inşayı sonlandır.
--build : Derleme adımından sonra inşayı sonlandır.
--check : Test adımından sonra inşayı sonlandır.
--install : Kurulum adımından sonra inşayı sonlandır.
--package : INARY paketi oluştur.
genel seçenekler:
-D [--destdir] arg : INARY komutları için sistem kökü dizinini
-y [--yes-all] : Bütün evet/hayır sorularında cevabı evet kabul
-u [--username] arg
-p [--password] arg
-L [--bandwidth-limit] arg : Bant genişliği kullanımını belirtilen kilobaytın
altında tut.
-v [--verbose] : Detaylı çıktı
-d [--debug] : Hata ayıklama bilgisini göster.
-N [--no-color] : INARY çıktılarında renk kullanılmasını engeller.
**Örnek bir çalışma çıktısı**
.. code-block:: shell
$ inary build
Kaynak paket inşa ediliyor: "expat"
expat-2.2.6.tar.bz2 [önbellekte]
>>> Arşiv(ler) açılıyor...
-> (/var/inary/expat-2.2.6-1/work) açıldı
>>> Kaynak yapılandırılıyor...
GNU Yapılandırma Güncellemesi Bitti.
GNU Yapılandırma Güncellemesi Bitti.
[Running Command]: ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/libexec --disable-static
>>> Kaynak inşa ediliyor...
[Running Command]: make -j5
>>> Kuruluyor...
[Running Command]: make DESTDIR=/var/inary/expat-2.2.6-1/install man1dir=/usr/share/man/man1 install
[Running Command]: install -m 0644 "doc/expat.png" /var/inary/expat-2.2.6-1/install/usr/share/doc/expat/html
[Running Command]: install -m 0644 "doc/valid-xhtml10.png" /var/inary/expat-2.2.6-1/install/usr/share/doc/expat/html
[Running Command]: install -m 0644 "doc/reference.html" /var/inary/expat-2.2.6-1/install/usr/share/doc/expat/html
[Running Command]: install -m 0644 "doc/style.css" /var/inary/expat-2.2.6-1/install/usr/share/doc/expat/html
[Running Command]: install -m 0644 "Changes" /var/inary/expat-2.2.6-1/install/usr/share/doc/expat
[Running Command]: install -m 0644 "README.md" /var/inary/expat-2.2.6-1/install/usr/share/doc/expat
Özel dosya "libtool", "/var/inary/expat-2.2.6-1/install/usr/lib/libexpat.la" için siliniyor...
Paket inşa ediliyor: "expat"
"expat-2.2.6-1-s19-x86_64.inary" oluşturuluyor...
Paket inşa ediliyor: "expat-devel"
"expat-devel-2.2.6-1-s19-x86_64.inary" oluşturuluyor...
Paket inşa ediliyor: "expat-docs"
"expat-docs-2.2.6-1-s19-x86_64.inary" oluşturuluyor...
Paket inşa ediliyor: "expat-pages"
"expat-pages-2.2.6-1-s19-x86_64.inary" oluşturuluyor...
İnşa dizini bırakılıyor
*** 0 hata, 1 uyarı
.. -*- coding: utf-8 -*-
inary check