### List Application Files Source: https://www.saurik.com/id/7 After installation, use 'ls -la' to verify the application files are present in the /Applications directory. ```bash ls -la /Applications/MyProgram.app ``` -------------------------------- ### Update and Install Packages via apt-get Source: https://www.saurik.com/id/7 Use these commands to refresh the package database and install a specific package from the newly added repository. ```bash iPhone:~ root# apt-get update Ign http://apt.saurik.com ./ Release.gpg Ign http://apt.saurik.com ./ Release Ign http://apt.saurik.com ./ Packages/DiffIndex Ign http://apt.saurik.com ./ Packages Get:1 http://apt.saurik.com ./ Packages [349B] Fetched 33.5kB in 3s (8482B/s) Reading package lists... Done iPhone:~ root# apt-get install com.saurik.myprogram Reading package lists... Done Building dependency tree... Done The following NEW packages will be installed: com.saurik.myprogram 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 904B of archives. After unpacking 0B of additional disk space will be used. WARNING: The following packages cannot be authenticated! com.saurik.myprogram Install these packages without verification [y/N]? y Get:1 http://apt.saurik.com ./ com.saurik.myprogram 1.0.4-1 [904B] Fetched 904B in 0s (2515B/s) Selecting previously deselected package com.saurik.myprogram. (Reading database ... 17090 files and directories currently installed.) Unpacking com.saurik.myprogram (from .../com.saurik.myprogram_1.0.4-1_darwin-arm.deb) ... Setting up com.saurik.myprogram (1.0.4-1) ... iPhone:~ root# ``` -------------------------------- ### Install a .deb Package Source: https://www.saurik.com/id/7 Use 'dpkg -i' to install a .deb package directly from the file on the phone. The package can then be managed by Cydia or apt-get. ```bash dpkg -i MyProgram.deb ``` -------------------------------- ### List Repository Files Source: https://www.saurik.com/id/7 Verify the presence of the .deb package and the compressed Packages index file in the repository directory. ```bash ls -la * ``` -------------------------------- ### Add Repository to sources.list Source: https://www.saurik.com/id/7 Append this line to /etc/apt/sources.list to register the repository base URL and sub-branch offset. ```text deb http://apt.saurik.com/xmpl/ ./ ``` -------------------------------- ### Verify Release.gpg File Creation Source: https://www.saurik.com/id/7 Lists the created Release.gpg file to confirm its existence and size after the signing process. ```bash [root@desktop:/web/apt/xmpl]# ls -la Release.gpg -rw-r--r-- 1 root root 189 2008-08-05 11:52 Release.gpg ``` -------------------------------- ### Create Package Index Source: https://www.saurik.com/id/7 Use 'dpkg-scanpackages' to generate a Packages index file for a directory containing .deb files. The '-m' flag includes all files, and '/dev/null' is used as an override file. ```bash dpkg-scanpackages -m . /dev/null >Packages ``` -------------------------------- ### Build Debian Package with dpkg-deb Source: https://www.saurik.com/id/7 Use the dpkg-deb command to build a .deb package from a program's folder. User-defined field warnings from Cydia extensions can typically be ignored if they appear correct. ```bash [root@desktop:~/cydia]# dpkg-deb -b MyProgram warning, `MyProgram/DEBIAN/control' contains user-defined field `Name' warning, `MyProgram/DEBIAN/control' contains user-defined field `Homepage' warning, `MyProgram/DEBIAN/control' contains user-defined field `Author' dpkg-deb: building package `com.saurik.myprogram' in `MyProgram.deb'. ``` -------------------------------- ### Verify Built Debian Package Source: https://www.saurik.com/id/7 After building a .deb package, use ls -la to verify its creation and check its size and permissions. ```bash [root@desktop:~/cydia]# ls -la MyProgram.deb -rw-r--r-- 1 root root 906 2008-07-01 07:48 MyProgram.deb ``` -------------------------------- ### Add Public GPG Key to Client Source: https://www.saurik.com/id/7 Command to add the repository's public GPG key (saurik.pub) to the client's trusted keys using the apt-key utility. This allows the client to verify the repository's signature. ```bash iPhone:~ root# apt-key add saurik.pub OK ``` -------------------------------- ### Compress Packages File Source: https://www.saurik.com/id/7 Compress the generated Packages index file using 'bzip2' to reduce its size for distribution. ```bash bzip2 Packages ``` -------------------------------- ### Repository Release Metadata Format Source: https://www.saurik.com/id/7 Defines the structure and fields for the Release file, which contains metadata about the repository. This file is optional and can be synthesized by Cydia if omitted. ```text Origin: Saurik's Example for Cydia Label: Cydia Example Suite: stable Version: 0.9 Codename: tangelo Architectures: iphoneos-arm Components: main Description: An Example Repository from HowTo Instructions ``` -------------------------------- ### MD5Sum Field in Release File Source: https://www.saurik.com/id/7 Illustrates the format for the MD5Sum field within the Release file, used to store checksums, sizes, and names of repository files. Both uncompressed and compressed versions of files should be listed. ```text MD5Sum: 07a4ca0b91734e0489874dc44bd55222 464 Packages 43e92f4ec43f4c39d8f4268c7418f353 380 Packages.bz2 ``` -------------------------------- ### Remove a Package Source: https://www.saurik.com/id/7 Use 'apt-get remove' to uninstall a package. This command will list the package to be removed and prompt for confirmation. ```bash apt-get remove com.saurik.myprogram ``` -------------------------------- ### Generate GPG Signature for Release File Source: https://www.saurik.com/id/7 Command to generate a detached GPG signature (Release.gpg) for the Release file using GnuPG. This process requires a passphrase for the private key. ```bash [root@desktop:/web/apt/xmpl]# gpg -abs -o Release.gpg Release You need a passphrase to unlock the secret key for user: "Jay Freeman (saurik) " 1024-bit DSA key, ID AA31C175, created 2008-01-01 Enter passphrase: ``` -------------------------------- ### Disable macOS Resource Fork Files Source: https://www.saurik.com/id/7 Export these environment variables before building a Debian package on a Macintosh to prevent the creation of extra ._* files that can conflict with other packages. ```bash export COPYFILE_DISABLE export COPY_EXTENDED_ATTRIBUTES_DISABLE ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.