Here is a Tutorial on how to create a Cydia Package and Cydia Repository on a Windows system.
Requirements:
For Cydia Package (Debian file):
Windows Computer (im using Windows 7)
iDevice on Wifi connection (with OpenSSH installed)
WinSCP
For Repo creation:
7Zip
A way to generate an MD5sum hash for you debian
i use HashCheck Shell Extension as it integrates it directly into windows, and can get it when right clicking on file.
First you will need to create a Package or two for your Repo:
To start out, you will need to create a folder to contain your files. Name this whatever you want your package to be called, but avoid special characters other + or - and do not include spaces (this is NOT the name that will show up in Cydia, just the name of the Debian file Cydia will look for). For my example i will be packaging a theme i made and released on Macciti's repo called Darque Skulls. I will add others to the repo to show how it is done.
So i create a folder and calle it DarqueSkulls (no spaces, and the D and S are capitalized, it is probably a good idea to use only lower case letters for this part however, spaces and caps can sometimes cause errors when packaging the file).
First lets create our control file, this contains the information needed for Cydia to find and install the package correctly
Create a new folder in your empty Main folder. Name this folder DEBIAN in all caps.
Inside the DEBIAN folder create a new text document (using notepad). Name this control. You can leave the extension on for now, to open and work on it, but you will have to save it without the .txt extension when finished. You can also create it, and remove the .txt and then open it with Word to add/edit the fields below. Either way is fine. As long as the finished product says control and not control.txt.
Open it and enter the following info can copy/paste:
Here is the break down of those fields (and a couple extra you may wish to use)Package:
Name:
Version: 1.0
Architecture: iphoneos-arm
Description:
Depiction:
Homepage:
Maintainer:
Author:
Section:
Depends:
Conflicts:
The Package filed must be in all lowercase letters.
You do not need all of these files in your control file. Most are optional.
The fields in Red Need to be, or at least Should be included in most basic packages. Optionally you can use the Depiction field in Green. It loads a web image in an iframe displayed on the device. It generally takes the place of the Description/Maintainer/Homepage/and Author fields, as they will be displayed on the webpage's php, as well as any other info or adds built into it.
note: on the last line in ALL documents created in this tutorial you will need to hit the Enter key. The cursor must be on the blank line below the last entry in your file! this is important. And i also suggest hitting the down arrow key a few times, and if the cursor moves down (leaving two or more empty spaces) backspace it until it is directly below your last line, in the first spot. It can create errors when packaging your .deb file otherwise
Here is an example (using the depiction from Macciti's repo for my DarqueSkulls package as an example, i do not have any depictions in my personal deb file so it shows the normal description).
When you are finished you will save your control file without an extension. It will look like this:
Next we need to add the actual content of your package to the folder.
Back out of the DEBIAN folder, to your main folder (DarkSkulls in my example). Now you need to create a folder tree that has the exact same file path as the Theme/Application/file would have inside the iDevice (from root)
For example if you were creating an Application you would make an Application folder and put your App in it (since the path for Applications from root is /Applications).
For a theme it would be Library>>Themes.
So for my example I will create a Folder called Library, and inside it I will make another Folder and call it Themes
I will place my theme inside the Themes folder:
Now it is Time to create the Debian file itself (the Cydia Package).
Open WinSCP and connect to your iDevice. It should open to the /private/var/root/ directory. Drag your entire folder containing your app/theme to the iDevice. Once it has transfered over click on the little black box in the top bar of WinSCP or press Ctrl+T on your keyboard to open its Terminal (you can also do this on your device using Mobile Terminal)
Once it is open type this command into it:
dpkg -b XXXX where XXXX is your pagkage name. For my theme it would look like this:
You will get one or more warnings, depending on which fileds you used in your package control file. Those are normal and perfectly fine. As long as you do not get any Errors it worked.
You now have your .deb file and can drag it back to your PC.
Createing the Repo
Now the fun part. Packaging your deb files(s) for your own repo. You will need to have your own (or access to) web host for this.
Create a new folder, generally called cydia or repo (i used repo). This will be the folder that contains your (is) your Cydia Repository. It will appear exactly as it needs to be typed into Cydia to appear. Including Capitalization. (which is why i use repo with no caps, easy to type and remember). It does not have to be named either of these. It is up to you.
Inside that folder (called repo for this tutorial) you will create another document without an extension. It needs to be called Release (no extension, NOT Release.txt).
Inside it you will need the following info (basic info about your repository):
Do not alter the Suite:/Codename:/Architectures:/ or Components: fields at all. They are as they need to be.Origin: Official Title of your Repo
Label: Same as Orgin
Suite: stable
Version: 1.0
Codename: stable
Architectures: iphoneos-arm
Components: main
Description: Description of your repo
Next you will ceate another plain text document called Packages (no extension).
In it, will be basically the same ifnormation as your control file. You can copy and paste it to this, but you will need the following 3 fields added to the end of it:
Filename: ./debs/yourpackagename.deb
Size:
MD5sum:
For Filename, it will need to be Filename: (space)./debs/XXXX.deb where XXXX is your deb filename exactly as it appears.
Size is the size you get when you right click on the deb file and go to properties:
Enter it from the Size in () in bytes, as shown:
For the MD5sum filed, you will need some form of hash sum program to generate this. I use hascheck since it automatically generates the sum when you rightclick and get properties for the deb file, adds a different tab for it, but get Size and MD5sum at one time:
If you are adding more than one package to your repo you will simply add another entry below your first, leaving a space in between (copy the controlfile from the next deb, add your Filename, Size and MD5sum fields, then leave another space) and so on for each one.
When your Packages file is finished, with all your entries you need to open 7zip and use the following settings to create a Bzip2 or GZip file out of it (both work ( have switched to using GZip lately):
Next you will need to add a folder called debs. You will drop all your .deb files into this folder.
Once that is done you simply need to upload your entire repo folder into the root directory of your website (the www folder)
For example, my repo folder is called repo (for simplicity) and im hosting it at www.jailbreakcentral.com so my repo i would enter into cydia would be http://jailbreakcentral.com/repo/ that is all there is to it. It should show up in cydia just fine (just checked, and mine does - although i currently pulled it down because of conflicts with some packages not being useable on 4.0 - my repo was for personal use, I made it and placed a few packages in it that were blank apps (no files other than control file) and it was only for dependancies. It would auto install several apps at once, such as Winterboard, Rock, Five icon doeck, FCSB, etc. saving me TONS of time when jailbreaking and setting up phones, i do several a week some weeks).
Here it is on my phone after im done:
![]()
On a side note, we lost the Jailbreak Central domian. Now my repo is http://repo.ig33kstas.com















Reply With Quote

