IPhone Make Cydia Package

From ivc wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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
Priority: optional
Size: 128222
Installed-Size: 125
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: file:///Applications/ProgramName/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 to build the package, not that there's no ending slash.

dpkg-deb -b ProgramName

Ignore any user-defined field errors.

contains user-defined field

The final package is created in the working directory, view the directory with ls -lha.

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
Icon: http://www.saurik.com/repo.png

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

References