IPhone Make Cydia Package
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:
- [http://beta.ivancover.com/iphone/cydia/dpkg-deb-lnx dpkg-deb Linux
- [http://beta.ivancover.com/iphone/cydia/dpkg-deb-fat dpkg-deb Mac OS X
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.