SBo tool for creating SlackBuilds.
Project description
About
sbo-create is a command-line tool for creating and maintaining SlackBuilds.org packages.
It covers the entire package lifecycle: generating files from official SBo templates, downloading and verifying sources, validating against SBo submission guidelines, bumping versions, and packaging for submission — all from a single tool.
Homepage
Visit the project website here.
Source
- GitLab repository.
- SlackBuilds.org repository.
- PyPI repository.
Features
- File-based SlackBuild templates auto-updated from slackbuilds.org.
- Creates all package files inside a
<prgnam>/subdirectory, matching the SBo layout. Supports interactive mode,sbc create myapp(positional), and full flag-based non-interactive mode. - Create submission tarball (
<prgnam>.tar.gz) with automatic validation. - Validation of
.infofields and md5sums against SBo submission guidelines. - Automatic verification of dependencies in
REQUIRESagainst SBo repository. - Local caching of SBo package list for instantaneous and offline validation.
- Checks whether a package already exists in the SBo repository.
- Fetches and extracts a SlackBuild package from the SBo repository, or copies
it directly from a local clone when
SBO_REPO_PATHis configured. Supports browsing package files and reading individual files without a full download. - Shows a unified diff between local package files and the SBo repository.
- Resolves recursive dependencies (
deps) and reverse dependencies (rdeps) using the local package index or a local SBo clone. - Searches for packages by partial name match.
- Downloads source files listed in the
.infofile, with optional URL accessibility check via HTTP HEAD requests. - Bumps version in
.infoand.SlackBuild, with optional automatic update ofDOWNLOADURLs, source download, and MD5SUM recomputation. - Preview files that would be created without writing anything to disk.
- Auto-correction of quotation marks in
.infofile fields. - Auto-imports text from
slack-descinto theREADMEfile. - Interactive CLI prompt to create or update maintainer configuration,
with current values shown as defaults. Type
!to clear a field. - Auto-imports maintainer data into the
.SlackBuildscript. - Auto-imports and verifies MD5 checksums in the
.infofile. - ARM64 architecture support.
- Opens all package files in the configured editor with a single command.
- Renames package files and updates all
PRGNAMreferences andslack-desccontent in one step, with word-boundary matching. - Interactive
createmode with arrow-key template selection when no flags given. - Strip comment lines and inline comments from
.SlackBuild. - Strict pre-submission checks: HTTPS URLs, HOMEPAGE accessibility, executable bit, exact slack-desc line count, and MAINTAINER/EMAIL match.
- Syncs the local SBo git repository after a weekly public update: pulls the main branch, deletes the old working branch, and creates a fresh one.
- Submits a package update via git (commit and push) or opens the SBo web submission page if no git repository is configured. Warns if the working branch is behind the main branch and auto-detects first-push upstream setup.
- Queries repology.org for package version status by
maintainer e-mail. Filters by
--newest,--outdated,--problematic, or shows all statuses when no filter is given. - ANSI-coloured CLI output and colored help (suppressed when output is piped).
Usage
usage: sbo-create COMMAND [OPTIONS]
sbc COMMAND [OPTIONS]
Note: sbc is available as a shorter alias for sbo-create.
Available commands: create, download, check, search, clean, info,
list, validate, bump, package, edit, rename, fetch, deps,
rdeps, diff, sync, submit, update, maintainer, repology.
Create all SlackBuild files interactively (arrow-key template selection):
sbo-create create
Create all SlackBuild files non-interactively for a Python package:
sbo-create create -n prgnam -r 1.0.0 -t python
Open package files in the configured editor:
sbo-create edit
Rename package files (updates PRGNAM, SlackBuild header, and slack-desc):
sbo-create rename newname
Create submission tarball (prompts for strict validation before packaging):
sbo-create package
Update templates from slackbuilds.org:
sbo-create update
Search for packages by partial name:
sbo-create search python3-b
Remove downloaded source tarballs:
sbo-create clean
Check if a package exists in the SBo repository:
sbo-create check python3-build
Check multiple packages at once:
sbo-create check vim slpkg colored
Check URL accessibility without downloading:
sbo-create download --check-urls
Validate the .info file:
sbo-create validate
Show detailed warnings for missing or untracked source tarballs during validation:
sbo-create validate --md5
Auto-fix common issues across all package files (trailing whitespace, quotes, PRGNAM, VERSION sync, copyright year, final newline, and MD5SUM recomputation from local sources when a mismatch is detected):
sbo-create validate --fix
Auto-fix all issues including strict ones (HOMEPAGE http→https, executable bit, source tarballs, MAINTAINER/EMAIL):
sbo-create validate --strict --fix
Bump version and recompute checksums:
sbo-create bump 2.0.0 --with-sources
Run strict pre-submission validation:
sbo-create validate --strict
List available templates:
sbo-create list
Show dependency tree for a package:
sbo-create deps neovim-qt
sbo-create deps neovim-qt --tree
Show which packages depend on a given package:
sbo-create rdeps python3-tomlkit
Sync the SBo repository after a weekly public update:
sbo-create sync
Fetch and extract a SlackBuild package from SBo (or local clone):
sbo-create fetch slpkg
Submit a package update via git (commit and push):
sbo-create submit
Check package versions via repology.org (all statuses):
sbo-create repology
Show only outdated packages for a specific maintainer e-mail:
sbo-create repology --outdated -m user@example.com
Documentation
Full documentation is available at dslackw.gitlab.io/sbo-create.
License
GNU General Public License v3 (GPLv3)
Donate
Did you know that developers love coffee?
Contributing
Contributions are welcome! Please open an issue or merge request on GitLab.
Copyrights
Slackware® is a Registered Trademark of Patrick Volkerding. Linux is a Registered Trademark of Linus Torvalds.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sbo_create-2.1.0.tar.gz.
File metadata
- Download URL: sbo_create-2.1.0.tar.gz
- Upload date:
- Size: 67.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.33.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc0cfa35ce08cb7da78445c148254b986318e4f9675526aa550cf14c47a7c807
|
|
| MD5 |
6490c45e9cece89d524bf05b4b023b34
|
|
| BLAKE2b-256 |
eb497beee8feb25fa4af7ec4bcb5332388245dc53202e543e3e27f5f192ff40f
|
File details
Details for the file sbo_create-2.1.0-py3-none-any.whl.
File metadata
- Download URL: sbo_create-2.1.0-py3-none-any.whl
- Upload date:
- Size: 76.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.33.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
008307ad6e83034e906e8a64a641e041510d8fe8cf744f7905848112823b219e
|
|
| MD5 |
53c7d550958fdd1a9d124db90f536e99
|
|
| BLAKE2b-256 |
1cc8898a8f3ff5119d23cd333c2aa86fbd58582aaa45eca84101f524a7d0285e
|