【脱獄アプリ開発】第3回 Google App Engineを使ったCydiaリポジトリの作成方法

      2016/08/27


さて!連載3回目です。今回は、自分で作ったdebパッケージをCydia Repositoryに上げることを目標に、ポイントや手順などを説明します!


【脱獄アプリ開発】第1回 VirtualBoxにLinux Ubuntuをインストール!

【脱獄アプリ開発】第2回 Cydia Debパッケージを作成しよう!

はい。間が開いてしまったので、復習しておきましょうね♪

自分で作ったdebパッケージを、そのまま「BigBoss」や「ModMyi」に提出してもおkですが、betaテストや個人用のリポジトリとして利用するために、作成しておきましょう!

長くなるので、じっくりコトコト何かを煮込みながら読んでください。

Cydiaリポジトリに必要なファイル


  1. debファイル:これがないと始まりません
  2. Packagesファイル:debパッケージをリストにしてRepositoryに読み込ませるものです
  3. Releaseファイル:Repositoryの説明を記載したファイルです
  4. Release.gpg:Repositoryの証明書みたいなものです
  5. CydiaIcon.png:Repositoryを登録した時に表示されるアイコンです

ざっと5つ必要になってきますね。
Release.gpgとCydiaIcon.pngは、無くても機能しますが、せっかくなので作っておきましょう!

目次


  1. Packagesファイルを作成する
  2. Release/Release.gpg/CydiaIcon.pngの作成
  3. Google App EngineでのCydiaリポジトリ作成

Packagesファイルを作成する



前回作成したdebファイルです。これがないとPackagesが作れないので、用意しておきます。

1.debファイルの元となったフォルダを削除


う〜ん、すっきり!

2.端末を開き、以下のコマンドを入力
cd ~/apt(aptディレクトリに作成したという前提)
dpkg-scanpackages . /dev/null > Packages



「Packages」ファイルが出来ました!!

開くとわかりますが、debファイルのディレクトリやMD5ハッシュ値などが記載されています。Cydiaでは、これを元にリストとして読み込んでいます。

3.Packagesを圧縮する

Packagesのままでも読み込みますが、Cydiaはgzやbz2に圧縮して軽くしても読み込んでくれます。
gzip Packages
もしくは・・・
bzip2 Packages
gzの方が軽いので、そちらをおすすめします。



出来ました!!

このまま同一ディレクトリにどんどん追加していってもおkですが、この後もdebパッケージが増えていくことを考えると、debファイルは別で管理した方がわかりやすくなります。

というわけで、「debs」フォルダを作って、debパッケージをそこに全てぶっ込みましょう!


この場合ですと、「Packages」の作成方法が変わってきます。
apt-ftparchive packages ./debs > Packages
gzip Packages


このようにコマンドを入力します。


すっきり°˖✧◝(。╹◡╹。)◜✧˖°

4.debファイルの作成からPackagesの生成まで自動化する

毎回この作業を行うのは、正直だるいですね♪~ <(゚ε゚)>

debファイル、リポジトリの作成を自動化するシェルスクリプト - J-Style Blog


fukajunさんの作成した「autorepo」を改良したものを使います!

  • autorepo_debs:「debs」ディレクトリを利用した場合
  • autorepo_dir:同一ディレクトリで利用する場合

これを「apt」ディレクトリに入れて、「端末内で実行する」をクリックします。


端末が立ち上がるので、以下のように処理します。

  • debパッケージを作る場合、「debファイルにするフォルダ名」を入力
  • Packagesだけ更新する場合、「skip」と入力


例えば、debパッケージを作成するときの、preinst/postinst/prerm/postrmへのchmod 755コマンドなどを自動で行い、debファイルを作成しPackages.gzまで生成してくれます。

「skip」を入力すると、古いdebファイルの情報(Packages)を削除し、新しくPackages.gzとして生成してくれます。

それぞれ、自分に合った方を利用してください。
以上で、Pcakgesの作成は糸冬 了です。

Release/Release.gpg/CydiaIcon.pngの作成


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

1.Releaseファイルの作成

