Difference between revisions of "IPhone Make Cydia Package"

From ivc wiki
Jump to navigationJump to search
 
(5 intermediate revisions by the same user not shown)
Line 23: Line 23:
  Name: ProgramName
  Name: ProgramName
  Version: 1.0
  Version: 1.0
Priority: optional
  Size: 128222
  Size: 128222
Installed-Size: 125
  Architecture: iphoneos-arm
  Architecture: iphoneos-arm
  Description: An example of using APT, short desc.
  Description: An example of using APT, short desc.
Line 35: Line 37:
  Sponsor: Microsoft <http://www.microsoft.com/>
  Sponsor: Microsoft <http://www.microsoft.com/>
  Section: Utilities
  Section: Utilities
  Icon: http://www.saurik.com/programname/icon.png
  Icon: <nowiki>file:///Applications/ProgramName/icon.png</nowiki>


Omit the Depiction field if you want to show the Description field instead of the URL provided.
Omit the Depiction field if you want to show the Description field instead of the URL provided.
Line 43: Line 45:
On Linux or Mac OS X, get the suitable dpkg-deb binary:
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-lnx dpkg-deb Linux]
* [http://beta.ivancover.com/iphone/cydia/dpkg-deb-fat dpkg-deb Mac OS X
* [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.
And run the following command to build the package, not that there's no ending slash.
Line 54: Line 56:
  contains user-defined field
  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''.
The final package is created in the working directory, view the directory with ''ls -lha''.


== Create repository ==
== Create repository ==
Line 82: Line 84:
  Components: main
  Components: main
  Description: An Example Repository from HowTo Instructions
  Description: An Example Repository from HowTo Instructions
Icon: <nowiki>http://www.saurik.com/repo.png</nowiki>


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

Latest revision as of 16:15, 28 August 2009

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