Blog内検索

2013/01/09

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

さて!連載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が表示されるのでクリック



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

【参考】ichitaso Cydia Repository 変更のお知らせ

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

5.Python 2.x.xをInstall

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

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

6.Google App Engine SDKをInstall

Downloads - Google App Engine — Google Developers

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

7.Google App Engine Launcherを起動



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



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

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

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



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

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



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

application: willfeeltips
version: 1
runtime: python
api_version: 1

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をフォローしよう!



関連する記事
Facebookコメント

Popular Posts Last 30 days