「apt」ディレクトリに「Release」という名前で、新しいドキュメントを作成します。

Origin: ichitaso repository(Cydiaに登録した時に表示される名前)
Label: ichitaso(リポを開いた時に表示されるラベル名)
Suite: stable
Version: 1.0
Codename: tangelo
Architectures: iphoneos-arm 
Components: main
Description: ichitaso's repository(説明欄)


自分のものはこんな感じで記述しています。

2.GPG鍵の作成

端末を立ちあげて、以下のように入力

sudo gpg --gen-key
1
1024
0
y

名前を入力
メールアドレスを入力
コメントを入力(例.作品&作成管理者ichitasoのリポジトリです)
パスフレーズを2回入力(長い文字列)
パスフレーズは、長いアルファベットの文字列を入力します(自分の好きな曲の歌詞をローマ字などにするなど)あとで使用するので、あらかじめメモっときましょう!

3.Release.gpgの作成

以下のコマンドを入力します。
cd ~/apt
sudo gpg -abs -o Release.gpg Release
パスフレーズを入力


GPG鍵のパスフレーズがわからなくなって、消したい場合
sudo gpg --delete-secret-keys 名前/アドレスなど(例.ichitaso)
上手くいかない場合は、リセットして始めからやり直してみてください。


完成!

4.CydiaIcon.pngの作成

自分の場合、114 x 114 pxで作っています。カッコイイのを作りませう!


デキタ――(゚∀゚)――!!

これらを、サーバーにうpすれば、Cydia野良Repositoryの完成です。

自鯖を持ってる方は、そちらへ。フリーの「myrepospace.com」でもおkですが、動作が不安定なのと、自分用のリポジトリとして「Google App Engine」を利用します。無料です(重要)

Google App Engineを使ったCydiaリポジトリの作成方法


Google App Engineを使って無料でサイトを立ち上げる方法 - EC studio 技術ブログ 

こちらのページを参考に作成します。

1.Google App Engineを登録する

https://appengine.google.com/

こちらから登録します。Googleアカウントを持っていない場合、作成してください。


2.「Create Application」 をクリック



3.メールか電話で確認コードを取得



入力します。


3.作成するアプリケーション(サイト)の情報を入力


作成するアプリケーション(サイト)の情報を入力しましょう。
「Application Identifier」がアプリケーション一つ一つに割り当てられるサブドメイン名になります。
この部分は後から変更したり、削除することができないので注意!
ドメインを取得するつもりで設定しましょう。

タイトルは後からでも変更できます。





4.予備の管理者を決めておく

https://appengine.google.com/ にアクセスすると、作成したApplicationが表示されるのでクリック


このような感じで、サブアカウントに管理者権限を与えておきましょう!

突然死もありますので・・・


5.Python 2.6.6をInstall

http://www.python.org/download/releases/2.6.6/

こちらから、自分のOSに合った「Python(2.6.6のバージョン)」をダウンロード、インストール


新しいGoogle App Engineは「Python 2.7」以降が必須となったので、Python 2.7.5をInstallしてください。

Link:Python 2.7.5 Release | Python.org

※Python 2.7.6以降だと「UnicodeDecodeError」「Process exited with code 1」となってしまいます。

レジストリのHKEY_CLASSES_ROOT\MIME\Database\Content Typeに
ASCII以外の文字を含むタイプ名が登録されていると例外が発生する。
QuickTimeがロシア語の名前を登録するのが原因らしい。

とのこと。


6.Google App Engine SDK for PythonをInstall

Downloads - Google App Engine — Google Developers

こちらから、自分のOSに合ったGoogle App Engine SDK for Python をダウンロード、インストール


7.Google App Engine Launcherを起動


メニューの「File」から「Create New Application..」をクリック


「Application Name」に、最初にブラウザ側で作成したアプリケーション名を入れます。(Application Identiferの部分。サブドメインにあたるところです)

「Parent Directory」に、先ほど作成したファイルなどを入れるフォルダを指定します。
(指定したフォルダに、アプリケーション名のサブフォルダが作成されます)

作成したアプリケーションを選択し、「Run」ボタンをクリック



8.アップロードするファイルを指定する

先ほど指定したディレクトリ内に「app.yaml」というファイルが出来ているので、テキストエディタで開きます。


こんな感じで編集します。

application: willfeeltips
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /
  static_files: index.html
  upload: index.html

- url: /index.html
  static_files: index.html
  upload: index.html

- url: /apt
  static_files: index.html
  upload: index.html

- url: /apt/
  static_files: index.html
  upload: index.html

- url: /apt/(.*)
  static_files: apt/1
  upload: apt/.*

- url: /depiction/(.*)
  static_files: depiction/1
  upload: depiction/.*

- url: /index_files/(.*)
  static_files: index_files/1
  upload: index_files/.*

自分の場合、Application名/aptディレクトリにファイルを配置しています。

また、RepositoryのURLにアクセスした場合、自分のBlogにジャンプするようにしています。
そのため、http://[アプリケーション名].appspot.com、http://[アプリケーション名].appspot.com/apt、http://[アプリケーション名].appspot.com/apt/ にアクセスした場合、index.htmlを表示させるように指定してます。

index.htmlをテキストエディタ(文字コード:UTF-8)で作成します。
<html>
<head>
<meta http-equiv="refresh" content="10;URL=http://ichitaso.blogspot.com/">
<title>ichitaso's repository</title>
</head>
<body>
<h1>ichitaso's repository</h1>

<p>10秒後、自動的にBlogへ移動します。</p>
<p>©2013 <a href="http://ichitaso.blogspot.com/">Will feel Tips</a> by <a href="https://twitter.com/ichitaso">@ichitaso</a> All Rights Reserved.</p>
</body>
</html>

  • 「depiction」には、debパッケージの詳細を説明したhtmlファイルを配置
    controlファイルの「Depiction: 」にhttp://[アプリケーション名].appspot.com/depiction/*.html このようにして、debパッケージを開いた時に説明が表示されるようにしています。
    (記述方法は、BigBossなどのソースを参考にしてください)
  • 「index_files」には、アイコンなどの必要なファイルを配置

それぞれ、Application名配下にフォルダを作成して、ファイルを入れてあげましょう。

9.サーバーにアップロードする

GAEのLauncherにある「Deploy」をポチッとな


GmailのアドレスとPasswordを入力し「OK」


このようになれば 完成☆(・ω<)

Cydiaを開いて、[Manage]->[Sources]->[Edit]->[Add]から、http://[アプリケーション名].appspot.com/aptを追加してみましょう!自分のリポジトリが上手く表示されれば、作業完了です!お疲れ様でした!


次回は、もう少し難しいdebパッケージを作成する手順などを紹介する予定です。お楽しみに〜・・・あ、共有され具合で、モチベーションが変わるのでよろしくです♪~ <(゚ε゚)>

でわでわ〜

【脱獄アプリ開発】第4回 XcodeとiOSOpenDevをインストールしよう!

 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

Twitter でWillFeelTipsをフォローしよう!


  関連記事

【脱獄アプリ開発】第11回新しいtheosのインストールと簡単なTweakの作成方法

今回は、以前紹介したtheosの構築方法が古いものになってしまったので、新しくな ...

【脱獄アプリ開発】第7回theosのインストールから簡単なTweakの作成までのガイドライン

連載シリーズ第7回目となる今回は、現在のJailbreak Tweakを作る上で ...

【脱獄アプリ開発】第8回armv6からarm64(iPhone 3Gから5s)に対応したTweakの作成

連載シリーズ第8回目となる今回は、今では懐かしいiPhone 3Gから現行機種の ...

【脱獄アプリ開発】第5回 Cydia 有料Tweakの提出方法 BigBoss編

今回は、自分で開発した脱獄アプリをCydiaの本家であるBigBossへ提出する ...

【脱獄アプリ開発】第6回 iOSOpenDevを使ったSBSettingsトグルの作り方

今回は、iOSOpenDevを使ってSBSettingsのトグルを作る方法を紹介 ...

 - iOS development