Skip to main content

Cydia/Sileo repo configurator/generator

Project description

mothman (formerly cidercellar)

logo

Code style: black PyPI - Downloads PyPI - License PyPI PyPI - Python Version Lines of code

logo here

Cydia/Sileo repository creation made ez. Inspired by repoman.

NOTE: This project is still WIP and in alpha stage.

Rationale

repo.me and Reposi3 are awesome Cydia repo templates, simplifying the creation of Cydia repos. But it becomes tedious to manually create descriptions for every single package (which is actually done twice, for both Cydia and Sileo).

This project aims to automate the process of generating descriptions for all packages in a repo, as well as creating the Packages and Release file (without apt, especially on Windows).

Hey, what about Silica?

The main advantage of mothman is that it is entirely pure-Python. Silica shells out to dpkg-deb (Debian-based systems, WSL). So you can use mothman on both WSL and native Windows.

Features

  • Pure-Python dependencies, portable (no more wrangling with libapt.so on non-Debian platforms)
  • Automate repository management, including adding Debian packages and generating depictions for them (certain fields can be customised)
  • Adds Depiction and SileoDepiction keys to Packages file for you

CLI Usage

  1. Create a new repo from an existing template:
$ mothman init -p example && cd example
# ...some log messages here...
INFO     :: Done! Place your Debian package files in the example/debians folder,
            customise the template if needed, and execute 'mothman build <host domain>' to build.

This will create a mothman.json config file in the root of the repository folder. The config file is really, really important because it tells mothman about the template it's using. Don't delete it!

  1. Add your Debian packages/tweaks to the aforementioned folder (in this case example/debians).

Optionally, you can change the template design around a bit and customize it to your liking.

  1. Build the repo:
$ mothman build my-domain.com

where my-domain.com is the website where you are hosting your repo. Make sure it is just the domain without http(s):// in front.

If you are going to host the repo in a subdirectory (i.e .github.io isn't just for your Cydia repo), then just append the path:

$ mothman build <username>.github.io/example  # assuming that you move the 'example' Cydia repo into the Github Pages repository.

Push the changes to your repo or your server. If you add/update any packages, just repeat step 3.

API Usage

If you want to use mothman as a Python module, the reference docs are here.

Depends

  • python - At least version 3.6.
  • python-dpkg - Debian package interface (already vendorised)
  • arpy - Access ar archives

Install

python(3) -m pip install mothman

Build

All my python projects now use flit to build and publish. To build, do flit build.

License

Apache License v2.

Copyright 2020-2021 Ong Yong Xin

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mothman-0.1.0.tar.gz (34.8 kB view details)

Uploaded Source

Built Distribution

mothman-0.1.0-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file mothman-0.1.0.tar.gz.

File metadata

  • Download URL: mothman-0.1.0.tar.gz
  • Upload date:
  • Size: 34.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.25.1

File hashes

Hashes for mothman-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e2de2fd8520130c293b65e3d9e44139ed10b9adf63940cf135b3f25c9f07eb53
MD5 3bedc9407d757f2459064b3e7555d87c
BLAKE2b-256 9f439f41e7395651f5341bedd9894c20d7d36e4fb265d974e9de25c9c7df13b5

See more details on using hashes here.

File details

Details for the file mothman-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mothman-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.25.1

File hashes

Hashes for mothman-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be227e205a0e224b2d90cefd5f9d09afd5c9705b1a402cace4da8e89bae1ecf5
MD5 48f9ef8dcee8a1940d785810e5065aaa
BLAKE2b-256 4ab3b7c784b84c59f93b81cbfe32f7201c48abe6a112eb74db3eba1df1f2a5e7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page