Bir Cydia Deposu Nasıl Yapılır? Bölüm 2

Henüz birinci bölümü okumadan bu bölüme gelmişseniz öncelikle Bir Cydia Deposu Nasıl Yapılır? Bölüm 1 konusundan başlamanızı tavsiye ederiz. Açıkça söylemek gerekirse bu sizin APT ile yapabilecekleriniz konusunda buz dağının sadece görünen ucu.Kurulum süresince paketinizin ‘shell script’-shell programlama(betik yazım)- ile bağlanacağı Birçok sayıda farklı nokta vardır.-Örneğin dosyaları ‘yapılandırma dosyaları’şeklinde işretleyebilirsiniz,vb-.Daha fazla bilgi için lütfen en sonda harici kaynaklar için verilen konuları inceleyin .(çünkü burada anlattığımız bu konu içinde bu özellikler anlatılmıyor.zaten paketin %95 nin bu özelliklere ihtiyacı yoktur…)

Cydia Deposu Nasıl Hazırlanır

2.ADIM .Paketi Test Etme

Şimdi paketi oluşturduk sırada bunu Iphone’a kopyalayıp üzerinde test etmek iyi olur.Dep dosyası tamamıyla güvenli olduğu için ,bu oldukça kolay bir işlemdir.Telefon üzerinde ,’dpkg-i’ kullanılarak dosyadan doğrudan yükleme yapılabilir.Bir defa yüklendimi artık bu Cydia tarafından yönetilir veya apt-get kullanarak çalıştırılabilir.

iPhone:~ root# dpkg -i MyProgram.deb 
Selecting previously deselected package com.saurik.myprogram. 
(Reading database ... 17090 files and directories currently installed.) 
Unpacking com.saurik.myprogram (from MyProgram.deb) ... 
Setting up com.saurik.myprogram (1.0.4-1) ... 
iPhone:~ root# ls -la /Applications/MyProgram.app 
total 0 
drwxr-xr-x 2 root wheel 170 Jul 1 00:54 ./ 
drwxrwxr-x 73 root admin 2550 Jul 1 00:54 ../ 
-rw-r--r-- 1 root wheel 0 Jul 1 00:47 Info.plist 
-rw-r--r-- 1 root wheel 0 Jul 1 00:47 MyProgram 
-rw-r--r-- 1 root wheel 0 Jul 1 00:47 icon.png 
iPhone:~ root# apt-get remove com.saurik.myprogram 
Reading package lists... Done 
Building dependency tree... Done 
The following packages will be REMOVED: 
com.saurik.myprogram 
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. 
Need to get 0B of archives. 
After unpacking 0B of additional disk space will be used. 
Do you want to continue [Y/n]? y 
(Reading database ... 17095 files and directories currently installed.) 
Removing com.saurik.myprogram ... 
iPhone:~ root#

3.Adım:Bir depo Oluşturma

En son adım ise diğer kullanıcılarında sadece bunu kurabilecekleri değil aynı zamanda Cydia üzerinden sizin yazılımınızı bulmak için kullanacakları bir depo oluşturma işlemidir.Bu adımda sizin websitesi üzerinde herhangi bir yerde 2 dosya içeren(sizin deb dosyası ve paketler olarak bilinen index dosyasınız) bir yeni klasör oluşturmanız gerekir.Bu index ,Perl betiği (dpkg-pakettarama:debdosyalarını taramak için bir dizin adını alır:) )kullanılarak oluşur.Burada –m yazdığımızda ‘bütün dosyalar,çiftleri içerenler dahil’ ,demek isteriz ve /dev/null yazdığımızda ise ‘geçersiz dosyalar’ ,demek isteriz.(fakat bunu yazdığımızda göz ardı edebileceğimiz birkaç uyarı gelebilir.)

[root@desktop:/web/apt/xmpl]# dpkg-scanpackages -m . /dev/null >Packages 
** Packages in archive but missing from override file: ** 
com.saurik.myprogram 
Wrote 1 entries to output Packages file. 
[root@desktop:/web/apt/xmpl]# bzip2 Packages 
[root@desktop:/web/apt/xmpl]# ls -la * 
-rw-r--r-- 1 root root 906 2008-07-01 07:48 MyProgram.deb 
-rw-r--r-- 1 root root 380 2008-07-01 08:00 Packages.bz2 
[root@desktop:/web/apt/xmpl]#

Malasef , Debian ile beraber gelen bu dpkg-scanpackages , ‘kullanıcı-tanımlı alanları’ nı hesaba katarak tasarlanmamıştır.Bundan dolayı ,Cydia-özel alanlarına bunu manuel olarak eklemek gerekir. Bu oldukça basittir:basitçe ‘fieldpri’sırasının sonuna bir isim,yazar,anasayfa ve Icon(simgesi) ekleyin.Eğer isterseniz bu dosyanın önceden hazırlanmış bir sürümünü benim websayfamdan indirebilirsiniz.

