-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rewrite tooling scripts in Python #211
Labels
tooling
Set of scripts and configuration files for building the packages
Comments
matteodelabre
added
the
tooling
Set of scripts and configuration files for building the packages
label
Jan 10, 2021
In the interest of not blocking other tasks that depend on this, I’m planning on splitting this in three PRs:
|
matteodelabre
added a commit
that referenced
this issue
Jan 14, 2021
(See #211.) * Replace `scripts/repo-build` (Bash script) with `scripts/repo_build.py` * Replace `scripts/package-build` (Bash script) with `scripts/package_build.py` * Create `toltec` Python support library (in `scripts/toltec`) * Remove superseded `opkg` Python library (in `scripts/opkg`) * Add Python linting and formatting checks * Update Makefile to work with the new scripts * Update workflow files to work with the new scripts * Update koreader to not use the `$recipedir` variable (not documented, should not be used)
matteodelabre
added a commit
that referenced
this issue
Jan 15, 2021
(See #211.) * Replace `scripts/repo-build` (Bash script) with `scripts/repo_build.py` * Replace `scripts/package-build` (Bash script) with `scripts/package_build.py` * Create `toltec` Python support library (in `scripts/toltec`) * Remove superseded `opkg` Python library (in `scripts/opkg`) * Add Python linting and formatting checks * Update Makefile to work with the new scripts * Update workflow files to work with the new scripts * Update koreader to not use the `$recipedir` variable (not documented, should not be used)
matteodelabre
added a commit
that referenced
this issue
Jan 15, 2021
(See #211.) * Replace `scripts/repo-build` (Bash script) with `scripts/repo_build.py` * Replace `scripts/package-build` (Bash script) with `scripts/package_build.py` * Create `toltec` Python support library (in `scripts/toltec`) * Remove superseded `opkg` Python library (in `scripts/opkg`) * Add Python linting and formatting checks * Update Makefile to work with the new scripts * Update workflow files to work with the new scripts * Update koreader to not use the `$recipedir` variable (not documented, should not be used)
matteodelabre
added a commit
that referenced
this issue
Jan 15, 2021
(See #211.) * Replace `scripts/repo-build` (Bash script) with `scripts/repo_build.py` * Replace `scripts/package-build` (Bash script) with `scripts/package_build.py` * Create `toltec` Python support library (in `scripts/toltec`) * Remove superseded `opkg` Python library (in `scripts/opkg`) * Add Python linting and formatting checks * Update Makefile to work with the new scripts * Update workflow files to work with the new scripts * Update koreader to not use the `$recipedir` variable (not documented, should not be used)
matteodelabre
added a commit
that referenced
this issue
Jan 15, 2021
(See #211.) * Replace `scripts/repo-build` (Bash script) with `scripts/repo_build.py` * Replace `scripts/package-build` (Bash script) with `scripts/package_build.py` * Create `toltec` Python support library (in `scripts/toltec`) * Remove superseded `opkg` Python library (in `scripts/opkg`) * Add Python linting and formatting checks * Update Makefile to work with the new scripts * Update workflow files to work with the new scripts * Update koreader to not use the `$recipedir` variable (not documented, should not be used)
matteodelabre
added a commit
that referenced
this issue
Jan 15, 2021
(See #211.) * Replace `scripts/repo-build` (Bash script) with `scripts/repo_build.py` * Replace `scripts/package-build` (Bash script) with `scripts/package_build.py` * Create `toltec` Python support library (in `scripts/toltec`) * Remove superseded `opkg` Python library (in `scripts/opkg`) * Add Python linting and formatting checks * Update Makefile to work with the new scripts * Update workflow files to work with the new scripts * Update koreader to not use the `$recipedir` variable (not documented, should not be used)
matteodelabre
added a commit
that referenced
this issue
Jan 15, 2021
(See #211.) * Replace `scripts/repo-build` (Bash script) with `scripts/repo_build.py` * Replace `scripts/package-build` (Bash script) with `scripts/package_build.py` * Create `toltec` Python support library (in `scripts/toltec`) * Remove superseded `opkg` Python library (in `scripts/opkg`) * Add Python linting and formatting checks * Update Makefile to work with the new scripts * Update workflow files to work with the new scripts * Update koreader to not use the `$recipedir` variable (not documented, should not be used)
matteodelabre
added a commit
that referenced
this issue
Jan 15, 2021
(See #211.) * Replace `scripts/repo-build` (Bash script) with `scripts/repo_build.py` * Replace `scripts/package-build` (Bash script) with `scripts/package_build.py` * Create `toltec` Python support library (in `scripts/toltec`) * Remove superseded `opkg` Python library (in `scripts/opkg`) * Add Python linting and formatting checks * Update Makefile to work with the new scripts * Update workflow files to work with the new scripts * Update koreader to not use the `$recipedir` variable (not documented, should not be used)
matteodelabre
added a commit
that referenced
this issue
Jan 15, 2021
(See #211.) * Replace `scripts/repo-build` (Bash script) with `scripts/repo_build.py` * Replace `scripts/package-build` (Bash script) with `scripts/package_build.py` * Create `toltec` Python support library (in `scripts/toltec`) * Remove superseded `opkg` Python library (in `scripts/opkg`) * Add Python linting and formatting checks * Update Makefile to work with the new scripts * Update workflow files to work with the new scripts * Update koreader to not use the `$recipedir` variable (not documented, should not be used)
matteodelabre
added a commit
that referenced
this issue
Jan 20, 2021
(See #211.) * Rewrite to Python 3.8 - Create `toltec` Python support library (in `scripts/toltec`) - Remove superseded `opkg` Python library (in `scripts/opkg`) - Add Python linting and formatting checks - Replace `scripts/repo-build` (Bash script) with `scripts/repo_build.py` - Replace `scripts/package-build` (Bash script) with `scripts/package_build.py` - Update Makefile and workflows to work with the new scripts * Package changes - Update koreader to not use the `$recipedir` variable (not documented, not supported by the new scripts, and should not be used anymore) * Documentation changes - Add info on how required Python version and modules - Document custom fields and functions support * New features - Improve support for custom fields and functions in recipes - Parameterize "https://toltec-dev.org" in workflows, using a REMOTE_HTTP secret. Rename REMOTE secret to REMOTE_SSH * Additional checks - Check that all custom declarations start with `_` to guard against typos on optional standard declarations - Check that timestamp fields contain a valid ISO-8601 value - Check that pkgver fields contain a valid version number
matteodelabre
added a commit
that referenced
this issue
Jan 22, 2021
(See #211.) * Rewrite to Python 3.8 - Create `toltec` Python support library (in `scripts/toltec`) - Remove superseded `opkg` Python library (in `scripts/opkg`) - Add Python linting and formatting checks - Replace `scripts/repo-build` (Bash script) with `scripts/repo_build.py` - Replace `scripts/package-build` (Bash script) with `scripts/package_build.py` - Update Makefile and workflows to work with the new scripts * Package changes - Update koreader to not use the `$recipedir` variable (not documented, not supported by the new scripts, and should not be used anymore) * Documentation changes - Add info on how required Python version and modules - Document custom fields and functions support * New features - Improve support for custom fields and functions in recipes - Parameterize "https://toltec-dev.org" in workflows, using a REMOTE_HTTP secret. Rename REMOTE secret to REMOTE_SSH * Additional checks - Check that all custom declarations start with `_` to guard against typos on optional standard declarations - Check that timestamp fields contain a valid ISO-8601 value - Check that pkgver fields contain a valid version number
matteodelabre
added a commit
that referenced
this issue
Jan 24, 2021
(See #211.) The new build scripts are backward-compatible with existing recipes. Apart from some minor improvements on generated maintainer scripts, there are no changes in the final .ipk files. * Rewrite to Python 3.8 - Create `toltec` Python support library (in `scripts/toltec`) - Remove superseded `opkg` Python library (in `scripts/opkg`) - Add Python linting and formatting checks - Replace `scripts/repo-build` (Bash script) with `scripts/repo_build.py` - Replace `scripts/package-build` (Bash script) with `scripts/package_build.py` - Update Makefile and workflows to work with the new scripts * Package changes - Update koreader to not use the `$recipedir` variable (not documented, not supported by the new scripts, and should not be used anymore) - Update zoneinfo-utils to fix use of an undefined variable * Documentation changes - Add info on how required Python version and modules - Document custom fields and functions support * New features and improvements - Improve support for custom fields and functions in recipes - Remove unnecessary generated install scripts, reduce size of generated scripts - Parameterize the <https://toltec-dev.org> value in workflows, using a `REMOTE_HTTP` secret. - Rename the `REMOTE` secret to `REMOTE_SSH` for clarity * Additional checks - Check that all custom declarations start with `_` to guard against typos on optional standard declarations - Check that timestamp fields contain a valid ISO-8601 value - Check that pkgver fields contain a valid version number - Run all Bash scripts with `set -euo pipefail` flags enabled
matteodelabre
added a commit
that referenced
this issue
Jan 28, 2021
This does not change the final HTML output, but only changes its generation script to use Python (as part of the Python rewrite effort from #211). * Use the lightweight Jinja templating engine * Add `Repo.make_listing()` method for generating the listing * Call `make_listing` as part of the `repo_build.py` script
matteodelabre
added a commit
that referenced
this issue
Jan 30, 2021
This does not change the final HTML output, but only changes its generation script to use Python (as part of the Python rewrite effort from #211). * Use the lightweight Jinja templating engine * Add `Repo.make_listing()` method for generating the listing * Call `make_listing` as part of the `repo_build.py` script
Closing this since almost everything has been rewritten to Python, except for the |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I’m currently rewriting the tooling scripts from Bash to Python.
Goals of the rewrite:
If you’d like to suggest a specific feature for the rewrite, feel free to comment below. I’d like to keep the rewrite as focused as possible so that we can quickly merge it and move to other more productive things.
The text was updated successfully, but these errors were encountered: