Cydia/Sileo repository creation made ez. Inspired by repoman.
NOTE: This project is still WIP and in alpha stage.
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.
- 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
andSileoDepiction
keys toPackages
file for you
- 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!
- 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.
- 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.
If you want to use mothman as a Python module, the reference docs are here.
python
- At least version 3.6.python-dpkg
- Debian package interface (already vendorised)arpy
- Accessar
archives
python(3) -m pip install mothman
All my python projects now use flit to build and publish.
To build, do flit build
.
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.