Ne yazık ki yine ,sağlamış olduğum bu kopya, Fink ile beraber çalışmıyor.Bundan dolayı sizin basitçe bir değişikliği kendiniz yapmanız gerekecek. Eğer Fink kopyası yakında elime geçerse bu değişikliğin yapılmış halini websayfamda size sunacağım, fakat şimdilik bu bende yok.

Şu anda bu program, Perl henüz Telesphoreo’içine taşınamadığı için, Iphone üzerinde çalışmayabilir.Ümit ederizki, bu programın yazarı,yakın zamanda bunu halleder.Belkide bu yakın zamanda dpkg’ nın daha gelişmiz özelliklerinin birkaçı ‘da açılır ve kullanılabilir hale gelir.(örneğin;dpkg yönlendirme gibi:diğer paket veya sistem dosyalarının güvenli şekilde değiştirmelerini sağlayan)

4.Adım: Depo Metadatası(isteğe bağlı)

Deponun diğer bir özelliğide bunu çalıştırmak isteyen insanlara ait bilgiler (adı nedir,vb) olmasıdır.Bu bilgiler aşağıdaki formata sahip Release adlı bir dosyada saklıdır.Bu dosya kesinlikle isteğe bağlıdır. Eğer bunu kapalı bırakırsanız o zaman Cydia çeşitli noktalara (kaynağınızdaki detayları görüntülemek için gereken yerlere) sizin URL’den bilgi sentezler.

Origin: Saurik’s Example for CydiaLabel: Cydia Example
Suite: stable
Version: 0.9
Codename: tangelo
Architectures: iphoneos-arm
Components: main
Description: An Example Repository from How To Instructions

  • Origin (Menşei-kaynak): Bu, kaynak editörü içinde (ve başka yerlerde)gösterilen depo adı olarak ,Cydia tarafından kullanılır.Bu çok aşırı olmamak şartıyla uzun bir depo tarifi olabilir.
  • Label:(Etiket-marka):Paket listesi ekranında ,Cydia depo ve bölüm paketlerinin nereden geldiğini gösterir.Bu yerde çok fazla bölüm yoktur.Dolayısıyla,bu alan etiket olarak kullanılabilecek depo adının basit /kısa bir sürümünü içermelidir.
  • SuiteBu alanı sadece sabit olarak belirtin.Bu alan gerekli olmayabilir ama gerçekten bunu kim biliyor olabilir?Ben dahi gerçekten bilmiyorum.
  • Version : (Sürüm):Bu aslında gerçekten hiç ayrıştırma yapmayan rasgele bir sürüm numarasıdır.Ben bunun ne kadar gerekli olduğunu bulmaya çalışıyorum.
  • Codename : (KOD ADI):Otomatik bir depo da siz farklı hadef sistemleri için çeşitli yazılım dağıtımlarını saklayabilirsiniz.Örneğin: : apt.saurik.com sayfasının ana deposu her iki masaüstü sistemi, Debian Etc ve Iphone sistemini,içerir.Bu KOD ADI ise aradığınız dağıtımın ne olduğunu açıklar.Bu vermiş olduğum basit ve önemsiz depo örneğine(bu makalede açıklamış olduğum) siz istediğiniz her şeyi ,alanlar dahil,ekleyebilirsiniz.
  • Architectures:(Mimarı-Yapımcı):Bu liste için Sürüm dosyasında(Release file)APT görünümü ile Çalıştığınız belirli bir aygıt için bir depo doğrulamaktır.Burada sizin paket dosyanızda görünen bütün yapımcıları belirtmeniz gerekir. Yine, biz burada 1.1.x için darwin-arm ve 2.x. için iphoneos-arm kullanırız.>
  • Components (Bileşenler): Bunu sadece ‘main(ana)’olarak belirtin. Bu alan gerekli olmayabilir ama gerçekten bunu kim biliyor olabilir?Ben dahi gerçekten bilmiyorum.
  • Description: (Açıklama-Betimleme): Paket kaynak ekranında deponun kısa bir açıklaması listelenir.Bu açıklama nihayet paketin açıklamasına(kısa/uzun çeşitliliği ve yukarıda belirtilen kodlama ile) benzer biçimde çalışır,ancak şu anda listede kısa açıklama doğrudan gösterilir.

5.Adım: Paket İmzaları (İsteğe bağlı)

5.Adım için talimatlar henüz bitmiş değildir.Dolayısıyla 6.adıma direk geçmek isteyebilirsiniz.

MD5 toplamları için ,biz ‘MD5Sum’ (üzerinde ektra satır,boyutu byte olan,ve şifre dosyalarının adlarını ) adında ektra bir alan, ekleyebiliriz.Bizim dosyamızın her iki versiyonunu( sakıstırılmış ve sıkıştırılmamış) listelememiz gerektiğine inandığımı unutmayın.

