Cydia リポジトリ 作成

iPhoneの脱獄も身近なものになってきました。
Cydiaで皆さんもご存じのリポジトリ
今回はその”リポジトリ”の作成方法を書きたいと思います。

準備及び開発環境
・サーバ
・PC(OSはLinux系 DebianでなくてもOK)
・iPhone or iPod touch
・アップ用debパッケージ

それでは作業に入ります。
以前、リポジトリの仕組みについて話しました。[過去記事]
それを見ると分かりますがリポジトリとして作成されたサーバのディレクトリには
大きくまとめて3つのファイルが存在します。
*Packages.gz(.bz2)
Release
Release.gpg

(説明は後程)*必須
こちらのファイルが存在することでリポジトリとして認識されます

####Packages####
Packages.gzというファイルはPackagesというテキストベースのファイルを圧縮したファイルです。
Packagesファイルにはdebパッケージの情報、存在位置などが一覧と書かれています。
そのファイルを生成し、圧縮して置いてあるというわけです。
今回、リポジトリの作成でOSはLinuxのUbuntuを使用しました。
1.ホームディレクトリにcydiaというフォルダを作成します
2.cydia内にdebパッケージを配置
3.端末を起動しcydiaディレクトリへ移行

$ cd ~/cydia

4.以下のコマンドを実行し、Packagesを生成、圧縮

$ dpkg-scanpackages -m . /dev/null >Packages
$ gzip Packages

Packages.gzファイルが生成されていれば成功です。

debパッケージとPackages.gzをサーバにアップすればリポジトリとして読み取ってくれます。

####Release####
このファイルは”リポジトリの説明書”とでも考えてください
このリポジトリの管理者は誰か、またこのリポジトリの名前(ラベル)は何か。
そういった情報を書く”テキストベース”のファイルです。
例:私のリポジトリのReleaseです

Origin: SONY5614.com
Label: SONY5614.com
Suite: stable
Version: 1.0
Codename: stable
Architectures: iphoneos-arm
Components: main
Description: Ubuntu 作成&作品紹介の管理者 SONY5614のリポジトリです

アップ前————————————–>アップ後

このようになります

####Release.gpg####
こちらはリポジトリ追加、更新時にGPG errorが発生した場合は作成してください

1.Linuxの端末からキーを作成

$ sudo gpg --gen-key

(通常表記にすると文字が変更されてしまうため
このコマンドのみこの表示にさせていただきます)


(キー生成時、パスワードを二回入力します
その後、+マークが大量に出てきます
PCで何か動作をするように求めらている状態なので
マウスを無駄に動かしていると成功する確立が上がります)
2.作成後Releaseのあるディレクトリへ移行(cydiaフォルダ内にあるとします)

$ cd ~/cydia

3.GPGファイルを生成

$ sudo gpg -abs -o Release.gpg Release

4.生成されたGPGファイルをリポジトリへアップしてください

これによってリポジトリを作成することができます。
新しくパッケージを追加したい場合は
cydiaフォルダ内にdebパッケージを入れ再度
Packagesを生成してください。
その後追加したいdebパッケージとPackages.gz(.bz2)をアップしてください
cydiaフォルダ内のdebとサーバにアップしたdebの数は同じにしておかないと面倒になります

何かの機会があれば試してみるのも面白いですよ
ちなみにリポジトリの作成方法はCydia開発者のSaurik氏のサイトに
記載されています。元:ソース

[おまけ1]
cydiaフォルダ内にdebsというフォルダを作成
その中にdebを入れておきます。
Packagesを生成する際、コマンドをこのように変更すると

$ cd ~/cydia
$ apt-ftparchive packages ./debs > Packages

debsフォルダ内のdebを読み込んでcydiaディレクトリにPackagesを生成してくれます。
サーバにもdebsというディレクトリを作成し、その中にdebをアップすればリポジトリがきれいにまとまります
変更前

http://○○.com/repo/
|-Packages.gz
|-Release
|-○○.deb
|-○○.deb

変更後

http://○○.com/repo/
|-Packages.gz
|-Release
|-debs
■■■|-○○.deb
■■■|-○○.deb

[おまけ2]
Cydia v1.1.1になりリポジトリの表示方法が変わりました。
[Manage](管理)->[Source](ソース)
でリポジトリを一覧できますね
そこのリポジトリの左に映るアイコンをリポジトリアイコンといいます。

このアイコンの適応方法が
/Applications/Cydia.app/Sources/○○.pngだったのが
リポジトリからの取得に変更されました。
リポジトリのディレクトリに

CydiaIcon.pngという画像を置くことで適応されます(大文字小文字の区別を確認)
59×60のPNG形式

私の場合、リポジトリURLがhttp://sony5614.com/なので
http://sony5614.com/CydiaIcon.png
ということになりますね

10 thoughts on “Cydia リポジトリ 作成

  1. リポジトリ作成のことが良くました。
    もっとリポジトリを自分風に変えられるようになる記事です。試して見ます。Releaseの事もよーくわかりました。ありがとうございます。
    いつもSONY5614さんのブログを見ています。これからも役に立つ記事を待ってます。

  2. […] @NEXTi4HACKさんの「Cydia リポジトリ 作成」を参考に作成します。 […]

  3. 2回目でdebファイルをCydiaフォルダに入れ、Releaseを再度生成し、1回目に生成したReleaseを削除しサーバーにアップして、Cydiaでリポジトリの更新をしても表示されませんでした

    何度か試してもうまくいきません
    どうすればいいでしょうか

    • Releaseファイルを更新しても意味がありません。
      Releaseファイルはリポジトリの説明書です。Packagesファイルを再度生成してそちらをアップロードしてみてください

  4. すいません
    間違えてました

    Packagesは.bz .bz2の二つをおくのでしょうか?

  5. 了解です
    でも、何度やってもCydiaでパッケージが読み込まれないのですが…

    • リポジトリのURLを教えていただけますか?Packagesファイルが正確に生成されていない可能性があります

  6. http://macinwindowpple.nomaki.jp/
    こちらです
    ブラウザからアクセスして、Packages.gzをダウンロードし、展開してみて見たところ、問題はありませんでした
    iFileで “/var/lib/apt/lists” のMacinwindowppleのPackagesを削除して、Cydiaで再更新して、みてもダメな様です
    iFileで再び確認した所、1/2更新とメタデータがなっていたので、Cydiaが問題なようなきもします…

    お忙しい所すいません
    よろしくお願いします

    • Packagesファイルのミスですね。コードがUnicodeで変換されていません。Windows上ですがGeditでもメモ帳でも開けませんでした。
      Packagesファイル生成に問題がありますね。コマンドのミス、もしくはdebパッケージの名前やcontrolファイルの記述にミスがあるかもしれません。
      debパッケージの名前やcontrolファイルのPackages:に記載されている個所に特殊文字や記号などが入っていたりほかの箇所でスペルミスをしていたりしてもそうなる可能性があります

コメントを残す

メールアドレスが公開されることはありません。