CLI for building, re-signing, and installing Tizen web packages through Dockerized Tizen Studio.
- Builds
.wgtpackages from Tizen web app directories - Re-signs existing
.wgtpackages with a configured signing profile - Installs
.wgtpackages on a TV oversdb - Builds and reuses a local Docker image with Tizen Studio and required packages
- Loads settings from CLI arguments, environment variables, and
.env - Caches Tizen Studio installers by version
- Python 3.10+
- Docker with Linux image support
uv- Bun for repository tooling
- Tizen signing profile directory with
profiles.xml - Tizen Studio version 3.7 or newer configured through
TIZEN_VERSION
Local development uses Python 3.14 from .python-version.
Install as a uv tool:
uv tool install git+https://github.com/hu553in/tizen-tool.gitOr run without installing:
uvx --from git+https://github.com/hu553in/tizen-tool.git tizen-tool --helpThe tool reads .env from the current working directory. Precedence:
- CLI arguments
- Environment variables
.env
| Name | Required | Description |
|---|---|---|
TIZEN_VERSION |
Yes | Tizen Studio version used to resolve the installer |
REQUIRED_PACKAGES |
Yes | JSON array of Tizen package IDs |
CACHE_DIR |
No | Cache directory, default ~/.tizen-tool |
PROFILES_DIR |
Build or resign | Directory containing profiles.xml |
PROFILE |
Build or resign | Signing profile name |
TV_IP |
Install | TV host, host:port, IPv4, or [IPv6]:port |
BUILD_SRC_DIR or SRC_DIR |
Build fallback | Source directory when not passed on the CLI |
BUILDIGNORE_FILE or BUILD_IGNORE_FILE |
Build fallback | Optional gitignore-style build exclude file |
INSTALL_PACKAGE_FILE or PACKAGE_FILE |
Install fallback | .wgt package path when not passed on the CLI |
RESIGN_PACKAGE_FILE or PACKAGE_FILE |
Resign fallback | .wgt package path when not passed on the CLI |
BUILD_REBUILD, INSTALL_REBUILD, RESIGN_REBUILD, or REBUILD |
No | Force Docker image rebuild for the command |
See .env.example for a common example.
tizen-tool build /path/to/app
tizen-tool resign /path/to/app.wgt
tizen-tool install /path/to/app.wgt
tizen-tool get-lan-ipsUseful options:
tizen-tool build /path/to/app --required-package TV-Samsung_Public_6.0
tizen-tool build /path/to/app --rebuild
tizen-tool install /path/to/app.wgt --tv-ip 192.168.1.100Run from a checkout:
uv run tizen-tool --helpbuildcopies the app to a temp directory, runstizen build-web, and writes.wgttodist/inside the source directoryresignwrites the new package toresigned/next to the source packageinstallmounts the package directory read-only and installs by package name oversdb- Installers are cached under
<CACHE_DIR>/installers/ - Temporary files are stored under
<CACHE_DIR>/tmp/ - Docker images are reused while their identifying labels match the requested configuration
make install-deps
uv run prek install
make check
make check-fix
make buildFocused checks:
make lint
make lint-fix
make check-types
make check-deps
make check-vulns
make check-unused
make check-security
make check-build