MD5Sum:
07a4ca0b91734e0489874dc44bd55222 464 Packages
43e92f4ec43f4c39d8f4268c7418f353 380 Packages.bz2

Bir şekilde GPG anahtarı(şifresi) elde elde edin….(fakat ben bu adımda daha fazlasını hatırlamıyorum.)

Şimdi bizim Release dosyasında Release.gpg dosyası oluşturmamız gerekli.Bu dosya ilk olarak müşteriler(istemciler) tarafından indirilecek ve Release dosyasının geçerliliğini doğrulamak için kullanılacak.

[root@desktop:/web/apt/xmpl]# gpg -abs -o Release.gpg Release 
You need a passphrase to unlock the secret key for 
user: "Jay Freeman (saurik) <saurik@saurik.com>" 
1024-bit DSA key, ID AA31C175, created 2008-01-01 Enter passphrase: 
[root@desktop:/web/apt/xmpl]# ls -la Release.gpg 
-rw-r--r-- 1 root root 189 2008-08-05 11:52 Release.gpg 
[root@desktop:/web/apt/xmpl]#

Bu imzanın İstemci(kullanan müşteri) üzerinde doğrulanması için onlarda bizim meydana getirdiğimiz public key(ortak şifre-anahtar) yüklü olamlıdır.Bu ise apt-key programını kullanarak yapılır.

iPhone:~ root# apt-key add saurik.pub 
OK 
iPhone:~ root#

6.Adım: Depo Ekleme

Maalesef, Tamamıyla program yazarının tembelliğinden dolayı Cydia’ nın kaynakları eklemek için iyi bir editörü yok.Bu inandırıcı olmasa da sonra alelacele yapılacaktır.Bu arada, biraz önce oluşturduğumuz depoyu eklemek için bizim sadece file /etc/apt/sources listesine(bu listeyi siz oluşturmalısınız) tek bir dizin satırı eklememiz gerekli.

deb http://apt.saurik.com/xmpl/ ./ Bu örnek dizin satırı gerçekten halihazırda kullanılabilir bir depodur (Bu depoyu bu doküman da ki talimatlara göre analiz edebilir ve özgürce test edebilirsiniz.)İçinde biraz önce bahsettiğimiz 2 dosya bulacaksınız  ve bunlara My program içeren paketi yükleyebilirsiniz.

Şimdi depomuzu yükledik ve artık test edebiliriz.Bunu yapmak için biz Cydia( paket datalarını güncelleyen yeni kaynakları otomatik olarak alır) içine de girebiliriz veya  ‘apt-get’ komut satırı aracını da kullanabiliriz.İlk olan oldukça açık ve bellidir.Bundan dolayı ben ikinci olanı açıklayacağım.İlk olarak biz yeni kaynak bilgilerini almak için  ‘apt-get uptade’ kullanırız sonra da paketimizi almak için de ‘apt-get install’ kullanırız.

iPhone:~ root# apt-get update 
Ign http://apt.saurik.com ./ Release.gpg 
Ign http://apt.saurik.com ./ Release 
Ign http://apt.saurik.com ./ Packages/DiffIndex 
Ign http://apt.saurik.com ./ Packages 
Get:1 http://apt.saurik.com ./ Packages [349B] 
Fetched 33.5kB in 3s (8482B/s) 
Reading package lists... Done 
iPhone:~ root# apt-get install com.saurik.myprogram 
Reading package lists... Done 
Building dependency tree... Done 
The following NEW packages will be installed: 
 com.saurik.myprogram 
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 
Need to get 904B of archives. 
After unpacking 0B of additional disk space will be used. 
WARNING: The following packages cannot be authenticated! 
 com.saurik.myprogram 
Install these packages without verification [y/N]? y 
Get:1 http://apt.saurik.com ./ com.saurik.myprogram 1.0.4-1 [904B] 
Fetched 904B in 0s (2515B/s) 
Selecting previously deselected package com.saurik.myprogram. 
(Reading database ... 17090 files and directories currently installed.) 
Unpacking com.saurik.myprogram (from .../com.saurik.myprogram_1.0.4-1_darwin-arm.deb) ...
Setting up com.saurik.myprogram (1.0.4-1) ... 
iPhone:~ root#

Daha Fazla Bilgi

Artık siz bu noktada, bu Iphone yazılımını dağıtma dünyasına tam olarak hazır olmalısınız.Bununla birlikte, bunun sadece buz dağının görünen ucu olduğu unutulmamalıdır.Burada oluşturduğumuz sadece basit ve önemsiz bir depo örneğidir.Bazı kullanıcılar için fazlasıyla yeterli olurken, bazıları içinde daha çok ihtiyaç duydukları gereksinimler olacaktır.Bu tür kullanıcılar aşağıda verdiğim kaynaklara bakabilirler.

Add a Comment

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir