Automatic generation of USM file structures from source archives
|
|
il y a 1 mois | |
|---|---|---|
| src | il y a 1 mois | |
| .gitignore | il y a 1 mois | |
| README.md | il y a 1 mois | |
| USM-SPEC.md | il y a 1 mois | |
| debug_autoprovides.py | il y a 1 mois | |
| example_usage.py | il y a 1 mois | |
| pyproject.toml | il y a 1 mois | |
| test_autoprovides_fix.py | il y a 1 mois | |
| test_autusm.py | il y a 1 mois | |
| test_extraction_consistency.py | il y a 1 mois | |
| test_fix.py | il y a 1 mois |
Autusm is a command-line utility that automatically generates USM (Universal Source Manifest) files from source packages. It analyzes source code, detects build systems, extracts metadata, and creates USM-compatible scripts for acquiring, building, and installing packages.
pip install autusm
git clone https://github.com/autusm/autusm.git
cd autusm
pip install -e .
autusm https://example.com/source.tar.gz
autusm https://example.com/source.tar.gz \
--output-dir ./my-package \
--name my-package \
--version 1.0.0 \
--summary "My awesome package" \
--verbose
URL: URL to source archive (required)-o, --output-dir: Output directory for generated files (default: current directory)-w, --work-dir: Working directory for temporary files-n, --name: Override package name-v, --version: Override package version-s, --summary: Override package summary--non-interactive: Run in non-interactive mode--verbose: Enable verbose output--quiet: Suppress non-error output--skip-usm-check: Skip USM availability checkAutusm generates the following files in the output directory:
MANIFEST.usm: USM manifest file in JSON formatscripts/acquire: Script to acquire source codescripts/build: Script to build the packagescripts/install: Script to install the packageautusm https://github.com/python/cpython/archive/refs/tags/v3.11.0.tar.gz
autusm https://github.com/Kitware/CMake/archive/v3.25.1.tar.gz
autusm https://example.com/source.tar.gz \
--name my-package \
--version 1.0.0 \
--summary "My package summary" \
--non-interactive
If USM is installed on your system, autusm will automatically:
usm manifest autoprovides to detect provided resourcesContributions are welcome! Please see the Contributing Guidelines for details.
Autusm is released under the MIT License. See the LICENSE file for details.