/cydia

This is a Cydia repository template

Primary LanguageJavaScriptMIT LicenseMIT

Archived

I started this project to provide a non-complex way for IOS Jailbreak tweak developers to host packages and depictions on their personal repositories. What started as a hobby has become one of the most popular Cydia repo templates - 272 forks and 173 stars as of this writing.

But life catches up and what was a hobby now has reached it's time to wind down.

Thank you for all the support.


Reposi3

A Cydia repository template. This template contains sample on how you can easily make depiction pages without replicating your html pages. The pages are styled using Bootstrap which is really easy to use. You can see how it looks like by visiting this sample repo on your desktop or mobile phone.

Most data for this repo is stored on XML files and are loaded on the depiction page dynamically. See the guide below on how to set it up. Note that this guide doesn't cover creating .deb files but will briefly cover assiging depictions.

How to use this template

1. Download

If you are not hosting your repo on Github Pages, you can download the zip file here and extract to a subfolder on your website.

There are 2 options for those using Github Pages.

A. If you want to use your root username.github.io as your repo, fork this repo and rename it to username.github.io. So when adding it in Cydia, use https://username.github.io.

B. If you want to use a subfolder for your existing username.github.io as your repo (example username.github.io/repo), fork this repo and rename it to repo. So when adding it in Cydia, use https://username.github.io/repo.

You can change repo to anything you want, like cydia for example. So your repo url would be https://username.github.io/cydia.

2. Personalize

Release File

Edit Release file. Modify the items pointed by <--

Origin: Reposi3  <--
Label: Reposi3   <--
Suite: stable
Version: 1.0
Codename: ios
Architectures: iphoneos-arm
Components: main
Description: Reposi3 - a cydia repo template  <--

Branding

Edit index.html

  • Change the page title in the <title>Reposi3</title> tag
  • See lines 20 and 21.
  • Change line 20 into your own brand and line 21 to have your own URL.
  • Line2 30-51 contains the list of featured packages. You can edit those or remove them totally.
  • Replace CydiaIcon.png.

Page Footers

This data are the links that appear at the bottom of every depication. The data is stored in repo.xml at the root folder of your repo.

<repo>
    <footerlinks>
        <link>
            <name>Follow me on Twitter</name>
            <url>https://twitter.com/reposi3</url>
            <iconclass>glyphicon glyphicon-user</iconclass>
        </link>
        <link>
            <name>I want this depiction template</name>
            <url>https://github.com/supermamon/Reposi3</url>
            <iconclass>glyphicon glyphicon-thumbs-up</iconclass>
        </link>
    </footerlinks>
</repo>

3. Your repo is almost ready.

At this point your commit your changes to github and your repo is basically ready to be added into Cydia. You can also visit your repo's homepage by going to https://username.github.io/repo/. It will come with 2 sample packages, Old Package and New Package. Each of the packages have a link on this page pointing to their depictions. Next guide will show you how to assign and customize your depiction pages.

Adding packages first package to your repo

1. Adding a simple depiction page

Go to the depictions folder and duplicate the folder com.supermamon.oldpackage. Rename the duplicate with the same name as your package name. There are 2 files inside the folder - info.xml and changelog.xml. Update the 2 files with information regading your package. The tags are pretty much self-explanatory. Contact @reposi3 for questions.

info.xml.

<package>
    <id>com.supermamon.oldpackage</id>
    <name>Old Package</name>
    <version>1.0.0-1</version>
    <compatibility>
        <firmware>
            <miniOS>5.0</miniOS>
            <maxiOS>7.0</maxiOS>
            <otherVersions>unsupported</otherVersions>
            <!--
            for otherVersions, you can put either unsupported or unconfirmed
            -->
        </firmware>
    </compatibility>
    <dependencies></dependencies>
    <descriptionlist>
        <description>This is an old package. Requires iOS 7 and below..</description>
    </descriptionlist>
    <screenshots></screenshots>
    <changelog>
        <change>Initial release</change>
    </changelog>
    <links></links>
</package>

changelog.xml.

<changelog>
    <changes>
        <version>1.0.0-1</version>
        <change>Initial release</change>
    </changes>
</changelog>

2. Link the depiction page your tweak's control file

For the depictions to appear on Cydia, you will need to add the depictions url at the end of your package's control file before compiling it. The control file should look like this:

Package: com.supermamon.oldpackage
Name: Old Package
Section: Tweaks
Depends: firmware (<7.0)
Description: This is a sample old package. Firmware should be lower than 7.0
Depiction: https://username.github.io/repo/depictions/?p=[idhere]

Replace [idhere] with your actual package name.

Depiction: https://username.github.io/repo/depictions/?p=com.supermamon.oldpackage

3. Rebuilding the Packages file

With your updated control file, build your tweak. Store the resulting .deb. file into the /debs/ folder of your repo. Build your Packages file and compress with bzip2.

user:~/ $ cd repo
user:~/repo $ dpkg-scanpackages -m ./debs > Packages
user:~/repo $ bzip2 Packages

Windows users, see dpkg-scanpackages-py or scanpkg.

5. Cydia at last!

Push your changes again to Github and if you haven't done yet, go ahead and add your repo to Cydia. You should now be able to install your tweak into your own repo.

Cleanup

Just a cleanup step, remove the debs that came with this template and re-run the commands on step 3. You can keep the sample depictions for reference by they're not needed for your repo.