簡単!Cydiaリポジトリ作成法 ~基本編~

2013年2月10日

この記事は古いです。
最近はiOSに限定したリポジトリ作成法を丁寧に解説されてるサイトが増えてきていますので、
そちらと合わせて見るorそちらを見るのをおすすめします。

sourcesmyrepospace.comを使わない完全オリジナルのリポジトリを作成する方法です。
この機会に自分だけのアプリ、自分だけのリポジトリを作ってみませんか?

※今回は基本編ということで、最低限のファイルしか使っていません。また、私はLinuxについてはど素人ですので抜けている部分もあると思いますし、正しい方法だと断言することもできませんので何かあっても責任はとれません。

以前もリポジトリの作成方法は紹介していましたが、独自の方法で行っていたり、動画を使用していたりして分かりづらかったので、今回はCydia創設者のsaurik氏が公開している方法を参考にし、解説もスクリーンショットを使って丁寧に解説したつもりです。

それでは「続きを読む」からどうぞ。

必要なもの

リポジトリを作成するには、Linux DebianというOSが必要です。公式サイトから無料でダウンロードできます。
VMware Player(無料)や、VirtualBox(無料)など仮想マシンを使えばWindowsやMac上でLinux Debianを動かすことができ、ドラッグアンドドロップでファイルのやりとりもできるので便利です。今回の説明ではVMware Playerを使用しています。

