IPhone Make Cydia Package

From ivc wiki
Revision as of 21:50, 1 February 2009 by Ivc (talk | contribs)
Jump to navigationJump to search

Cydia packages are simple .deb-files, also known from Debian Linux distribution.

Package files

When the program is ready and testing is done, create the following directory structure:

- ProgramName
 - Applications
 |  - ProgramName.app
 |    | - Info.plist
 |    | - ProgramName
 |    | - icon.png
 |    | - Default.png
 |    | - ... and all other files
 - DEBIAN
 |  - control
 - System
 |  ... and other files

The control-file should contain the following information:

Package: com.saurik.programname
Name: ProgramName
Version: 1.0
Size: 128222
Architecture: iphoneos-arm
Description: An example of using APT, short desc.
 Every day people use Cydia, but with the
 instructions embodied in this package,
 people can publish for it as well.
Homepage: http://www.saurik.com/id/7
Depiction: http://www.saurik.com/id/7
Maintainer: Your Name <you@example.com>
Author: Jay Freeman <saurik@saurik.com>
Sponsor: Microsoft <http://www.microsoft.com/>
Section: Utilities
Icon: icon.png

Omit the Depiction field if you want to show the Description field instead of the URL provided.

Make package

On Linux or Mac OS X, get the suitable dpkg-deb binary:

And run the following command.

dpkg-deb -b ProgramName

Ignore any user-defined field errors.

contains user-defined field

The final package is either created in the working directory or as a hidden .deb in the ProgramName folder, view it with ls -la.

Create repository

A repository is necessary to make the package show up in Cydia.

Download the modified dpkg-scanpackages where the user-defined fields Name, Author, Homepage, and Icon is added to the filedpri-array (perl script). Create the Packages-file using the following command:

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

Look at the file content to verify that the package and field information is correct:

cat Packages

Compress it using bzip:

bzip2 Packages

Optionally create a metadata file in the same directory as Packages called Release describing the repository:

Origin: Saurik's Example for Cydia
Label: Cydia Example Short
Suite: stable
Version: 0.9
Codename: tangelo
Architectures: iphoneos-arm
Components: main
Description: An Example Repository from HowTo Instructions

This information will be shown in the Sources-section in Cydia.

References