Linux DebianのCDイメージは公式サイト(http://www.debian.org/index.ja.html)の左の「CD ISOイメージ」から好きな方法でダウンロードします。私は「最小のブータブル CD のイメージ」からダウンロードしました。
どのイメージをダウンロードしたら良いか迷いますが、基本的にはi386 、64bitのOSならamd64を選択すると良いようです。

Linux Debianのインストールは、Graphical Installを選択し、あとは言語、キーボード、ユーザー名、パスワードさえしっかりしていれば、他は「続ける」をクリックしていくだけで問題ないと思います。

Linux Debianの設定

ユーザー名を以下のとおりにしてあります。リポジトリを実際に作る場合は自分の設定に置き換えてください。

  • ユーザー名:fukajun

debファイルの作成

まずは配布するファイルを作成します。

準備

作成する前にちょっとした準備が必要です。

  1. まずリポジトリ作成に使うディレクトリを作成します。ディレクトリ名は自分の分かりやすい名前でOKです。 fukajunのホームディレクトリにcydiaディレクトリを作成しました。WS000012
  2. ツールバーの [アプリケーション] > [インターネット] からウェブブラウザを起動し、saurik氏のサイトからdpkg-scanpackagesをダウンロードします。
    http://test.saurik.com/macciti/dpkg-scanpackages

    右クリック >「名前をつけてこのページを保存」で先程のcydiaディレクトリに保存します。WS000014

  3. [アプリケーション] > [Root Terminal]を起動します。
    以下のコマンドを入力してdpkg-scanpackagesを/usr/binにコピーします。   

     

    cp /home/fukajun/cydia/dpkg-scanpackages /usr/bin
    

    ※いくつかの画像で頭にsudoと打っていますが、すでにrootにログインしている状態なのでsudoは打たなくて良いです。

    WS000013

  4. 以下のコマンドを入力してパーミッションを変更します。
    chmod 0777 /usr/bin/dpkg-scanpackages
    

    WS000015

  5. さらにdpkg-gettext.plというperlのファイルをダウンロードし、同じくcydiaディレクトリに入れます。
    http://www.koders.com/perl/fidD860B9E748CE2455
    F3539A17D2563CC28F0A640D.aspx?s=eval#L9

    ※アドレスを入れなくても「dpkg gettext pl」で検索すれば出てきます。

    WS000025

  6. 以下のコマンドを入力してdpkg-gettext.plを/etc/perlにコピーします。
    cp /home/fukajun/cydia/dpkg-gettext.pl /etc/perl
    

    WS000026

  7. 以下のコマンドを入力してパーミッションを変更します。
    chmod 0777 /etc/perl/dpkg-gettext.pl 
    

    WS000027

以上で完了です。cydiaディレクトリにあるファイルは削除して構いません。

debの元になるファイルの作成

今回はhello.txt/var/mobile/にインストールするように作成します。

  1. まずはcydiaディレクトリtestディレクトリを作成します。実際に作成する際は、何のアプリなのかわかる名前にすると良いでしょう。(赤いラベルにするテーマをdebにするならRedLabelなど)WS000016
  2. testディレクトリの中身は、以下の画像のように iPhoneのディレクトリ階層を再現してフォルダとファイルを配置 します。さらに、DEBIANというディレクトリも作成します。このディレクトリ名は固定。DEBIANの中身は次で説明します。WS000017
       

     

    +- test
       +- DEBIAN
       |  +- control
       +- var
          +- mobile
             +- hello.txt
    
  3. DEBIANディレクトリにはcontrolという、拡張子の無いファイルを作成します。※他にもインストール後に実行するシェルスクリプトを入れたりもしますが、それはまた後日。
  4. WS000021controlの中身は以下のとおりです。これ意外にもたくさんありますがこれも後日。
    Package: net.fukajun.test
    Name: testtext
    Version: 1.o
    Architecture: iphoneos-arm
    Description: test text.
    Homepage: http://i.fukajun.net
    Maintainer: fukajun <fukajun@hogehoge.com>
    Author: fukajun <fukajun@hogehoge.com>
    Section: Games
    
    
    controlの中身の説明

    Package: パッケージ名 小文字なら何でもOK。他の作者さんのものと被らないように「ドメイン名.パッケージ名」とすると良いと思います。

    Name: アプリの名前 ← 日本語も使えるみたい。

    Version: 番号 ← 数字とハイフンが使用できるのを今のところ確認しています。アルファベットを入れるとエラーが出る。この数字を上げて再度debファイルをアップロードすればcydiaを更新した際にバージョンアップ項目に表示されます。

    Architecture: iphoneos-arm ← 多分これは固定

    Description: 概要 ← どんなアプリなのか説明を書きます。Cydiaでアプリ名の下に灰色で表示されます。

    Homepage: 自分のホームページ

    Maintainer: 名前 <メルアド>

    Author: 作者 <メルアド>

    Section: セクション ← これを設定すると、そのセクションに合ったアイコンがアプリ名の隣に表示される。

以上で完了です。

debファイルの作成

debファイルの作成です。

  1. cydiaディレクトリにuploadというディレクトリを作って先ほど作ったtestディレクトリをコピーします。これも好きな名前で。※uploadディレクトリを作らず直接cydiaディレクトリでdebファイルを作っても全く問題ありません。ただ、たくさん作ると分かりますが、debの整理が大変になってくるのでたくさんファイルをアップする予定の人はuploadディレクトリを作ることをオススメします。WS000020   

     

  2. Root Terminalを起動し、
    cd cydia/upload
    

    でアップロードディレクトリに移動。

    dpkg-deb –b test
    

    でdebファイルが作成されます。この時警告が出ますが、気にしなくてOKです。

    ls –la test.deb
    

    で詳細情報がみられます。

    WS000023 WS000024

これでdebファイルが完成!

iPhoneに転送してiFileなどでインストールすれば、/var/mobile/にhello.txtが置かれるはずです。

リポジトリの作成

いよいよ本題。
以下の作業はdebファイルを新たにリポジトリに追加する場合や、debファイルを更新した場合に毎回行う必要があります。

  1. コマンドでuploadディレクトリに移動し、
    dpkg-scanpackages –m . /dev/null >Packages
    

    これでPackagesファイルが生成されます。 WS000028

  2. 以下のコマンドを入力して圧縮します。

    bzip2 Packages
    

    WS000029

以上で終了です。あとはFTPなどでPackages.bz2test.debを自分のサイトにアップロードし、アップロードした場所のアドレスをCydiaで追加すればOKです。ここまでのプロセスを自動化するスクリプトを現在作成中です。これが完成すれば題名のとおり本当に簡単に作れるようになりますよ♪

__ 1 (2) __ 2 (2)